Agile Tips - All about stories

63

description

This is a session I prepared for the R&D team at Global 360.

Transcript of Agile Tips - All about stories

Page 1: Agile Tips - All about stories
Mikhail Dikov
-More examples of good bad and ugly-More decomposition examples with commentary
Page 2: Agile Tips - All about stories

Agenda

Why stories? What stories are? What stories are not? How to create a story? How to split a story? When to split a story? Story smells

Page 3: Agile Tips - All about stories

Why stories? Verbal communication

Page 4: Agile Tips - All about stories

Why stories? Verbal communication

As an Administrator

I want the system to constantly make sure it is

healthy

so that I don't have to worry about it

Page 5: Agile Tips - All about stories

Why stories? Verbal communication

As an Administrator

I can use a watchdog service

so that I know when the system stopped working

Page 6: Agile Tips - All about stories

Why stories? Comprehensible

Page 7: Agile Tips - All about stories

Why stories? Comprehensible

As a Developer

I want a standard exception class and conventions for use throughout all the server source code

so that I don't have to reinvent the wheel

Page 8: Agile Tips - All about stories

Why stories? Comprehensible

As a participant

I want to know what to do in the event of an application malfunction

So that I can continue working

Page 9: Agile Tips - All about stories

Why stories? Comprehensible

As a participant I want to know what to do in the event of an application malfunction so that I can continue working

As a Developer I want a standard exception class and conventions for use throughout all the server source code so that I don't have to reinvent the wheel

Page 10: Agile Tips - All about stories

Why stories? Right size for planning

Page 11: Agile Tips - All about stories

Why stories? Great for Iterative development

Page 12: Agile Tips - All about stories

Why stories? Defer detail

Page 13: Agile Tips - All about stories

Why stories? Defer detail

Release planning – no details

Iteration planning – increasing detail

Iteration – maximum detail

Page 14: Agile Tips - All about stories

Why stories? Tacit knowledge

Page 15: Agile Tips - All about stories

Why stories? Review

1. Do talk stories, don’t write novels

2. Write for dummies

3. Change stories as you need

4. Enough detail to move along

Page 16: Agile Tips - All about stories

What stories are?

Page 17: Agile Tips - All about stories

What stories are? A reminder to talk

A phrase or two that act as a reminder to hold the conversation

Page 18: Agile Tips - All about stories

What stories are? A reminder to talk

Notes about issues resolved during the conversation

Page 19: Agile Tips - All about stories

What stories are? Common format

As a …. KidI want …. to carry my bucket in the neighborhoodSo that …. I can get lots of candies

Page 20: Agile Tips - All about stories

What stories are? Front side

Halloween fun As a Kid I want to carry my bucket in the

neighborhoodSo that I can get lots of candies

Customer: Lafayette Police Department

Page 21: Agile Tips - All about stories

What stories are? Flip side/Acceptance

• Put all crooks in jail• Have at least 10 patrol cars on

the streets• Write a safety brochure• Distribute the safety brochure• Make sure officers’ kids have

enough candy

Page 22: Agile Tips - All about stories

What stories are? Review

1. Reminder of a conversation

2. Try, make a mistake, and try again

3. If it’s bigger than a (large) PostIt its too big

4. Where’s the real Value, Value, Value

Page 23: Agile Tips - All about stories

What stories are not? requirements

Page 24: Agile Tips - All about stories

What stories are not? requirements

1. The product shall have gasoline engine2. The product shall have four wheels

a) The product shall have rubber tire for each wheel

3. The product shall have steering wheel4. The product shall have steel body

WHAT IS THE PRODUCT?

Page 25: Agile Tips - All about stories

What stories are not? requirements

SPEED GRASS MOWER

Page 26: Agile Tips - All about stories

What stories are not? requirements

As a busy dad

I can mow the lawn easy and quickly

so that I have more time for my family

Page 27: Agile Tips - All about stories

What stories are not? too specialized

As a Builder

I want each solution to contain an archetype for folders in that solution

so that I can provide users with built-in foldering services

Page 28: Agile Tips - All about stories

What stories are not? too specialized

As a doc-check

I want to be able to process New York three times faster

so that I can meet TPC

Page 29: Agile Tips - All about stories

What stories are not? use cases

Use Cases Stories

Number of players Multiple single

Alternate routes yes no

Scope Large Large/Epic and Small

Longevity Permanent Changing

Paper trail Extensively documented

Short note discarded after

completed

Page 30: Agile Tips - All about stories

What stories are not? use cases

Example: Builder use cases

Page 31: Agile Tips - All about stories

What stories are not? Interaction design scenarios

Heroflows Stories

Number of actors One or more single

Level of details Deep Enough to estimate

Scope Multiple stories Single story

Longevity Permanent Changing

Paper trail Extensively documented

Short note discarded after

completed

Page 32: Agile Tips - All about stories

What stories are not? Interaction design scenarios

Example: Creating a new library & content type

Page 33: Agile Tips - All about stories

What stories are not? Review

Interaction design scenario

