A Gentle Introduction To Agile


Published on

There are a lot of choices and alternatives for getting started with Agile. It can be confusing. This talk will give you a brief guided tour of Agile methodologies so that you have some understanding of how they are similar and how they differ. We'll cover some of the history of iterative development and waterfall as well as the Agile Manifesto to provide context. At the end of this, you will have an understanding of key principles and the Agile landscape.

Please email me if you would like a download.

Published in: Technology

A Gentle Introduction To Agile

  1. 1. A Gentle Introduction to Agile Michael Sahota October, 2009
  2. 2. Michael has been doing Agile for 8 years including senior leadership roles B.A.Sc. in Engineering Science M.Sc. in Computer Science Companies I have worked at … Universities I learned at …
  3. 3. Overview
  4. 4. What is software development? <ul><li>Art? </li></ul><ul><li>Science? </li></ul><ul><li>Engineering? </li></ul><ul><li>Poetry? </li></ul>
  5. 5. It’s a cooperative game of invention and communication Infinite Organization Survival Career Management Competitive Cooperative Finite w/ no fixed end King-of-the-hill wrestling Finite & goal-directed Tennis Software Development Poker Rock-Climbing <ul><li>Alistair Cockburn 2003-2005 </li></ul>Jazz music Product Management
  6. 6. Project work is in conflict with Product work <ul><li>Project is primary goal: deliver working, useful software </li></ul><ul><ul><li>Need to “invent” solution for needs based on technology </li></ul></ul><ul><ul><li>Transfer of ideas from domain experts to developers </li></ul></ul><ul><li>Product is secondary conflicting goal: set up for the next game </li></ul><ul><ul><li>What is your companies philosophy about long-term planning? </li></ul></ul><ul><li>Alistair Cockburn 2003-2005 </li></ul>
  7. 7. Incremental and Iterative Development (IID) is a precursor of Agile <ul><li>Use time-boxed iterations to reduce risk </li></ul><ul><li>Provided feedback early </li></ul><ul><li>In-tune with end users needs </li></ul><ul><li>Responsive, not predictive </li></ul>
  8. 8. IID is not new – it has a 50 year track record with big successes <ul><li>1950’s X-15 hypersonic jet, Project Mercury </li></ul><ul><li>1960’s - Weinberg teaching IID at IBM </li></ul><ul><li>1972 - TRW uses IID on $100M Army Site Defense software (1972) </li></ul><ul><li>1977-1980 NASA’s Shuttle Program </li></ul><ul><li>1985 - Barry Boehm’s Spiral Model </li></ul><ul><li>1993 - First SCRUM at Easel Corporation </li></ul><ul><li>1995 – Microsoft IID published </li></ul><ul><li>Larman, Craig and Basili, Vic. A History of Iterative and Incremental Development. IEEE Computer, June 2003 (in press) </li></ul>
  9. 9. Waterfall history is accidental and based on misunderstandings <ul><li>1970 - Royce publishes landmark paper as a conceptual non-working model </li></ul><ul><li>1985 - DoD-Std-2167 - Establishes Waterfall as mandatory process (by accident) </li></ul><ul><li>1994 - Mil-STD-498 - Permits both Waterfall and IID </li></ul><ul><li>1998 - Standish Group CHAOS Project Report: among the top reasons for project failures were aspects of the waterfall method: </li></ul><ul><ul><li>“ Research also indicates that smaller time frames, with delivery of software components early and often, will increase success rate.” </li></ul></ul><ul><li>2000 - DoD 5000.2 IID is identified as preferred approach </li></ul>
  10. 10. 2008 Agile adoption survey has striking, unambiguous results <ul><li>February 2008 </li></ul><ul><li>Message sent out to DDJ mailing list </li></ul><ul><li>Data, summary, and slides downloadable from www.ambysoft.com /surveys/ </li></ul><ul><li>642 respondents: </li></ul><ul><ul><li>54.8% were developers, 29.4% were in management </li></ul></ul><ul><ul><li>41.6% had 10-20 years IT experience, 37.2% had 20+ years </li></ul></ul><ul><ul><li>37.7% worked in orgs of 1000+ people </li></ul></ul><ul><ul><li>71% worked in North America, 17% in Europe, 4.5% in Asia </li></ul></ul>Copyright 2008 Scott W. Ambler www.ambysoft.com/surveys/
  11. 11. Impact of agile on productivity  88%  Copyright 2008 Scott W. Ambler www.ambysoft.com/surveys/
  12. 12. Impact of agile on quality of systems deployed  77%  Copyright 2008 Scott W. Ambler www.ambysoft.com/surveys/
  13. 13. Impact of agile on business stakeholder satisfaction  78%  Copyright 2008 Scott W. Ambler www.ambysoft.com/surveys/
  14. 14. Agile has crossed the chasm in U.S. and Europe; just starting in Canada
  15. 15. Agile is not a silver bullet! People factors dominate software development <ul><li>“A well-functioning team of adequate people will complete a project almost regardless of the process or technology they are asked to use (although the process and technology may help or hinder them along the way).” – Alistair Cockburn </li></ul>
  16. 16. The Agile Manifesto sets out values and principles While there is value in the items on the right, we value the items on the left more Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Craftsmanship* over crap * 2008 proposal by Bob Martin
  17. 17. Principle: Working software is a fundamental metric <ul><li>“ Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” </li></ul><ul><li>See more @ http:// agilemanifesto.org/principles.html </li></ul>
  18. 18. Principle: Face-to-face communication is fast and effective Copyright Alistair Cockburn
  19. 19. Documentation matters too! <ul><li>It is important that details get stored (paper, models, images, video, etc.) to handle: </li></ul><ul><ul><li>Gaps in time - What did we decide last month? </li></ul></ul><ul><ul><li>Gaps in space - Keeping off-site people in the loop </li></ul></ul><ul><ul><li>Contracts & change of personnel </li></ul></ul><ul><ul><li>Traceability </li></ul></ul>
  20. 20. Agile processes come in different flavours Lean Agile Scrum (XP)Extreme Programming Crystal Clear Scrum, but… RUP IID Lean Software (Kanban)
  21. 21. Scrum has been used for almost 20 years for just about everything <ul><li>Empirical management and control process for any (development) project </li></ul><ul><li>Used at product companies and IT organizations since 1990 </li></ul><ul><li>Cross-functional teams self-organize to deliver the sprint goals </li></ul><ul><li>Delivers business functionality in 2 to 4 weeks </li></ul><ul><li>Scalable to distributed, large, and long projects </li></ul><ul><li>CMMI Level/2 and Level/3 compliant </li></ul><ul><li>Extremely simple but very hard </li></ul>CC Mountain Goat Software LLC
  22. 22. Scrum has been used by many companies <ul><ul><li>Microsoft </li></ul></ul><ul><ul><li>Yahoo </li></ul></ul><ul><ul><li>Google </li></ul></ul><ul><ul><li>Electronic Arts </li></ul></ul><ul><ul><li>High Moon Studios </li></ul></ul><ul><ul><li>Lockheed Martin </li></ul></ul><ul><ul><li>Philips </li></ul></ul><ul><ul><li>Siemens </li></ul></ul><ul><ul><li>Nokia </li></ul></ul><ul><ul><li>Capital One </li></ul></ul><ul><ul><li>BBC </li></ul></ul><ul><ul><li>Intuit </li></ul></ul><ul><ul><li>Intuit </li></ul></ul><ul><ul><li>Nielsen Media </li></ul></ul><ul><ul><li>First American Real Estate </li></ul></ul><ul><ul><li>BMC Software </li></ul></ul><ul><ul><li>Ipswitch </li></ul></ul><ul><ul><li>John Deere </li></ul></ul><ul><ul><li>Lexis Nexis </li></ul></ul><ul><ul><li>Sabre </li></ul></ul><ul><ul><li>Salesforce.com </li></ul></ul><ul><ul><li>Time Warner </li></ul></ul><ul><ul><li>Turner Broadcasting </li></ul></ul><ul><ul><li>Oce </li></ul></ul>CC Mountain Goat Software LLC
  23. 23. Scrum has been used for many types of projects <ul><ul><li>Commercial software </li></ul></ul><ul><ul><li>In-house development </li></ul></ul><ul><ul><li>Contract development </li></ul></ul><ul><ul><li>Fixed-price projects </li></ul></ul><ul><ul><li>Financial applications </li></ul></ul><ul><ul><li>ISO 9001-certified applications </li></ul></ul><ul><ul><li>Embedded systems </li></ul></ul><ul><ul><li>24x7 systems with 99.999% uptime requirements </li></ul></ul><ul><ul><li>the Joint Strike Fighter </li></ul></ul><ul><ul><li>Video game development </li></ul></ul><ul><ul><li>FDA-approved, life-critical systems </li></ul></ul><ul><ul><li>Satellite-control software </li></ul></ul><ul><ul><li>Websites </li></ul></ul><ul><ul><li>Handheld software </li></ul></ul><ul><ul><li>Mobile phones </li></ul></ul><ul><ul><li>Network switching applications </li></ul></ul><ul><ul><li>ISV applications </li></ul></ul><ul><ul><li>Some of the largest applications in use </li></ul></ul>CC Mountain Goat Software LLC
  24. 24. Scrum cycle shows the essence of an iterative Agile process
  25. 26. eXtreme Programming (XP) engineering practices are critical for sustained success <ul><li>(Version Control, Coding standards) </li></ul><ul><li>Automated Testing </li></ul><ul><li>Test driven development </li></ul><ul><li>Refactoring </li></ul><ul><li>Shared code </li></ul><ul><li>Pairing </li></ul><ul><li>Continuous Integration (Automated builds) </li></ul><ul><li>User Stories </li></ul>
  26. 27. Crystal Clear is a light Agile process with 7 properties for successful projects <ul><li>Frequent Delivery </li></ul><ul><li>Osmotic Communication </li></ul><ul><li>Reflective Improvement </li></ul><ul><li>Personal Safety </li></ul><ul><li>Focus </li></ul><ul><li>Easy Access to Expert Users </li></ul><ul><li>Technical Environment with </li></ul><ul><ul><ul><li>Frequent integration </li></ul></ul></ul><ul><ul><ul><li>Automated testing </li></ul></ul></ul><ul><ul><ul><li>Configuration management </li></ul></ul></ul>Core properties of “Crystal” Properties increasing project safety (rubustness to adverse events) <ul><li>Alistair Cockburn 2003-2005 </li></ul>
  27. 28. Lean principles can be used to enhance success with Agile <ul><li>Eliminate Waste </li></ul><ul><li>Amplify Learning </li></ul><ul><li>Decide as Late as Possible </li></ul><ul><li>Deliver as Fast as Possible </li></ul><ul><li>Empower the Team </li></ul><ul><li>Build Integrity In </li></ul><ul><li>See the Whole </li></ul>
  28. 29. Kanban is Agile too… and uses continuous flow instead of iterations Graphic Copyright Jeff Patton AgileProductDesign.com
  29. 30. Overview
  30. 31. What questions do you have?