Agile Methods for NTU Software Engineers
Upcoming SlideShare
Loading in...5
×
 

Agile Methods for NTU Software Engineers

on

  • 886 views

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

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.

Statistics

Views

Total Views
886
Views on SlideShare
886
Embed Views
0

Actions

Likes
0
Downloads
15
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Agile Methods for NTU Software Engineers Agile Methods for NTU Software Engineers Presentation Transcript

  • Agile Methods Jolly Tan Andy Marksjolly.tan@thoughtworks.com amarks@thoughtworks.com Lead Consultant Technical Principal ThoughtWorks ThoughtWorks
  • [Aa]gile geeks
  • AGILE: METHODOLOGY AND PRINCIPLES
  • 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 $
  • 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 $
  • 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 $
  • 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 $
  • 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 $
  • 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 $
  • 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 $
  • 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
  • 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
  • What Agile is notNot a specific processNot one size fits allA team is Agile they are not “doing Agile”
  • A TALE OF 2 METHODOLOGIES
  • XP versus Scrum
  • XP versus Scrum
  • XP versus Scrum Focus:Focus:Programming Project Management
  • 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/
  • Scrum Overview Source: http://www.mountaingoatsoftware.com/scrum/overview
  • 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
  • XP and Scrum  Scrum alone ?  XP alone  Scrum and XP
  • XP and Scrum Source: http://www.versionone.com/state_of_agile_development_survey/11/
  • CLIENT EXPERIENCES
  • Client Expectations with Agile Source: http://www.versionone.com/state_of_agile_development_survey/11/
  • 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/
  • BEST* PRACTICES
  • + +what to do how to do it the “last mile”
  • Agile assumes youknow what to build… • Minimum Viable Product • Validated Learning • Empirical User Research
  • Agile stops short of the “Last Mile”…• Automate Everything• Separate Infrastructure Release from Business Release• De-risk Deployment
  • Agile doesn’t always appeal to business people… • Eliminate Waste • Reduce Cycle Time • Quality Focus
  • http://www.meetup.com/devops-singapore/ Local Communitieshttp://www.meetup.com/Agile-Singapore/
  • Local Conferences http://citconf.com/singapore2012/index.php
  • Career Development Apprentice Journeyman Master
  • QUESTIONS?