Craig Collins - AGILE - a Software Devel

Download as
 PPT
Presentation Description 

No description available

Views: 106
Like it  ( Likes) Dislike it  ( Dislikes)
Added: December 16, 2008 This Presentation is Public 
Presentation Category : Education All Rights Reserved
Presentation Statistics
Views on authorSTREAM: 105 | Views from Embeds: 1
Others - 1 views
Presentation Transcript

AGILE :AGILE Presenter CRAIG COLLINS Project Director August 2008


AGILE :AGILE Thoughts on successful projects Happy customers expectations are met or exceeded System works and users are happy Project budget is not exceeded Beneficial use delivers value System is in place when required on time Can this be achieved?


AGILE :AGILE Formal methodologies and the success rate of software projects Everyone has a story of a failed software project or at least, a software project where the deadlines were exceeded and the customer was not happy


AGILE :AGILE Formalising what works The Agile Manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan While there is value in the items on the right, we value the items on the left more


AGILE :AGILE Agile Principles Highest priority is to satisfy the customer through early & continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people & developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The most efficient & effective way of conveying info within a dev team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done—is essential. The best architectures, requirements, and designs emerge from self organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.


AGILE :AGILE Agile Software Imperative Agile organizations concentrate on the rapid flow of value High Productivity 80% of the value of most systems is delivered by 20% of the features, and up to two-thirds of the features of most systems are rarely used. Rapid Response How fast does your organization routinely respond to a customer need? Are your competitors faster? Superior Quality The fundamental discipline of lean software development is testing. Lasting Value 80% of the code in any system is developed after first release to production.


AGILE :AGILE Lean Software development Eliminate Waste Extra Features, Unnecessary paperwork that no one reads (huge spec documents), Management Activities - sophisticated tracking and control systems and Authorization systems Amplify Learning or create knowledge Learning Cycles -iteration, quality and integrity, Prototype, Feedback, Show progress, Concurrent development A predictable organization does not guess about the future and call it a plan; it develops the capacity to rapidly respond to the future as it unfolds. Embody the current best known practice in standards that everyone follows, while actively encouraging everyone to challenge and change the standards Build Quality in Write executable specifications instead of requirements. Comment in code is excellent documentation (Mary and Tom Poppendieck – Lean software development -An agile toolkit


AGILE :AGILE Lean Software development Decide as Later as possible (defer commitment)? Abolish the idea that it is a good idea to start development with a complete specification. Use Concurrent Development Avoid repetition Schedule Irreversible Decisions at the Last Responsible Moment. Learn as much as possible before making irreversible decisions. Deliver as fast as possible Lists and queues are buffers between organizations that simply slow things down. Companies that compete on the basis of speed have a big cost advantage, deliver superior quality, and are more attuned to their customers' needs. Drive down cycle time with small batches and fewer things-in-process. Empower the team, Respect people and partners Engaged, thinking people provide the most sustainable competitive advantage. Teams Thrive on Pride, Commitment, Trust, and Applause. What makes a team? Members are mutually committed to achieve a common goal. Effective teams have effective leaders who bring out the best in the team.


AGILE :AGILE Agile approach to business issues The Warehouse Stock take Why do we do two counts and not show the staff what is on hand, even when we know the count won't balance. Why not find a way to make them want the stock to be accurate and let them find the items and solve the problems there and then Why count once a month -perpetual counts (iterations) every day work better Peer review and visibility of count progress and accuracy will create work ethic and pride At SBH cotton mills, the stock controller always took flak for inaccurate stock. He now does perpetual stock counts, has a 100% accurate warehouse of over 30000 uniquely identified rolls of material. He is really proud if this and it gives him satisfaction to keep it that way.


AGILE :AGILE Agile approach to business issues Sales processes The process of selling is filled with waste – Proposals, reviews, renegotiations, contracts, revised proposals, board approvals, more revised proposals, presentations followed by more presentations for higher level people, peoples ego's, paperwork, paperwork, paperwork Deliver the prices as fast as possible -don't write a proposal and waste time if the customer cannot afford the expense. Have you taken an order by SMS/text message yet?


AGILE :AGILE Agile approach to business issues Order fulfillment and invoicing – Typical process Order arrives on rep's desk, She writes out an order sheet It is given to order processing Order processing captures the sales order on the system. Someone places a purchase order request to buying. A buyer gets pricing (this has already been done at the proposal stage). The buyer writes or types the order, places the order on a supplier (who also goes through this process). Buyer captures purchase order on the system. Receiving gets a delivery and checks with buyer. Ticks off delivery note and sends to goods receiving data capture. They check pricing to quote and type in on the system. The goods are now in stock. We must be able to do this better!


AGILE :AGILE Agile approach to business issues Contracts (Specifically software) - Paper that no one reads is waste -it is only needed in the event of something going wrong. Rather put that effort into preventing something from going wrong. Trust relationships – trust the fairness, stability and predictability of the customers processes. Trust is defined as “One parties confidence that the other party will fulfill its promises and not exploit its vulnerabilities” [Dyer -collaborative advantage] **** Marbles ****


AGILE :AGILE The changing face of business Change is given Velocity is essential and expected Work Volume is increasing in relationship to company growth Expectations of companies press us to work after hours -how else can they continue to grow above inflation Internet has made everything quicker Information skimming is the new way of working Continuous growth is essential for survival Value for shareholders is driving this


Conclusion :Conclusion AGILE is a way to deal with and respond to the rapidly changing world AGILE is a LEAN software methodology AGILE works for software I believe that AGILE is the only way to keep up with the demands of the pace of business today