Agile Tips - All about stories

Post on 20-Jun-2015

2.977 views 2 download

Tags:

description

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

Transcript of Agile Tips - All about stories

Mikhail Dikov
-More examples of good bad and ugly-More decomposition examples with commentary

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

Why stories? Verbal communication

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

Why stories? Verbal communication

As an Administrator

I can use a watchdog service

so that I know when the system stopped working

Why stories? Comprehensible

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

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

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

Why stories? Right size for planning

Why stories? Great for Iterative development

Why stories? Defer detail

Why stories? Defer detail

Release planning – no details

Iteration planning – increasing detail

Iteration – maximum detail

Why stories? Tacit knowledge

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

What stories are?

What stories are? A reminder to talk

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

What stories are? A reminder to talk

Notes about issues resolved during the conversation

What stories are? Common format

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

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

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

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

What stories are not? requirements

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?

What stories are not? requirements

SPEED GRASS MOWER

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

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

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

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

What stories are not? use cases

Example: Builder use cases

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

What stories are not? Interaction design scenarios

Example: Creating a new library & content type

What stories are not? Review

Interaction design scenario

Use Case

Complete description of Story & Acceptance

Criteria

Story :As a participant…

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

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

How to create a story? The perfect story

Negotiable

Valuable to Purchasers and Users

EstimableSmall

Testable

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

How to create a story? Team effort

• Conduct a story writing workshop

– Time boxed

– Defer details

How to create a story? Roles and persona

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

How to create a story? Roles and persona

• Let’s try it!

How to create a story? Create prototypes

• low fidelity

• throw them away once the session is completed

How to create a story? Design

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

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

How to split a story? Compound story

Low Complexity

A lot of work

How to split a story? Cut the cake

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

How to split a story? Complex story

Research/design story– short – time boxed

Implementation story- plan for another

iteration

How to split a story? Split on priority

High priority parts go up in the backlog

Low priority parts get in separate stories

When to split a story?

Release planning some

Iteration planning most

End of iteration some

How to create a story? Defer detail

• 508 Compliance

• Issues?

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

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

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

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

Story Smells

Story Smells Stories are too small

Symptom: A frequent need to revise estimates

Small stories may be implementation order dependent

Story Smells Goldplating

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

• Seeking the Wow factor• Pet features

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

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

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

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