Agile Workshop: Handling Changing Requirements
description
Transcript of Agile Workshop: Handling Changing Requirements
Adapting to Changing Requirements
Short Iterations
Frequent Releases, Customer Collaboration
Balachander Swaminathan
March 20, 2009
© ThoughtWorks 2009
© ThoughtWorks 2009
The Idea of Adaptive Planning .....
Adaptive Planning
• Is planning to deliver, not delivering to a plan
– Change can be accommodated, and is expected
– The impact of change is visible to all stakeholders
– Is repeated throughout the project lifecycle
• Is a simple process, transparent to the whole team
• Balances different levels of precision/granularity
– Release Planning (weeks) and Quarterly Cycles
– Iteration Planning (days) and Weekly Cycles
© ThoughtWorks 2009
Fix / Integrate $
Test
Code
DesignSpecifications
Use Cases / Functional Specs
Requirements Gathering
Project Plan/Estimation
$
Inception
$
$
$
Adaptive Planning: Change in outlook
Frequent Releases
© ThoughtWorks 2009
Decomposing a release…
Release X
Prioritized Release Level Stories
Iterations Stories Completed
Business Value Delivered
© ThoughtWorks 2009
Release Plan
Project Release PlanProject Release Plan
Release X Release X+1
Dev.QA
Dev.QA
Dev.QA
Dev.QA
Dev.QA
Dev.QA
Dev.QA
Dev.QA
Dev.QA
Dev.QA
Dev.QA
Dev.QA
Scheduled release
Anal.Anal. Anal.Anal. Anal.Anal. Anal.Anal. Anal.Anal. Anal.Anal.
Scheduled * release
Scheduled release
Iteration
Scheduled milestone
Scheduled milestone
*Typical for large companies which have their own final QA (UAT) and Deployment setup. Scheduled release will factor in final QA and Deployment
Iteration
© ThoughtWorks 2009
© ThoughtWorks 2009
Segregating Stories into Release Buckets …..
Segregation of Stories
I1…….In
I1…….In
I1…….In
• Segregate stories into releases• Each release provides business value
SS S
SSSSS S
SSSS
SS SS S
SSS
SS
S S
S S
S S S
SS S
SSSSS S
SSSS
SS SS S
SSS
SS
S S
S S
S S S
SS S
SSSSS S
SSSS
SS SS S
SSS
SS
S S
S S
S S S
Release x
Release x+1
Release x+2
© ThoughtWorks 2009
Iteration Execution for a Single Release
I1…….In
Iterations
SS S
SSSSS S
SSSSS
S S
S
DoneInProgress
NextFuture
S S S SS
S S SS S
S
SS
• Iteration plan for only the next iteration
• Retain flexibility to prioritize future stories
• Done stories are done (new story to change)
Release x
© ThoughtWorks 2009
Changing Priorities…
Changing Priorities
SS S
SSSSS S
SSSS
SS SS S
SSS
SS
S S
S S
S S S
SS S
SSSSS S
SSSS
SS SS S
SSS
SS
S S
S S
S S S
SS S
SSSSS S
SSSSS
S S
SS
SS
S
S
S
S
Additions
- DeletionsS
- Changewith New Story
S
S S S S SS
S S SS S
S
© ThoughtWorks 2009
Changing Priorities … Including Release Boundaries
SS
SSSS SS
SS SSS
SS
S
S S SSSS
S SS
SSS S
SS
SS
SS
S S
S S
SS S
SSSSS S
SSSSS
S S
SS
SS S
SSSSS S
SSSS
SS S S
S S
New Plan
SS S
SSSSS S
SSSS
SS SS S
SSS
SS
S S
S S
S S S
SS S
SSSSS S
SSSS
SS SS S
SSS
SS
S S
S S
S S S
SS S
SSSSS S
SSSS
SS SS S
SSS
SS
S S
S S
S S S
Original Plan
S S S S SS
S S SS S
S Iterations
Release x Release x+1 Release x+2
Release xRelease x+1
Release x+3Release x+2
© ThoughtWorks 2009
• Short Iterations provide an avenue for the customer to provide quick feedback to the development team
• Frequent Releases enable the customer to quickly take to market their ideas and thereby get direct feedback from their customers
• Adaptive planning uses short iterations and frequent releases to meet up with continuously changing customer requirements
But this can only happen if there is constant collaboration between the customer and the development team
Summary
© ThoughtWorks 2009