3. Agile is dealing with change Software Changes Requirements Change Technology Changes Staff Changes Changes in the Weather
4. Agile Manifesto “ The problem isn’t change because change will happen, the problem is our inability to cope with change.” - Kent Beck, Extreme Programming
5. Industrial Making “ The stated, accepted philosophy for systems development is that the development process is a well understood approach that can be planned, estimated, and successfully completed. This has proven incorrect in practice.” - Ken Schwaber Big Design Up-Front
6. “ Writing software is a creative process, like painting or writing or architecture” “ Categorizing the systems development methods as empirical is critical to the effective management of the systems development process.” - Ken Schwaber Empirical and Artistic Making
7. 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
8. Agile Development Process Plan in terms of Stories Work in Short Iterations Prioritise your stories Calculate your capacity Negotiate in Terms of Scope Get customer feedback
9. Plan in Terms of Stories Stories are short descriptions of customer-visible functionality
10. Generate Stories Book a hotel Purchase ticket Review itineraries Show hotel availability Find lowest fare Cancel itinerary Show hotels Offer sophisticated hotel search Do simple customer profile Show available flights Sort available flights by convenience Stories for a travel website
11. Estimate Effort for Stories Show available flights - 2 Show hotels - 3 Show hotel availability - 2 Book a hotel - 1 Purchase ticket - 2 Review itineraries - 2 Find lowest fare - 3 Cancel itinerary - 2 Offer sophisticated hotel search - 3 Do simple customer profile - 2 Sort available flights by convenience - 3
12. Prioritise Stories Show available flights - 2 -*** Show hotels - 3 -*** Show hotel availability - 2-*** Book a hotel - 1-** Purchase ticket - 2-** Review itineraries - 2-** Find lowest fare - 3-** Cancel itinerary - 2 -** Offer sophisticated hotel search - 3 - * Do simple customer profile - 2 - * Sort available flights by convenience - 3 -*
14. Identify an Iteration Show available flights - 2 -*** Show hotels - 3 -*** Show hotel availability - 2-*** Book a hotel - 1-** Purchase ticket - 2-** Review itineraries - 2-** Find lowest fare - 3-** Cancel itinerary - 2 -** Offer sophisticated hotel search - 3 - * Do simple customer profile - 2 - * Sort available flights by convenience - 3 - * Iteration 1
16. Calculate your capacity and velocity Show available flights: estimated 2 - actual 3 Show hotels: estimated 3 - actual 5 Show hotel availability: estimated 2 - actual 3 Book a hotel: estimated 1 Purchase ticket: estimated 2 Team Capacity is: 2+3+2 = 7 points per week Team Velocity is: 7 = 0.64 11
21. Negotiate in terms of scope “ Write contracts for software development that fix time costs and quality but call for an ongoing negotiation of the precise scope” Kent Beck, Extreme Programming Not Quality