feeding the scrum engine

17
www.3back.com Transitioning to Agile: Feeding the Scrum Engine Derek Wade [email protected] and Douglas Shimp [email protected]

Upload: doug-shimp

Post on 17-May-2015

1.235 views

Category:

Business


0 download

DESCRIPTION

How to decompose the work so that a sustainable flow of work can be feed into the team. Scrum teams flourish when there is a flow of work that does not choke them with too much volume. Agile analysis is the key to achieving that flow.

TRANSCRIPT

Page 1: Feeding The Scrum Engine

www.3back.com

Transitioning to Agile: Feeding the Scrum

Engine

Derek [email protected]

andDouglas Shimp

[email protected]

Page 2: Feeding The Scrum Engine

© 3Back.com

Two Views of Work*

• Goals – Management View• “What do I want built?”• High-level• Difficult to structure appropriately

• too high-level not useful to team• too detailed directive vs. adaptive

• Tasks – Development View• “What do I have to do today?”• Work queue• Forest vs. trees problems

• Needed• Begin with the end in mind• Encourage agility• Bridge the gap

* from Managing the Work in an Agile Project,

Dr. Daniel Rawsthorne, PhD.

Page 3: Feeding The Scrum Engine

© 3Back.com

Managing the Work: WBS View*

The Product Backlog

Product Team Org

Function Structure

Feature 1

Function 2

Feature 3

Conversions

Rewrites

Refactorings

Training

Dev Environment

Tools

Sales Support

Marketing Support

User Docs

Business Value /Product Centric

Business Value /Product Centric

Page 4: Feeding The Scrum Engine

© 3Back.com

Managing the Work: “To Do” View*

• Now • a.k.a. “Sprint Backlog”• Stories

• Deliverable chunks of value• “Validate-able”• Estimated / “Right-sized”

• Tasks• Complete them to deliver the stories

• Next • Uncommitted, Next Sprint Backlog, or next Release• Stories

• Someday• Stories?• “Buckets” (story generators)• Possibly just “bright ideas” (need further investigation)

De

cre

asin

g P

recis

ion

TaskCentricTaskCentric

Page 5: Feeding The Scrum Engine

© 3Back.com

Stories – Bridge Between WBS and To Do

• From XP• use-cases, scenarios, bits of features/function

• not just for users anymore

• Discrete piece of ROI• end-to-end, incremental value

• Format• Required: name, description, validation criteria

• Also: ID#, “story boss,” priority, size estimate

• Good Stories:• “bite”-able ( ~10 in a 30-day sprint )

• validate-able (no partial credit)

• discrete (avoid dependencies)

Page 6: Feeding The Scrum Engine

© 3Back.com

Perhaps an example would help?

The Product Backlog

Product Team Org

Function Structure

Feature 1

Function 2

Feature 3

Conversions

Rewrites

Refactorings

Training

Dev Environment

Tools

Sales Support

Marketing Support

User Docs

Now

Next

Someday

Stories

Page 7: Feeding The Scrum Engine

© 3Back.com

Example – Structure the WBS

The Product Backlog

Product Team Org

Function Structure

Login

Withdraw Cash

Deposit Checks

Conversions

Rewrites

Refactorings

Training

Dev Environment

Tools

Sales Support

Marketing Support

User Docs

Page 8: Feeding The Scrum Engine

© 3Back.com

Example – Feed “To Do” View with WBS

• Now

• Next

• Someday

Decreasing P

recision

Login

WithdrawCash

Deposit Checks

Rewrites

Conversions

Training

Dev Env

Sales Support

User Docs

Page 9: Feeding The Scrum Engine

© 3Back.com

Example – Analyze / Add Stories

• Now

• Next

• Someday

Decreasing P

recision

Login

WithdrawCash

Deposit Checks

Rewrites

Conversions

Training

Dev Env

Sales Support

User Docs

Page 10: Feeding The Scrum Engine

© 3Back.com

Example – Analyze Stories (detail)

Analysis for Login Use-Case

Login “Happy Path”

“3 strikes” scenario

Login

Unfold to software elements

Develop unit / integration tests

Code up login UI

Update DB with UID / PW

Develop login module

Integrate

Name: Login “Happy Path”

Description:Primary success scenario for Login.

Validation Criteria:

-- login using UID and PW which are stored in DB is given access

-- login w/ UID or PW which is not in the DB is not given access

-- works for DEV and INT

Unfold story into tasks“when it’s time”

Page 11: Feeding The Scrum Engine

© 3Back.com

Example – Analyze / Add Stories (cont.)

• Now

• Next

• SomedayLogin

WithdrawCash

Deposit Checks

Rewrites

Conversions

Training

Dev Env

Sales Support

User Docs

Analysis for Login Use-Case

Login “Happy Path”“3 strikes” scenario

xxx xx xxxx xxxx xxxxx xxx xx xxxx

xxxx xxxxx xxx xx xxxx xxxx xxxxx

xxx xx xxxx xxxx xxxxx xxx xx xxxx

