agile methods for ntu software engineers
DESCRIPTION
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.TRANSCRIPT
![Page 1: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/1.jpg)
Agile MethodsAndy Marks
Technical PrincipalThoughtWorks
Jolly Tanj
Lead ConsultantThoughtWorks
![Page 2: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/2.jpg)
![Page 3: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/3.jpg)
[Aa]gile geeks
![Page 4: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/4.jpg)
![Page 5: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/5.jpg)
![Page 6: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/6.jpg)
![Page 7: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/7.jpg)
![Page 8: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/8.jpg)
![Page 9: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/9.jpg)
AGILE: METHODOLOGY AND PRINCIPLES
![Page 10: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/10.jpg)
Agile versus Traditional Development
$
Code
Requirements GatheringProject Plan/Estimation
Use Cases / Functional Specs
Design Specifications
Test
Fix / Integrate
Level StoriesVision & High
Release 1
Release 2
Release 3
Release 4
$
$
$
$
AgileDevelopment
TraditionalDevelopment
![Page 11: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/11.jpg)
Agile versus Traditional Development
$
Code
Requirements GatheringProject Plan/Estimation
Use Cases / Functional Specs
Design Specifications
Test
Fix / Integrate
Level StoriesVision & High
Release 1
Release 2
Release 3
Release 4
$
$
$
$
Project Estimates:• Agile gives more accurate
estimates earlier in the project• Progress measured by tested
software
AgileDevelopment
TraditionalDevelopment
![Page 12: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/12.jpg)
Agile versus Traditional Development
$
Code
Requirements GatheringProject Plan/Estimation
Use Cases / Functional Specs
Design Specifications
Test
Fix / Integrate
Level StoriesVision & High
Release 1
Release 2
Release 3
Release 4
$
$
$
$
Project Estimates:• Agile gives more accurate
estimates earlier in the project• Progress measured by tested
software Architecture:• Agile proves out
architecture sooner – significant reduction of technical risk
AgileDevelopment
TraditionalDevelopment
![Page 13: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/13.jpg)
Agile versus Traditional Development
$
Code
Requirements GatheringProject Plan/Estimation
Use Cases / Functional Specs
Design Specifications
Test
Fix / Integrate
Level StoriesVision & High
Release 1
Release 2
Release 3
Release 4
$
$
$
$
Project Estimates:• Agile gives more accurate
estimates earlier in the project• Progress measured by tested
software Architecture:• Agile proves out
architecture sooner – significant reduction of technical risk
Development Productivity:• Agile teams work with
their tools for longer and become more proficient• Seasoned Agile teams produce software very rapidly
AgileDevelopment
TraditionalDevelopment
![Page 14: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/14.jpg)
Agile versus Traditional Development
$
Code
Requirements GatheringProject Plan/Estimation
Use Cases / Functional Specs
Design Specifications
Test
Fix / Integrate
Level StoriesVision & High
Release 1
Release 2
Release 3
Release 4
$
$
$
$
End-User Feedback:• Validates business benefits• Makes execution more successful• Reduces “false features”• Drives high IT value
Project Estimates:• Agile gives more accurate
estimates earlier in the project• Progress measured by tested
software Architecture:• Agile proves out
architecture sooner – significant reduction of technical risk
Development Productivity:• Agile teams work with
their tools for longer and become more proficient• Seasoned Agile teams produce software very rapidly
AgileDevelopment
TraditionalDevelopment
![Page 15: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/15.jpg)
Agile versus Traditional Development
$
Code
Requirements GatheringProject Plan/Estimation
Use Cases / Functional Specs
Design Specifications
Test
Fix / Integrate
Level StoriesVision & High
Release 1
Release 2
Release 3
Release 4
$
$
$
$
End-User Feedback:• Validates business benefits• Makes execution more successful• Reduces “false features”• Drives high IT value
Project Estimates:• Agile gives more accurate
estimates earlier in the project• Progress measured by tested
software Architecture:• Agile proves out
architecture sooner – significant reduction of technical risk
Risk:• Virtually eliminates late
surprises
Development Productivity:• Agile teams work with
their tools for longer and become more proficient• Seasoned Agile teams produce software very rapidly
AgileDevelopment
TraditionalDevelopment
![Page 16: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/16.jpg)
Agile versus Traditional Development
$
Code
Requirements GatheringProject Plan/Estimation
Use Cases / Functional Specs
Design Specifications
Test
Fix / Integrate
Level StoriesVision & High
Release 1
Release 2
Release 3
Release 4
$
$
$
$
End-User Feedback:• Validates business benefits• Makes execution more successful• Reduces “false features”• Drives high IT value
Project Estimates:• Agile gives more accurate
estimates earlier in the project• Progress measured by tested
software Architecture:• Agile proves out
architecture sooner – significant reduction of technical risk
Risk:• Virtually eliminates late
surprises
Development Productivity:• Agile teams work with
their tools for longer and become more proficient• Seasoned Agile teams produce software very rapidly Software in production:
• Agile approach reduces time
to market• Business decides when to
go live• Reduces risk of failure
due to early exit/reduction of project scopeAgile
Development
TraditionalDevelopment
![Page 17: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/17.jpg)
Making the right choice ...
Agile Traditional
Volatilerequirements
Stablerequirements
Time to marketmatters
Co-locatedteam
Automation
Segregatedteam
Customer not accessible
Little Automation
Customer readily available
Fixed scopematters
![Page 18: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/18.jpg)
What is Agile?Agile is an iterative and incremental approach to software development
Agile Manifesto* …
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
And a toolbox of practices (e.g. continuous integration, stand-ups, pair programming, test driven development, refactoring, collective code ownership, etc)
* while there is value in the items on the right, we value the items on the left more
![Page 19: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/19.jpg)
What Agile is not
Not a specific process
Not one size fits all
A team is Agile they are not “doing Agile”
![Page 20: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/20.jpg)
A TALE OF 2 METHODOLOGIES
![Page 21: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/21.jpg)
XP versus Scrum
![Page 22: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/22.jpg)
XP versus Scrum
![Page 23: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/23.jpg)
XP versus Scrum
Focus: Programming
Focus:
Project Management
![Page 24: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/24.jpg)
XP versus ScrumFormalised in 1999
Main collaborators: Ward Cunningham, Ron Jeffries
Practices date back to early 1960s
Motto: “if it’s good/hard, do it a lot”
Formalised in 1996
Main collaborators: Jeff Sutherland, Mike Beedle
Most popular form of Agile in use today*
Source: http://www.versionone.com/state_of_agile_development_survey/11/
![Page 25: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/25.jpg)
Scrum Overview
Source: http://www.mountaingoatsoftware.com/scrum/overview
![Page 26: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/26.jpg)
XP PracticesOn-site Customer
Metaphor
Collective
Ownership
Continuous
Integration
Short Releas
es
Planning
Game40
Hour Week
Refactoring
Pair Program
ming
Testing
Coding Standa
rds
Simple
Design
![Page 27: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/27.jpg)
XP and Scrum
Scrum alone
XP alone
Scrum and XP
?
![Page 28: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/28.jpg)
Source: http://www.versionone.com/state_of_agile_development_survey/11/
XP and Scrum
![Page 29: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/29.jpg)
CLIENT EXPERIENCES
![Page 30: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/30.jpg)
Source: http://www.versionone.com/state_of_agile_development_survey/11/
Client Expectations with Agile
![Page 31: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/31.jpg)
Case Study – Biomed Centralhttp://www.biomedcentral.com
Highlights• 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/
![Page 32: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/32.jpg)
BEST* PRACTICES
![Page 33: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/33.jpg)
![Page 34: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/34.jpg)
Agile assumes you know what to build…
•Minimum Viable Product
•Validated Learning
•Empirical User Research
![Page 35: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/35.jpg)
Agile stops short of the “Last Mile”…
•Automate Everything
•Separate Infrastructure Release from Business Release
•De-risk Deployment
![Page 36: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/36.jpg)
Agile doesn’t always appeal to business
people…•Eliminate Waste
•Reduce Cycle Time
•Quality Focus
![Page 37: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/37.jpg)
http://www.meetup.com/Agile-Singapore/
http://www.meetup.com/devops-singapore/
Local Communitie
s
![Page 38: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/38.jpg)
http://citconf.com/singapore2012/index.php
Local Conferences
![Page 39: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/39.jpg)
Career Development
Journeyman
Apprentice
Master
![Page 40: Agile Methods for NTU Software Engineers](https://reader035.vdocuments.us/reader035/viewer/2022062418/5553ee79b4c90577468b4636/html5/thumbnails/40.jpg)
QUESTIONS?