Agile Methods for NTU Software Engineers

815 views
713 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
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
815
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
20
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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?

×