User Story Mapping, Discover the whole story


Published on

Variations of these slides have been used in a variety of talks.

These slides support discussions on why stories work, and when they don't. And, on story mapping, how and why it works.

Published in: Software
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

User Story Mapping, Discover the whole story

  1. 1. Jeff Patton twitter: @jeffpatton Story Mapping discover the whole story
  2. 2. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Stupid stuff I used to believe about Agile stories: 1. Stories are way to document requirements in Agile processes 2. Good stories are small 3. Good product backlogs are prioritized lists of stories 4. Each story we build is valuable to customers and users 2
  3. 3. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Documents don’t work the way you think they do 3
  4. 4. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Imagine  a  simple  phone  conversa?on... Jen  Yates’  Cake  Wrecks: 4
  5. 5. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Specifying  in  wri?ng  doesn’t  work  well h5p:// Cake  Wrecks,  book  by  Jen  Yates,   5
  6. 6. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Specifying  in  wri?ng  doesn’t  work  well Jen  Yates’  Cake  Wrecks: 6
  7. 7. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Specifying  in  wri?ng  doesn’t  work  well Jen  Yates’  Cake  Wrecks: 7
  8. 8. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Specifying  in  wri?ng  doesn’t  work  well Jen  Yates’  Cake  Wrecks: 8
  9. 9. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Specifying  in  wri?ng  doesn’t  work  well Jen  Yates’  Cake  Wrecks: 9
  10. 10. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Specifying  in  wri?ng  doesn’t  work  well Jen  Yates’  Cake  Wrecks: 10
  11. 11. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Specifying  in  wri?ng  doesn’t  work  well Some<mes  mistakes  are  less  funny 11 “... engineers failed to make a simple conversion between English units and metric, an embarrassing laps...”
  12. 12. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on When  we  share  and  sign  off  a  document   we  may  believe  we  understand 12
  13. 13. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Kent has a disruptively simple idea 13
  14. 14. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Stop it. Stop exchanging documents. Tell me your story. If  we  we  could   just  talk  about  this,  we   could  figure  it  out   together. 14
  15. 15. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on The  original  idea  of  a  story  was  simple:   use  it  to  facilitate  a  conversa?on 15 someone   who  wants   something I’ve written on the card what I want We’ll talk about it to discover the details of what I need to build. someone  who   builds   something
  16. 16. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Stories get their name from how we use them, not how we write them. 16
  17. 17. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on But, we still managed to screw that up 17
  18. 18. blah blah blahdy-blah b’blah blah blahdy-blah blah blah blahdy-blah b’blah blah blahdy-blah blah blah blahdy-blah b’blah blah blahdy-blah blah Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on This  is  a  Scrum  backlog  grooming  session 18
  19. 19. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on This isn’t the kind of conversation Kent had in mind 19
  20. 20. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Something special is going on during an effective conversation 20
  21. 21. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on With  a  shallow  discussion,  we  may  all   take  away  something  different 21
  22. 22. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on When  we  externalize  our  thinking  with   words  and  pictures,  we  detect  differences 22
  23. 23. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on When  we  combine  and  refine,  we  arrive   at  something  be'er 23
  24. 24. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on A4erwards,  when  we  say  the  same  thing,  we   actually  mean  it 24
  25. 25. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Shared  understanding  and  alignment  are  the   objec;ves  of  collabora;ve  work ✴ Credit  for  this  illustra;on  goes  to  ThoughtWorks’  Luke   Barret.    Jeff  PaGon  drew  these  illustra;ons  based  on  Luke’s.     Luke  doesn’t  recall  where  he  first  saw  this  cartoon. 25
  26. 26. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Words  and  pictures  help  everyone  build   shared  understanding 26
  27. 27. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on To  build  shared  understanding,  use  sketching   and  recording  on  walls  and  whiteboards   27
  28. 28. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on 28
  29. 29. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Shared  Understanding  and  collabora?on   at  Atlassian 29
  30. 30. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Shared  Understanding  and  collabora?on   at  Atlassian 30
  31. 31. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Shared  Understanding  and  collabora?on   at  Atlassian 31
  32. 32. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on What  you  record  during  conversa?ons   works  like  a  vaca?on  photo Looking  at  it  helps  you  remember  details  that  aren’t  in   the  photo 32
  33. 33. !Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on What  you  record  during  conversa?ons   works  like  a  vaca?on  photo Looking  at  it  helps  you  remember  details  that  aren’t  in   the  photo 33
  34. 34. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Effective story conversations build shared understanding The best documents use words and pictures to help recall our conversations, they don’t replace conversations 34
  35. 35. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Y You’ll have to think things through 35
  36. 36. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on This  is  a  cake  for  a  baby  shower Jen  Yates’  Cake  Wrecks: 36
  37. 37. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Y I don’t think they thought this through... 37
  38. 38. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on This  is  a  cake  for  a  baby  shower Jen  Yates’  Cake  Wrecks: 38
  39. 39. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on 39
  40. 40. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on 40
  41. 41. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Talk  about  the  outcome,  not  just  the   output output outcome we want thiswe build this 41
  42. 42. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Stories  are  an  an?dote  to  “requirements” SoYware  development  has  been  steered   wrong  by  the  word  ‘requirement,’  defined  in  the   dic?onary  as  “something  mandatory  or  obligatory.”     The  word  carries  a  connota?on  of  absolu?sm  and   permanence,  inhibitors  to  embracing  change.    And   the  word  ‘requirement’  is  just  plain  wrong. 42
  43. 43. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Kent suggested we talk about what happens when things come out 43
  44. 44. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Talk  about  who  does  what,  and  why  What  I  was  thinking   of  was  the  way  users  some?mes   tell  stories  about  the  cool  new  things  the   soYware  they  use  does:   “I type in the zip code and it automatically fills in the city and state without me having to touch a button!” I  think  that  was  the  example  that  triggered  the  idea.   If  you  can  tell  stories  about  what  the  soYware  does   and  generate  energy  and  interest  and  a  vision  in   your  listener's  mind,  then  why  not  tell   stories  before  the  soYware  does  it? 44
  45. 45. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Say  “Hi”  to  Rachel 45
  46. 46. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Rachel  and  her  team  at  Connextra   created  a  clever  conversa?on  starter 46 who what why conversation starter good short title
  47. 47. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Focus discussion and collaboration around who will use the product and how they’ll work “later,” after delivery 47
  48. 48. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Stories  have  a  simple  lifecycle Conversa?on Confirma?on * Ron Jeffries coined the 3 C’s in Extreme Programming Installed ! ! ! ? Card
  49. 49. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on If  you  replace  a  conversa?on  with  a   document,  you’ve  stopped  using  stories 49
  50. 50. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Stories aren’t a different way to write requirements, they’re a different way to work 50
  51. 51. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on It’s easy to get nowhere fast 51
  52. 52. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on A  Story  Map  helps  organize  discussion   about  user’s  experience  with  our  product Gary Levitt, owner & designer of Mad Mimi 52 Explore Details• smaller steps• alternative steps• UI details• technical details Map Use(from the user’s perspective) backbone(gives structure tothe map) Frame the idea (why build the product) Understand Users (what are their goals)
  53. 53. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Gary  ul;mately  built  a  successful  product 53
  54. 54. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on A  story  map  is  a  simple  way  to  tell  a  story   and  break  it  down  into  parts 54
  55. 55. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Build  story  maps  in  small  collabora?ve   groups   55
  56. 56. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Use  the  map  for  con?nuous  discussion 56
  57. 57. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Discussions  drive  out  more  details,   validate,  and  build  shared  understanding 57 Talking through the map with multiple users and subject matter experts helps test it for completeness
  58. 58. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Use story maps to understand your whole product or feature’s experience Use mapping to break down big stories without losing the big picture 58
  59. 59. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on If I hear MVP one more time, I’m going to shoot myself 59
  60. 60. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Plan  by  slicing  the  map  into  holis?c   valuable  releases 60
  61. 61. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Plan  by  slicing  the  map  into  holis?c   valuable  releases 61
  62. 62. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Plan  by  slicing  the  map  into  holis?c   valuable  releases 62
  63. 63. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Target outcome Outcome- centric roadmap MVP MVP:  Minimal   Viable  Product ๏ The  smallest  product   you  could  build  that   reaches  your  target   outcomes It’s  NOT  -­‐  the   crappiest  thing  that   could  possibly  work If  it  dies  in  the   market,  it’s  wasn’t   viable Your  job  is  to  build  LESS  soYware 63
  64. 64. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on But, how do you know if you’re hypothesis is correct? 64
  65. 65. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on You don’t 65
  66. 66. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Delivering  your  hypothe?cal  solu?on  a   piece  at  a  ?me  delays  learning 66 Hypothesis: output outcome $$$ impact *  Artwork  and  concept  described  by  Henrik  Kniberg
  67. 67. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Deliver  minimum  viable  product  tests  to  a   smaller  audience  to  find  what’s  really  viable   67 Hypothesis: output outcome $$$ impact MVP? somewhere around here *  Artwork  and  concept  described  by  Henrik  Kniberg
  68. 68. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Eric  has  organized  his  backlog  into  a   series  of  release  slices 68
  69. 69. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Nothing  leaves  their  board   un?l  there’s  been  a  discussion   on  what  they’ve  learned Snag-­‐a-­‐Job’s  task  board  photo  courtesy  of  David  Bi5enbender Explicit  release  step Explicit  measure  step  &  metrics 69
  70. 70. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on You won’t finish on time 72
  71. 71. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on “accurate estimate” is an oxymoron 73
  72. 72. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on To release benefit on a schedule we’ll need to budget, and leverage incremental and iterative thinking (What’s the difference?) 74
  73. 73. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on “incremen?ng”  builds  a  bit  at  a  ?me 1 2 3 4 5 Incrementing calls for a fully formed idea. And, doing it on time requires dead accurate estimation. 75
  74. 74. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on “itera;ng”  and  “incremen;ng”  builds  a  rough   version,  validates  it,  then  slowly  builds  up  quality 1 2 3 A more iterative allows you to move from vague idea to realization making course corrections as you go. 4 5 76
  75. 75. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on193 77 Many  organiza?ons  consider  revising  the  same   func?onality  as  failure.    Itera?on  is  not   tolerated.
  76. 76. time Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Work  like  an  ar?st  to  envision  and  build   the  product  holis?cally 78 “Art is never finished, only abandoned.” -Leonardo DaVinci
  77. 77. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on End Game Over time the value of stories begin to diminish signaling it’s time for release Mid Game Once we’re confident we have the “shape” of the product right, we begin to pile in value Opening Game Early stories emphasize iteration and learning. We need to be sure we’re building the right product Organize  work  to  maximize  learning The  inverse  of  risk   is  knowledge Learning  earlier   about  delivery   risks  helps  us   finish  on  ?me Alistair  Cockburn   refers  to  cuhng   the  small   “polishing”  stories   as  “trimming  the   tail.” time acquiredproductknowledge 79
  78. 78. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Use  a  story  map  to  slice  out  a  delivery   strategy 80
  79. 79. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Consider  these  four  story  splihng   heuris?cs  that  build  up  quality Bare  Necessity   For  the  feature  to  be  minimally   demonstrable  –  but  not  releasable,   what  is  the  minimal  func<onality Example:  A  form  with  only  necessary   fields  and  no  valida9on Capability  &  Flexibility   What  would  add  the  ability  to   perform  the  user  task  in  different   ways?    Adding  in  sub  tasks  that  are   op<onally  performed? Example:  a  form  with  op9onal  fields,   date  lookup  tools,  input  transla9on  on   dates Safety   What  would  make  this  feature  safer   to  use?    For  both  the  user,  and  for  the   business  paying  for  the  soPware? Example:  input  valida9on,   enforcement  of  business  rules  such  as   credit  card  valida9on     Usability,  Performance,  Sex   Appeal What  would  make  this  feature  easier   to  use?  More  desirable  to  use?    Faster   to  use? Example:  auto-­‐comple9on,  sexy  visual   design,  speed  keys 81 * Adapted from Gerard Meszaros’ “Storyotypes”
  80. 80. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on usertaskstosupport releaseD D D D D I IB- C C- D D D DA- B B- B B B B-A- A B A A- A- B- sprint 1234 Product goal: (in 4 sprints) ship the best product possible 82 Building  up  quality  itera?vely  and   incrementally  ships  the  best  product  possible 1. We  know  each  story  can  be  split  into  at  least  four  parts 2. Early  itera<ons  strive  to  build  bare  necessi<es,  later  itera<ons  build  up   quality 3. Evalua<ng  readiness  based  on  subjec<ve  quality  to  understand  doneness
  81. 81. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on 83 Sculpture  at  various  stages  of  comple<on,  Musée  d’Orsay,  Paris Product Owners must understand the delivery strategy that leads to a finished product
  82. 82. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on Build up software iteratively and incrementally to release the highest quality possible on time 84
  83. 83. Jeff  Pa'on  &  Associates,  jeff@jpa',  twi'er@jeffpa'on 1. Tell stories, don’t just write them 2. Use simple visualizations to anchor the stories you tell 3.Tell the whole story to find the parts that matter most 4. Think things through: minimize output, maximize outcome and impact 5. Build to minimum viable product tests to find what’s minimum and viable in the market Effective stories connect everyone to the purpose of your product 70
  84. 84. Jeff Patton twitter: @jeffpatton Story Mapping discover the whole story