Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

The Importance of Being Agile

641 views

Published on

“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.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

The Importance of Being Agile

  1. 1. www.lonsdalesystems.com
  2. 2. Technology Adoption Late Early EarlyLaggards 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 methodologies1980 1990 2000 have crossed “the chasm” www.lonsdalesystems.com
  4. 4. Structured MethodologiesRequirements 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 MethodologiesRequirements 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 MethodologiesRequirements 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 MethodologiesRequirements 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 “softwaremanufacturing 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 esRD C10 % 20 % 70 %Smart people Less smart peopleMust obey Expensivephysical 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 esR D 30 % Models Source 70 % Code Smart people Endlessly adaptable www.lonsdalesystems.com
  11. 11. Software Development Construction is –Free –Instant –Error freeAgile methodologiesAgile methodologies ts –No material required en mfocus on the refocus on the n ui ig eq esuniqueness ofR Duniqueness ofsoftwaresoftware Models 30 % Source 70 % Codedevelopment…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 Programmingwww.lonsdalesystems.com
  16. 16. eXtreme Programmingwww.lonsdalesystems.com
  17. 17. eXtreme ProgrammingPeer reviews are aproven technique forimproving quality.Pair programmingis simply a logicalextension of peerreviews… www.lonsdalesystems.com
  18. 18. eXtreme Programmingwww.lonsdalesystems.com
  19. 19. eXtreme ProgrammingTesting is fundamentalto software quality.Designing test casesbefore coding andemploying automatedtest tools is simply alogical extension… www.lonsdalesystems.com
  20. 20. eXtreme Programmingwww.lonsdalesystems.com
  21. 21. eXtreme ProgrammingEven simple designssuffer the effectsof entropy over time.Continuous designimprovement(refactoring) is aWay of preventingthis from happening… www.lonsdalesystems.com
  22. 22. eXtreme Programmingwww.lonsdalesystems.com
  23. 23. eXtreme ProgrammingAll project teamsHave their ownvocabulary todescribe systems.A system metaphoris simply a way offormalising this… www.lonsdalesystems.com
  24. 24. eXtreme Programmingwww.lonsdalesystems.com
  25. 25. eXtreme ProgrammingIt is obvious that tiredand exhausted developersdo not give their best.Maintaining a sustainablepace is a sensibleresponse… www.lonsdalesystems.com
  26. 26. eXtreme Programmingwww.lonsdalesystems.com
  27. 27. eXtreme ProgrammingCommunication isan important aspectof all projects.Locating all teammembers togetherwith a full-time customer representativeimproves communication… www.lonsdalesystems.com
  28. 28. eXtreme Programmingwww.lonsdalesystems.com
  29. 29. eXtreme ProgrammingScope + Quality = Time + Cost www.lonsdalesystems.com
  30. 30. eXtreme ProgrammingScope + 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 widelyused approach to used approach tosoftware softwaredevelopment is development isstill… still…“Code and Fix” Predictive??? “Code and Fix” Agile??? www.lonsdalesystems.com
  33. 33. Which Approach? “Responding toThe most widely The most widelyused approach to change over used approach tosoftware a plan” software followingdevelopment is development is I “Great! Nowstill… 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 PredictiveDevelopers Superior skills Adequate skillsCustomers Committed AvailableRequirements Emerging, Known early, changing stableArchitecture Current Current and requirements future only requirementsRefactoring Inexpensive ExpensiveSize Smaller teams Larger teamsObjective Rapid value High certainty www.lonsdalesystems.com
  35. 35. www.lonsdalesystems.com

×