Agile Workshop: Handling Changing Requirements

Post on 14-Jan-2015

3.152 views 2 download

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

© ThoughtWorks 2009

Thank YouBalachander Swaminathan

(bala@thoughtworks.com)