xxxx xxxxx xxx xx xxxx xxxx xxxxx

xxx xx xxxx xxxx xxxxx xxx xx xxxx

xxxx xxxxx xxx xx xxxx xxxx xxxxx

xxx xx xxxx xxxx xxxxx xxx xx xxxx

xxxx xxxxx xxx xx xxxx xxxx xxxxx

Page 12: Feeding The Scrum Engine

© 3Back.com

Example – Prioritize / Unfold Stories

• Now

• Next

• SomedayLogin

WithdrawCash

Deposit Checks

Rewrites

Conversions

Training

Dev Env

Sales Support

User Docs

Analysis for Login Use-Case

Login “Happy Path”

“3 strikes” scenario

xxx xx xxxx xxxx xxxxx xxx xx xxxx

xxxx xxxxx xxx xx xxxx xxxx xxxxx

xxx xx xxxx xxxx xxxxx xxx xx xxxx

xxxx xxxxx xxx xx xxxx xxxx xxxxx

xxx xx xxxx xxxx xxxxx xxx xx xxxx

xxxx xxxxx xxx xx xxxx xxxx xxxxx

xxx xx xxxx xxxx xxxxx xxx xx xxxx

xxxx xxxxx xxx xx xxxx xxxx xxxxx

Unfold to swareelements

Develop unit /Integration tests

Code up login UI

Update DB with UID / PW

Develop login module

Integrate

xxx xx xxxx xxxx xxxxx

xxx xx xxxx xxxx xxxxx

xxx xx xxxx xxxx xxxxx

xxxxx xx xxx x

xxxxx xx xxx x

xxxxx xx xxx x

xxxxx xx xxx x

xxxxx xx xxx x

Page 13: Feeding The Scrum Engine

© 3Back.com

Example – Do The Work

• Now

• Next

• SomedayLogin

WithdrawCash

Deposit Checks

Rewrites

Conversions

Training

Dev Env

Sales Support

User Docs

Analysis for Login Use-Case

Login “Happy Path”

“3 strikes” scenario

xxx xx xxxx xxxx xxxxx xxx xx xxxx

xxxx xxxxx xxx xx xxxx xxxx xxxxx

xxx xx xxxx xxxx xxxxx xxx xx xxxx

xxxx xxxxx xxx xx xxxx xxxx xxxxx

xxx xx xxxx xxxx xxxxx xxx xx xxxx

xxxx xxxxx xxx xx xxxx xxxx xxxxx

xxx xx xxxx xxxx xxxxx xxx xx xxxx

xxxx xxxxx xxx xx xxxx xxxx xxxxx

Unfold to swareelements

Develop unit /Integration tests

Code up login UI

Update DB with UID / PW

Develop login module

Integrate

xxx xx xxxx xxxx xxxxx

xxx xx xxxx xxxx xxxxx

xxx xx xxxx xxxx xxxxx

xxxxx xx xxx x

xxxxx xx xxx x

xxxxx xx xxx x

xxxxx xx xxx x

xxxxx xx xxx x

xxxxx xx xxx x

xxxxx xx xxx x

xxx xx xxxx xxxx xxxxx

xxx xx xxxx xxxx xxxxx xxx xx xxxx

xxxx xxxxx

Notice how work outsidesprint just appears

Page 14: Feeding The Scrum Engine

© 3Back.com

Example – Clean Up for Next Sprint

• Now

• Next

• SomedayLogin

WithdrawCash

Deposit Checks

Rewrites

Conversions

Training

Dev Env

Sales Support

User Docs

“3 strikes” scenario

xxx xx xxxx xxxx xxxxx xxx xx xxxx

xxxx xxxxx xxx xx xxxx xxxx xxxxx

xxx xx xxxx xxxx xxxxx xxx xx xxxx

xxxx xxxxx xxx xx xxxx xxxx xxxxx

xxx xx xxxx xxxx xxxxx xxx xx xxxx

xxxx xxxxx xxx xx xxxx xxxx xxxxx

xxx xx xxxx xxxx xxxxx xxx xx xxxx

xxxx xxxxx xxx xx xxxx xxxx xxxxx

xxx xx xxxx xxxx xxxxx

xxx xx xxxx xxxx xxxxx

xxxxx xx xxx x

xxxxx xx xxx x

xxx xx xxxx xxxx xxxxx

xxx xx xxxx xxxx xxxxx xxx xx xxxx

xxxx xxxxx

Page 15: Feeding The Scrum Engine

© 3Back.com

Keys to Success

• Be validation-centric• done / work complete

• verified / tested

• validated / demoable or accepted

• no partial credit

• “Right-size” stories• don’t be afraid of small bites

• stories are not tasks

• let the product lead

• Adapt• unfold complexity

• deal with difficulty

Page 16: Feeding The Scrum Engine

© 3Back.com

Reminder!

• Staying Agile is an Agile process

• Agile is about people• Play to win vs. playing not to lose

• You don’t “do an agile process…”

…you are the agile process!

Page 17: Feeding The Scrum Engine

© 3Back.com

Thank You!