Crafting Smaller User Stories: Examples and Exercises

Post on 23-Jan-2018

377 views 7 download

Transcript of Crafting Smaller User Stories: Examples and Exercises

AW8 Agile Development Concurrent Session 11/12/2014 1:30 PM

"Crafting Smaller User Stories: Examples and Exercises"

Presented by:

Stephen Frein Comcast

Brought to you by:

340 Corporate Way, Suite 300, Orange Park, FL 32073 888-268-8770 ∙ 904-278-0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com

Stephen Frein is a director of quality assurance at Comcast, where his team is responsible for the quality of various high-profile web properties, including Comcast.com. As an adjunct professor at Drexel University, Stephen delivers soporific lectures on database development and IT management at both the undergraduate and graduate levels. For fifteen years he has been leading development and testing teams—occasionally well—mostly by dint of accidents he cannot reliably replicate. Stephen has presented at previous conferences, including the Better Software Conference, by sneaking into unused rooms and deceiving the unsuspecting. He enjoys polluting the hive mind via frein.com.

Making Stories Smaller

Stephen Frein

Stuff We'll Talk About

• What makes a good user story? • How does that relate to story size? • Ways to make stories smaller • Ways not to make stories smaller

Good Stories

Think Small

Small Stories Get Finished

And Finish Faster

Be the Rabbit!

Smaller = Better Estimates LARGE SMALL Estimation Error

Estimate Actual Error Estimate Actual Error 20 .

8 10 2 5.05 5 0.054.86 6 1.14 2.52 3 0.48 Trial Large Small

8.96 8 0.96 4.68 4 0.68 1 0.72 0.1

10.2 12 1.8 7.14 6 1.14 2 0.7 1.5

9.8 10 0.2 5.6 5 0.6 3 0.4 0.5

4.2 5 0.8 4 2.68 1

3.48 3 0.48 5 0.02 1

4.32 4 0.32 6 4.9 0.1

4.86 6 1.14 7 1.22 0.3

4 5 1 8 0.76 0.5

9 2.6 1.2

41.82 46 6.1 45.85 46 6.69 10 4.38 0.1

4.18 0.15 18.38 6.3

What is Small Enough?

• Context is everything • Many teams consider breaking up anything of

8 or more points (I'd start there)

Getting Smaller

Do Don't

Go through all layers of the architecture.

Vertical slices Pick one layer

Getting Smaller

Do Don't

Don't develop in one iteration and test the next. Cover all tasks Split by "phases"

How to Get Smaller?

• Break point words • Acceptance criteria • Data boundaries • User type

Many others too . . .

Break Point Words

• And

• As well as • But • [Commas] • If

• Or • Then • Using • When • With

For example:

Is the scope on each side independently valuable?

Exercise 1

Acceptance Criteria

Distinct acceptance criteria might imply places to split a story.

What if the story only satisfied some criteria?

Exercise 2

Data Boundaries

Can some data elements be handled in one story while others get handled later?

Implement later?

Exercise 3

User Type

Can a story be implemented for one type of user while other types get addressed later?

Exercise 4

Other Techniques

• Operation Type (CRUD) • Remove cross-cutting concerns (security, logging, error handling, performance) • Separate by priority (ROI) • Separate by risk • Hamburger method (break story into tasks and try to simplify tasks)

Exercise 5 – The Final!

Questions?

Thank you!