crafting smaller user stories: examples and exercises

25
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 ∙ [email protected] ∙ www.sqe.com

Upload: techwell

Post on 23-Jan-2018

376 views

Category:

Software


7 download

TRANSCRIPT

Page 1: 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 ∙ [email protected] ∙ www.sqe.com

Page 2: Crafting Smaller User Stories: Examples and Exercises

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.

Page 3: Crafting Smaller User Stories: Examples and Exercises

Making Stories Smaller

Stephen Frein

Page 4: Crafting Smaller User Stories: Examples and Exercises

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

Page 5: Crafting Smaller User Stories: Examples and Exercises

Good Stories

Page 6: Crafting Smaller User Stories: Examples and Exercises

Think Small

Page 7: Crafting Smaller User Stories: Examples and Exercises

Small Stories Get Finished

Page 8: Crafting Smaller User Stories: Examples and Exercises

And Finish Faster

Page 9: Crafting Smaller User Stories: Examples and Exercises

Be the Rabbit!

Page 10: Crafting Smaller User Stories: Examples and Exercises

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

Page 11: Crafting Smaller User Stories: Examples and Exercises

What is Small Enough?

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

8 or more points (I'd start there)

Page 12: Crafting Smaller User Stories: Examples and Exercises

Getting Smaller

Do Don't

Go through all layers of the architecture.

Vertical slices Pick one layer

Page 13: Crafting Smaller User Stories: Examples and Exercises

Getting Smaller

Do Don't

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

Page 14: Crafting Smaller User Stories: Examples and Exercises

How to Get Smaller?

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

Many others too . . .

Page 15: Crafting Smaller User Stories: Examples and Exercises

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?

Page 16: Crafting Smaller User Stories: Examples and Exercises

Exercise 1

Page 17: Crafting Smaller User Stories: Examples and Exercises

Acceptance Criteria

Distinct acceptance criteria might imply places to split a story.

What if the story only satisfied some criteria?

Page 18: Crafting Smaller User Stories: Examples and Exercises

Exercise 2

Page 19: Crafting Smaller User Stories: Examples and Exercises

Data Boundaries

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

Implement later?

Page 20: Crafting Smaller User Stories: Examples and Exercises

Exercise 3

Page 21: Crafting Smaller User Stories: Examples and Exercises

User Type

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

Page 22: Crafting Smaller User Stories: Examples and Exercises

Exercise 4

Page 23: Crafting Smaller User Stories: Examples and Exercises

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)

Page 24: Crafting Smaller User Stories: Examples and Exercises

Exercise 5 – The Final!

Page 25: Crafting Smaller User Stories: Examples and Exercises

Questions?

Thank you!