Agile Tips - All about stories
-
Upload
mikhail-dikov -
Category
Technology
-
view
2.976 -
download
2
description
Transcript of 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
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
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