Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Story Mapping for Beginners
Keeping the Big Picture and creating smaller batches of work
DDD North
14th October 2017 @ 09:30
Slide background: Sunrise from Heartlands, West Lothian. (23/Sept/2017)
Overview
• Introduction to Story Mapping
• Let’s build a Story map
• Review
https://colinmackay.scot
What is Story Mapping?
“Story Mapping is a technique that provides the big picture that a pile of stories so often misses”
-- Martin Fowler
Forward of User Story Mapping by Jeff Patton, page xi
How is Story Mapping helpful?
• Improved Shared Understanding
• More easily become apparent when people mean different things.
projectcartoon.com
User Tasks are the basic building blocks of a story map
• Ideally: Imperative verb phrase
e.g. “Do something”
•Basic building block of a story map
•There will be differences
User Tasks are the basic building blocks of a story map
•Compare with others:
• Do you have more tasks because you do more?
• Or have you written them more granularly?
Getting the tasks to sea level
•Summary Level: Cloud/Kite • Made up of many user goals
•User Goals: sea level • Task is atomic
•Subfunctions: Fish/Clam • Smaller tasks that make up a goal
Writing Effective Use Cases by Alistair Cockburn, Chapter 5: Three Named Goal Levels
Organise your storyFrom left-to-right; start-to-finish
• De-duplicate
• Narrative flow: join tasks with “… and then I…” for the happy path
• Fill missing detail – e.g. When things go wrong?
• Put things that happen around the same time together.
~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~
Exploring alternatives
•Body of map is filled with:• Details
• Alternatives
• Variations
• Exceptions
•Did you reorganised the flow?• Some people do things in a different order.
In a software system…
•Many teams coming together
•The map is “narrative flow”.
•Not necessarily in strict order.• Tasks can run in parallel.
•Stickers/symbols to show teams or components.
•Anthropomorphise backend systems.
•Likely to find holes.• Things you thought others were doing.
Make the backbone• Group tasks together that would be done together.
• e.g. Bathroom related activities together.
• Above each group write a short verb phrase• Activities: Aggregated tasks with a common goal.
~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~
~~~ ~~~ ~~~ ~~~ ~~~
Distil your Map to Make a Backbone
• The backbone:• At the top of your map you now have activities
• Below that the high-level tasks
• Discussions about what to call things• When taking with your customers call it what they call it.
~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~ ~~~
~~~ ~~~ ~~~ ~~~ ~~~
In a Software System… Scope Creep?
•Scope doesn’t creep
•Understanding grows
Ask yourself:
•Do you have to do it all?
•Do you have to do it all at once?
Getting to a Minimum Viable Product• Imagine: You’re in a rush.
• What is the minimum you need to get out the door?
Rinse and Repeat
•You can keep drawing lines and extracting more slices for each release.
•You might want feedback from the first release before you do this tho’.
Back to Software Development
•This is a “Now Map”
•Normally you do a “Later Map”
•Use “Now Maps” to map existing processes.• Question why does X happen?
• What are the pain points?
• What’s good about the process?
• What could make it better? Etc.