Introduction to Agile Methods

4,340 views
4,163 views

Published on

Slides of my talk given to the NASSCOM Chennai Friday 2.0 forum on 21 August 2009

Published in: Technology

Introduction to Agile Methods

  1. 1. Introduction to Agile Methods
  2. 2. What we do today
  3. 3. Does it work? Lets find out Its time to have a party!
  4. 4. It's Party Time!
  5. 5. Waterfall doesn't work well when - There is a lot of uncertainty - Requirements change midway
  6. 6. Waterfall doesn't work well when - You or the customer are not 100% sure of the market requirements
  7. 7. Waterfall doesn't work well when - New ideas derive from using the software
  8. 8. Two options - Freeze requirements with upfront research and analysis
  9. 9. Two options - Freeze requirements with upfront research and analysis - Make the process adaptable
  10. 10. The market for software is complex and ever changing Agile methods derive from a theory of Complex Adaptive Systems to work in this environment
  11. 11. Traditional Timeline - Wait till the end to use the software - Feedback and bugs discovered late - Poor visibility of progress
  12. 12. Agile Timeline - Possible to incorporate feedback - Bugs found early - Start getting partial benefits early
  13. 13. Agile Timeline - Better visibility of progress - Better management of requirement uncertainty
  14. 14. Agile Timeline - Time is fixed - Scope is a variable - Keep software “releasable”
  15. 15. Frequent Delivery
  16. 16. Frequent Delivery - Allows customers to view progress - Customer can give feedback
  17. 17. Incremental Development Image by Jeff Patton
  18. 18. Incremental Development - Build a system piece by piece - Better idea of development pace - Allow parts of the system to be deployed live - Enable earlier return on investment
  19. 19. Iterative Development Image by Jeff Patton
  20. 20. Iterative Development - Evolve features based on actual usage - Improves usefulness of the product - Enables deploy, test, refine cycle in a live environment
  21. 21. Customer Collaboration
  22. 22. Customer Collaboration - Not just building the product right, but also building the right product - Both parties are invested in a successful outcome - Collaboration vs confrontation
  23. 23. So what is Agile really?
  24. 24. Scrum, Extreme Programming, FDD, Crystal, DSDM, Lean t
  25. 25. We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more.
  26. 26. Benefits - Improved RoI through early deployment of software - Build the right product through incremental improvement
  27. 27. Benefits - Better visibility into progress - Catch problems early when you have time to react
  28. 28. Further Questions - How does Agile work in fixed price projects? - How to handle documentation? - How to handle knowledge sharing?
  29. 29. Further Questions - What happens to design? - What happens to quality? - Wont making many changes affect the codebase?
  30. 30. Some Agile Practices To Explore - Self organization - Inspect & Adapt - Burndown charts - Test Driven Development - Pair Programming - Continuous Integration
  31. 31. Some Agile Practices To Explore - Pull/Kanban - Throughput analysis - Work in progress limits - Iceberg list - Walking skeleton - Information radiators
  32. 32. Some Agile Practices To Explore - Domain object modeling - Feature teams - Parking lot diagrams - Prototyping - MoSCoW prioritisation - Facilitated workshops
  33. 33. Thanks! Siddharta Govindaraj siddharta@silverstripesoftware.com

×