Successfully reported this slideshow.
Your SlideShare is downloading. ×

The Importance of Being Agile

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 35 Ad

The Importance of Being Agile

Download to read offline

“Agile” development can be as a “grass roots” reaction to the complexity of predictive methodologies methodologies.

The agile manifesto provocatively states that it “values individuals over processes, working software over documentation, customer collaboration over contract negotiation and responding to change over following a plan”.To many this sounds like a recipe for chaos.

However, supporters of agile development are quick to point to overly bureaucratic processes, mountains of unread documentation, dissatisfied customers and failed projects.This presentation explores agile development and attempts to separate the reality from the hype.

“Agile” development can be as a “grass roots” reaction to the complexity of predictive methodologies methodologies.

The agile manifesto provocatively states that it “values individuals over processes, working software over documentation, customer collaboration over contract negotiation and responding to change over following a plan”.To many this sounds like a recipe for chaos.

However, supporters of agile development are quick to point to overly bureaucratic processes, mountains of unread documentation, dissatisfied customers and failed projects.This presentation explores agile development and attempts to separate the reality from the hype.

Advertisement
Advertisement

More Related Content

Slideshows for you (18)

Advertisement

Similar to The Importance of Being Agile (20)

Advertisement

Recently uploaded (20)

The Importance of Being Agile

  1. 1. www.lonsdalesystems.com
  2. 2. Technology Adoption Late Early Early Laggards Innovators Majority Majority Adoptors The “chasm” www.lonsdalesystems.com
  3. 3. Methodology Waves s ie gi ed og lo nt l es do do rie M gile es ho ho -O do d gi ho re A et et ct lo et tu M bje M ruc O St agile methodologies 1980 1990 2000 have crossed “the chasm” www.lonsdalesystems.com
  4. 4. Structured Methodologies Requirements Analysis Design Construction Test Data Flow Structure COBOL Test Text Diagrams Diagrams C Case Data Models • Transformation of work products • Waterfall life-cycle addresses requirements and architecture risks late in the project • Attempt to “predict” all necessary tasks www.lonsdalesystems.com
  5. 5. Structured Methodologies Requirements Analysis Design Construction Test Data Flow Structure COBOL Test Text Diagrams Diagrams C Case Data Models • Transformation of work products • Waterfall life-cycle addresses requirements and architecture risks late in the project • Attempt to “predict” all necessary tasks www.lonsdalesystems.com
  6. 6. Object-Oriented Methodologies Requirements Analysis Design Construction Test Use Test Case Objects Case • Evolution of work products • Iterative life-cycle addresses requirements and architecture risks early in the project • Still attempts to “predict” all necessary tasks www.lonsdalesystems.com
  7. 7. Object-Oriented Methodologies Requirements Analysis Design Construction Test Use Test Case Objects Case • Evolution of work products • Iterative life-cycle addresses requirements and architecture risks early in the project • Still attempts to “predict” all necessary tasks www.lonsdalesystems.com
  8. 8. Agile Motivation “Neither is it the Say after me… same as “software manufacturing or development is digging big holes not the same as in the ground” building!” www.lonsdalesystems.com
  9. 9. Building ts n en io ct m ru re n st ui ig on eq es R D C 10 % 20 % 70 % Smart people Less smart people Must obey Expensive physical laws Time-consuming Materials required www.lonsdalesystems.com
  10. 10. Software Development Construction is –Free –Instant –Error free ts –No material required en m re n ui ig eq es R D 30 % Models Source 70 % Code Smart people Endlessly adaptable www.lonsdalesystems.com
  11. 11. Software Development Construction is –Free –Instant –Error free Agile methodologies Agile methodologies ts –No material required en m focus on the re focus on the n ui ig eq es uniqueness of R D uniqueness of software software Models 30 % Source 70 % Code development… development… Smart people Endlessly adaptable www.lonsdalesystems.com
  12. 12. Agile Methodologies • “Agile” – Characterised by quickness, lightness, and ease of movement; nimble – Mentally quick or alert: an agile mind • Agile methodologies attempt to be “adaptive” rather than “predictive” www.lonsdalesystems.com
  13. 13. Agile Methodologies • “Agile” – Characterised by quickness, lightness, and ease of movement; nimble – Mentally quick or alert: an agile mind • Agile methodologies attempt to be “adaptive” rather than “predictive” www.lonsdalesystems.com
  14. 14. Agile Methodologies • eXtreme Programming (XP) • Crystal • Scrum • Feature Driven Development (FDD) • Dynamic System Development Method (DSDM) www.lonsdalesystems.com
  15. 15. eXtreme Programming www.lonsdalesystems.com
  16. 16. eXtreme Programming www.lonsdalesystems.com
  17. 17. eXtreme Programming Peer reviews are a proven technique for improving quality. Pair programming is simply a logical extension of peer reviews… www.lonsdalesystems.com
  18. 18. eXtreme Programming www.lonsdalesystems.com
  19. 19. eXtreme Programming Testing is fundamental to software quality. Designing test cases before coding and employing automated test tools is simply a logical extension… www.lonsdalesystems.com
  20. 20. eXtreme Programming www.lonsdalesystems.com
  21. 21. eXtreme Programming Even simple designs suffer the effects of entropy over time. Continuous design improvement (refactoring) is a Way of preventing this from happening… www.lonsdalesystems.com
  22. 22. eXtreme Programming www.lonsdalesystems.com
  23. 23. eXtreme Programming All project teams Have their own vocabulary to describe systems. A system metaphor is simply a way of formalising this… www.lonsdalesystems.com
  24. 24. eXtreme Programming www.lonsdalesystems.com
  25. 25. eXtreme Programming It is obvious that tired and exhausted developers do not give their best. Maintaining a sustainable pace is a sensible response… www.lonsdalesystems.com
  26. 26. eXtreme Programming www.lonsdalesystems.com
  27. 27. eXtreme Programming Communication is an important aspect of all projects. Locating all team members together with a full-time customer representative improves communication… www.lonsdalesystems.com
  28. 28. eXtreme Programming www.lonsdalesystems.com
  29. 29. eXtreme Programming Scope + Quality = Time + Cost www.lonsdalesystems.com
  30. 30. eXtreme Programming Scope + Quality = Time + Cost Developer estimate time and cost Users prioritise scope and quality Time and cost are fixed for an iteration Scope is planned for an iteration www.lonsdalesystems.com
  31. 31. Which Approach? Predictive??? Agile??? www.lonsdalesystems.com
  32. 32. Which Approach? The most widely The most widely used approach to used approach to software software development is development is still… still… “Code and Fix” Predictive??? “Code and Fix” Agile??? www.lonsdalesystems.com
  33. 33. Which Approach? “Responding to The most widely The most widely used approach to change over used approach to software a plan” software following development is development is I “Great! Now still… still… “Code and Fix” to have a reason “Code and Fix” Predictive??? avoid Agile??? planning and just code whatever comes up next…” www.lonsdalesystems.com
  34. 34. Which Approach? Agile Predictive Developers Superior skills Adequate skills Customers Committed Available Requirements Emerging, Known early, changing stable Architecture Current Current and requirements future only requirements Refactoring Inexpensive Expensive Size Smaller teams Larger teams Objective Rapid value High certainty www.lonsdalesystems.com
  35. 35. www.lonsdalesystems.com

×