Agile Software development

25
Agile Software development

Transcript of Agile Software development

Page 1: Agile Software development

Agile Software development

Page 2: Agile Software development

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

Page 3: Agile Software development

Is Agile a replacement for Waterfall?

Page 4: Agile Software development

Single pass Waterfall

Page 5: Agile Software development

Single pass waterfall works when

• We know the technology• We know the domain• We know each other

Page 6: Agile Software development

The Waterfall

Page 7: Agile Software development

“Agile”

Page 8: Agile Software development

The difference between Agile and Waterfall is a length of iteration

Page 9: Agile Software development

The amount of the design decisions we do before we start coding

• Human nature, Waterfall -> “Think harder”• Agile, TDD -> “Gather feedback”

You can’t switch to Agile if you don’t understand the difference.You need to explain this difference to your clients.

Page 10: Agile Software development

Financial aspect

• Agile -> Maximize Early Earned Value or Cashflow or Cash on cash return• Waterfall -> Maximize RoI

Page 11: Agile Software development

Agile does not define your process. It helps you create the process that will work for you

Page 12: Agile Software development

1. Customer satisfaction by early and continuous delivery of valuable software

Page 13: Agile Software development

2. Welcome changing requirements, even in late development

Page 14: Agile Software development

3. Working software is delivered frequently (weeks rather than months)

Page 15: Agile Software development

4. Close, daily cooperation between business people and developers

Page 16: Agile Software development

5. Projects are built around motivated individuals, who should be trusted

Page 17: Agile Software development

6. Face-to-face conversation is the best form of communication (co-location)

Page 18: Agile Software development

7. Working software is the principal measure of progress

Page 19: Agile Software development

8. Sustainable development, able to maintain a constant pace

Page 20: Agile Software development

9. Continuous attention to technical excellence and good design

Page 21: Agile Software development

10. Simplicity—the art of maximizing the amount of work not done—is essential

Page 22: Agile Software development

11. Self-organizing teams

Page 23: Agile Software development

12. Regular adaptation to changing circumstance

Page 24: Agile Software development

ToC an Etudes

Page 25: Agile Software development

Refactoring reduces cost volatility of the next feature