Use Case

Complete description of Story & Acceptance

Criteria

Story :As a participant…

Acceptance :• . . . • . . .• . . .

Page 34: Agile Tips - All about stories

What stories are not? Review

1. A story is a tool to capture requirements on the move, not the requirement itself

2. Use cases and heroflows are not stories, but can be a good source for stories

3. All players should understand the story

Page 35: Agile Tips - All about stories

How to create a story? The perfect story

Negotiable

Valuable to Purchasers and Users

EstimableSmall

Testable

Page 36: Agile Tips - All about stories

How to create a story? Team effort

• Create a Product Owner (or Customer) Team– Real user (rarely)– Product manager – Interaction designer– Behavioral designer or non technical specialist– -------------------------------------– Sales engineer– Support engineer– Developer– Tester

Page 37: Agile Tips - All about stories

How to create a story? Team effort

• Conduct a story writing workshop

– Time boxed

– Defer details

Page 38: Agile Tips - All about stories

How to create a story? Roles and persona

Page 39: Agile Tips - All about stories

How to create a story? Roles and persona

• For each action that the role can do draw a line to a new box, label the box and write a story

Create Folder

Create Content

Type

Configure Storage

Page 40: Agile Tips - All about stories

How to create a story? Roles and persona

• Let’s try it!

Page 41: Agile Tips - All about stories

How to create a story? Create prototypes

• low fidelity

• throw them away once the session is completed

Page 42: Agile Tips - All about stories

How to create a story? Design

Page 43: Agile Tips - All about stories

How to create a story? Review

1. Start with defined roles and persona

2. Conduct a story writing workshop

3. Stories are a team effort

4. Early prototypes are communication tool, not a design artifact

Mikhail Dikov
Call out the relationship between the design and stories formulations
Page 44: Agile Tips - All about stories

How to split a story? Start large, end with right size

• Start with broader strokes and epics

• Split in smaller stories close to release and iteration

Page 45: Agile Tips - All about stories

How to split a story? Compound story

Low Complexity

A lot of work

Page 46: Agile Tips - All about stories

How to split a story? Cut the cake

Page 47: Agile Tips - All about stories

How to split a story? Split on data boundaries

• First Name• Last Name• Address 1• Address 2• City• State• ZIP

Story A

Story B

Story A

Page 48: Agile Tips - All about stories

How to split a story? Complex story

Research/design story– short – time boxed

Implementation story- plan for another

iteration

Page 49: Agile Tips - All about stories

How to split a story? Split on priority

High priority parts go up in the backlog

Low priority parts get in separate stories

Page 50: Agile Tips - All about stories

When to split a story?

Release planning some

Iteration planning most

End of iteration some

Page 51: Agile Tips - All about stories

How to create a story? Defer detail

• 508 Compliance

• Issues?

Page 52: Agile Tips - All about stories

How to create a story? Defer detail

• As a participant with disabilities I can use the document management system, so that my disability does not affect my productivity

Page 53: Agile Tips - All about stories

How to create a story? Defer detail

• As a participant I can use a text equivalent for every non-text element on the screen so that if I am vision impaired, I can work with the system

Page 54: Agile Tips - All about stories

How to create a story? Defer detail

• As a participant I can use a text equivalent for every toolbar icons on the screen so that if I am vision impaired, I can work with the system

• As a participant I can use a text equivalent for every dialog box buttons on the screen so that if I am vision impaired, I can work with the system

Page 55: Agile Tips - All about stories

How and When to split a story? Review

1. Split and conquer!

2. Cut in slices

3. Split before an iteration to get the size right

4. Split at the end of an iteration to declare the iteration complete

Page 56: Agile Tips - All about stories

Story Smells

Page 57: Agile Tips - All about stories

Story Smells Stories are too small

Symptom: A frequent need to revise estimates

Small stories may be implementation order dependent

Page 58: Agile Tips - All about stories

Story Smells Goldplating

Symptom: Developers adding features/enhancements that are not planned for the iteration

• Seeking the Wow factor• Pet features

Page 59: Agile Tips - All about stories

Story Smells Too much detail

Symptom: Writing stories takes more time than talking stories

• Too much detail to early

• If it cannot fit on an index card it is too long

• Hard to estimate

Page 60: Agile Tips - All about stories

Story Smells Thinking too far ahead

Symptoms: • Stories are hard to fit on a card• Need for using a software system rather than cards• Common among teams accustomed to large up

front "requirements" engineering efforts• Suggesting the use of template user story docs• Reminder what stories are, and recognition that it

is impossible to have all requirements and details

Page 61: Agile Tips - All about stories

Story Smells Customer has trouble prioritizing

• Prioritizing is difficult

• Consider reviewing the size

• Lack of biz value

• Too technical, the owner does not get it

• Let the customer write the stories, be part of it

Page 62: Agile Tips - All about stories

Story Smells Review

1. Sharpen your senses

2. If it is too hard too often it ain’t right

3. Address issues early

4. Good judgment comes from experience, and experience comes from bad judgment