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.

Agile Methods for NTU Software Engineers

0 views

Published on

A 1 hour presentation given to 2nd year NTU students on Feb 29 2012 by Jolly Tan.

Covers a brief overview of Agile, a comparison of XP and Scrum and finishing with a quick introduction to Lean Startup, Lean and Continuous Delivery thinking.

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Agile Methods for NTU Software Engineers

  1. 1. Agile Methods Jolly Tan Andy Marksjolly.tan@thoughtworks.com amarks@thoughtworks.com Lead Consultant Technical Principal ThoughtWorks ThoughtWorks
  2. 2. [Aa]gile geeks
  3. 3. AGILE: METHODOLOGY AND PRINCIPLES
  4. 4. Agile versus TraditionalProject Plan/EstimationRequirements Gathering Development Traditional Use Cases / Development Functional Specs Design Specifications Code Test Fix / Integrate $Vision & HighLevel Stories Release 1 $ Release 2 $ Release 3 $ Agile Development Release 4 $
  5. 5. Agile versus TraditionalProject Plan/EstimationRequirements Gathering Development Traditional Use Cases / Development Functional Specs DesignProject Estimates: Specifications• Agile gives more accurate estimates earlier in the project Code• Progress measured by tested software Test Fix / Integrate $Vision & HighLevel Stories Release 1 $ Release 2 $ Release 3 $ Agile Development Release 4 $
  6. 6. Agile versus TraditionalProject Plan/EstimationRequirements Gathering Development Traditional Use Cases / Development Functional Specs DesignProject Estimates: Specifications• Agile gives more accurate estimates earlier in the project Code• Progress measured by tested software Test Architecture: • Agile proves out architecture sooner – Fix / Integrate $ significant reduction of technical riskVision & HighLevel Stories Release 1 $ Release 2 $ Release 3 $ Agile Development Release 4 $
  7. 7. Agile versus TraditionalProject Plan/EstimationRequirements Gathering Development Traditional Use Cases / Development Functional Specs DesignProject Estimates: Specifications• Agile gives more accurate estimates earlier in the project Code• Progress measured by tested software Test Architecture: • Agile proves out architecture sooner – Development Productivity: Fix / Integrate $ significant reduction of • Agile teams work with their technical risk tools for longer and become more proficient • Seasoned Agile teams produce software veryVision & High rapidlyLevel Stories Release 1 $ Release 2 $ Release 3 $ Agile Development Release 4 $
  8. 8. Agile versus TraditionalProject Plan/EstimationRequirements Gathering Development Traditional Use Cases / Development Functional Specs DesignProject Estimates: Specifications• Agile gives more accurate estimates earlier in the project Code• Progress measured by tested software Test Architecture: • Agile proves out architecture sooner – Development Productivity: Fix / Integrate $ significant reduction of • Agile teams work with their End-User Feedback: technical risk tools for longer and become • Validates business benefits more proficient • Makes execution more successful • Seasoned Agile teams • Reduces “false features” produce software very • Drives high IT valueVision & High rapidlyLevel Stories Release 1 $ Release 2 $ Release 3 $ Agile Development Release 4 $
  9. 9. Agile versus TraditionalProject Plan/EstimationRequirements Gathering Development Traditional Use Cases / Development Functional Specs DesignProject Estimates: Specifications• Agile gives more accurate estimates earlier in the project Code• Progress measured by tested software Test Architecture: • Agile proves out architecture sooner – Development Productivity: Fix / Integrate $ significant reduction of • Agile teams work with their End-User Feedback: technical risk tools for longer and become • Validates business benefits more proficient • Makes execution more successful • Seasoned Agile teams • Reduces “false features” produce software very • Drives high IT valueVision & High rapidlyLevel Stories Release 1 $ Risk: • Virtually eliminates late surprises Release 2 $ Release 3 $ Agile Development Release 4 $
  10. 10. Agile versus TraditionalProject Plan/EstimationRequirements Gathering Development Traditional Use Cases / Development Functional Specs DesignProject Estimates: Specifications• Agile gives more accurate estimates earlier in the project Code• Progress measured by tested software Test Architecture: • Agile proves out architecture sooner – Development Productivity: Fix / Integrate $ significant reduction of • Agile teams work with their End-User Feedback: technical risk tools for longer and become • Validates business benefits more proficient • Makes execution more successful • Seasoned Agile teams • Reduces “false features” produce software very • Drives high IT valueVision & High rapidlyLevel Stories Software in production: • Agile approach reduces time Release 1 $ Risk: to market • Virtually eliminates late • Business decides when to go surprises live Release 2 $ • Reduces risk of failure due to early exit/reduction of project scope Release 3 $ Agile Development Release 4 $
  11. 11. Making the right choice ... Agile Traditional Volatile Stable requirements requirements Automation Little Automation Customer readily Customer not available accessible Co-located Segregated team team Time to market Fixed scope matters matters
  12. 12. What is Agile?Agile is an iterative and incremental approach to software developmentAgile Manifesto* … Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a planAnd a toolbox of practices (e.g. continuous integration, stand-ups, pairprogramming, test driven development, refactoring, collective codeownership, etc) * while there is value in the items on the right, we value the items on the left more
  13. 13. What Agile is notNot a specific processNot one size fits allA team is Agile they are not “doing Agile”
  14. 14. A TALE OF 2 METHODOLOGIES
  15. 15. XP versus Scrum
  16. 16. XP versus Scrum
  17. 17. XP versus Scrum Focus:Focus:Programming Project Management
  18. 18. XP versus ScrumFormalised in 1999Main collaborators: Formalised in 1996Ward Cunningham, Main collaborators:Ron Jeffries Jeff Sutherland, MikePractices date back Beedleto early 1960s Most popular form of Agile in use today *Motto: “if it’sgood/hard, do it alot” Source: http://www.versionone.com/state_of_agile_development_survey/11/
  19. 19. Scrum Overview Source: http://www.mountaingoatsoftware.com/scrum/overview
  20. 20. XP Practices On-site Custom er Plannin Metaphor 40 Hour g Game Week Refactorin g Simpl Short e Releases Pair Desig Programm n Testing ing Coding Standar dsCollective ContinuOwnershi ous p Integrati
  21. 21. XP and Scrum  Scrum alone ?  XP alone  Scrum and XP
  22. 22. XP and Scrum Source: http://www.versionone.com/state_of_agile_development_survey/11/
  23. 23. CLIENT EXPERIENCES
  24. 24. Client Expectations with Agile Source: http://www.versionone.com/state_of_agile_development_survey/11/
  25. 25. Case Study – Biomed Centralhttp://www.biomedcentral.comHighlights• Started in Feb 2010 (X)• Release 1: X + 3 months• Subsequent releases : Monthly• >150 journals, including http://journal.chemistrycentral.com/• Contacts search• Online submission• Peer review workflow• 3rd party transformation workflow• http://rd.springer.com/
  26. 26. BEST* PRACTICES
  27. 27. + +what to do how to do it the “last mile”
  28. 28. Agile assumes youknow what to build… • Minimum Viable Product • Validated Learning • Empirical User Research
  29. 29. Agile stops short of the “Last Mile”…• Automate Everything• Separate Infrastructure Release from Business Release• De-risk Deployment
  30. 30. Agile doesn’t always appeal to business people… • Eliminate Waste • Reduce Cycle Time • Quality Focus
  31. 31. http://www.meetup.com/devops-singapore/ Local Communitieshttp://www.meetup.com/Agile-Singapore/
  32. 32. Local Conferences http://citconf.com/singapore2012/index.php
  33. 33. Career Development Apprentice Journeyman Master
  34. 34. QUESTIONS?

×