agile workshop: handling changing requirements

13
Adapting to Changing Requirements Short Iterations Frequent Releases, Customer Collaboration Balachander Swaminathan March 20, 2009 © ThoughtWorks 2009

Upload: siddhi

Post on 14-Jan-2015

3.155 views

Category:

Business


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Agile Workshop: Handling Changing Requirements

Adapting to Changing Requirements

Short Iterations

Frequent Releases, Customer Collaboration

Balachander Swaminathan

March 20, 2009

© ThoughtWorks 2009

Page 2: Agile Workshop: Handling Changing Requirements

© ThoughtWorks 2009

The Idea of Adaptive Planning .....

Page 3: Agile Workshop: Handling Changing Requirements

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

Page 4: Agile Workshop: Handling Changing Requirements

Fix / Integrate $

Test

Code

DesignSpecifications

Use Cases / Functional Specs

Requirements Gathering

Project Plan/Estimation

$

Inception

$

$

$

Adaptive Planning: Change in outlook

Frequent Releases

© ThoughtWorks 2009

Page 5: Agile Workshop: Handling Changing Requirements

Decomposing a release…

Release X

Prioritized Release Level Stories

Iterations Stories Completed

Business Value Delivered

© ThoughtWorks 2009

Page 6: Agile Workshop: Handling Changing Requirements

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

Page 7: Agile Workshop: Handling Changing Requirements

© ThoughtWorks 2009

Segregating Stories into Release Buckets …..

Page 8: Agile Workshop: Handling Changing Requirements

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

Page 9: Agile Workshop: Handling Changing Requirements

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

Page 10: Agile Workshop: Handling Changing Requirements

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

Page 11: Agile Workshop: Handling Changing Requirements

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

Page 12: Agile Workshop: Handling Changing Requirements

• 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

Page 13: Agile Workshop: Handling Changing Requirements

© ThoughtWorks 2009

Thank YouBalachander Swaminathan

([email protected])