From UsabilityStudies to StoriesDan Rawsthorne, PhD, CST, PMPSenior Trainer at 3Back                                3BACK....
About Me                             Available at Amazon…              “Dan and Doug can help you be greater” – Jeff Suthe...
My Analysis Mix   What Im going to show you is  combination of two things:       Story Mapping from Jeff Patton, an agile-...
Product   Capability   Story       Product                 Capability                              StoryV2.7              ...
Story Mapping and StoryoTyping                                          User                                         Games...
Metaphor  Usage Analysis – painting the picture of the Apple Tree  in its Environment  Atomic Use Cases – the twigs with a...
Royal Catalina Airlines (RCA)                 Las VegasV2.7                         7    ©   2012
SirJeffs Vision   Business Vision: I, SirJeff, want to get lots of new   customers for my new airline, Royal Catalina Air ...
Usage Analysis       What do Stakeholders want it to do?V2.7                    9                    ©   2012
Steps to Follow (Silly Saga)1. Tell Stories about how people or   Personas use the system2. Extract User Tasks3. Organize ...
Silly Saga ExampleSystem: Catalina Air WebsiteSaga: Trip to Las VegasPersona:VacationerI wanted to take my family to Las V...
ExampleI wanted to take my family to Las Vegas, so I went to         Airline Ticketsthe site and arranged some tickets for...
User Tasks         Flights                                            Hotels              Cars   Reserve            Modify...
Some More Work1. Determine the Atomic Use Cases2. Organize into Potential Releases…       Flights            Hotels   Cars...
System Analysis       What will we make it actually do?V2.7                  15                   ©   2012
The Backlog                                              Planning                       Back Burner                       ...
Initial Backlog for Release 1  Backlog for CatAir Website Development     [usecase] Check Status of Flights     [usecase] ...
Use Case Based Storyotypes                                Use Case       Implemented by         Story                     ...
Our Analysis Concept on One Slide                  “Connective Tissue” stories                                            ...
The Backbone       A 5-step scenario (plus or minus…)       Where each step is actually its own       story       A single...
“Get an e-Ticket” with Backbone[usecase] Get an e-Ticket     Stories          [backbone] Enter Itinerary Info          [ba...
Storyboard (as sequence diagram)       User                         WebApp         CUTLASS              Select “buy ticket...
And Constraints (common test thread)[usecase] Get an e-Ticket       Backbone Constraints:          One way flight         ...
And the Story we have Details For[usecase] Get an e-Ticket   [backbone] Get List of Choices from CUTLASS       As a <buyer...
Build Out the Backbone       Trying to do stuff that gets good feedback       Do the following stories        [backbone] G...
Might Need to do Wireframes                          Enter Itinerary Information                                          ...
We Need To   Once we have the backbone up and running…       And were not there yet, as we havent started work…   We would...
Different Analysis Methods   We could flesh out this capability in a  number of ways, each of which is a different  analys...
What we Will be Looking For…                      “Connective Tissue” stories                                             ...
“Get an e-Ticket” with Stories[usecase] Get an e-Ticket       [analysis] Determine Backbone of “Get an e-Ticket”       [ba...
Stories for “Buy an e-ticket” Capability[usecase] Buy an e-Ticket                                                         ...
Any Questions?V2.7         32         ©   2012
Thank You Very Much!       Join Our Scrum Community!@scrum-coachfacebook.com/3Back3back.com/linkedinV2.7               33 ...
Upcoming SlideShare
Loading in …5
×

Rawsthorne Dan - from usability studies to stories

509 views
415 views

Published on

The biggest problem in an agile Project is determining the Product Backlog — what will be built?

We know we don’t want «Big Analysis Up Front» because we know that over-specifying will get us into trouble; but we also need to know what we’re building so that we can discuss it with our Stakeholders and can estimate how much time and effort it will take.

How do we reconcile these two (seemingly) inconsistent needs?

In this talk Dan describes a strategy that begins with usability studies
and ends with actionable Stories. The strategy involves Story Mapping (from Jeff Patton), Atomic Use Cases, and StoryoTypes (from Gerard Meszaros). This blended approach is both straightforward and effective – come see how it’s done!

Published in: Travel, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
509
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Rawsthorne Dan - from usability studies to stories

  1. 1. From UsabilityStudies to StoriesDan Rawsthorne, PhD, CST, PMPSenior Trainer at 3Back 3BACK.COMdan.rawsthorne@3Back.com425-269-8628Agile Days (Moscow)24 March, 11:00-12:00
  2. 2. About Me Available at Amazon… “Dan and Doug can help you be greater” – Jeff Sutherland “the best Scrum book I have seen” – Ron Jeffries “crystal clarity” – Jeff McKenna “Dan and Doug have given you a gift”– Johanna RothmanV2.7 2 © 2012
  3. 3. My Analysis Mix What Im going to show you is combination of two things: Story Mapping from Jeff Patton, an agile- UX expert StoryoTyping from Gerard Meszaros I have modified and combined them into a unified top-to-bottom agile analysis processV2.7 3 © 2012
  4. 4. Product Capability Story Product Capability StoryV2.7 4 © 2012
  5. 5. Story Mapping and StoryoTyping User Games Silly Saga Product Box User Tasks Atomic Use Cases Backlog Items (Epics & Stories)V2.7 5 © 2012
  6. 6. Metaphor Usage Analysis – painting the picture of the Apple Tree in its Environment Atomic Use Cases – the twigs with apples and leaves System Analysis – determining the apples/leavesV2.7 6 © 2012
  7. 7. Royal Catalina Airlines (RCA) Las VegasV2.7 7 © 2012
  8. 8. SirJeffs Vision Business Vision: I, SirJeff, want to get lots of new customers for my new airline, Royal Catalina Air (so that I can make a lot of money…) Product Vision: In order to get lots of new customers for my airline, I want a website, RoyalCatalinaAir.com, that will be as good as that of “real” airlinesV2.7 8 © 2012
  9. 9. Usage Analysis What do Stakeholders want it to do?V2.7 9 © 2012
  10. 10. Steps to Follow (Silly Saga)1. Tell Stories about how people or Personas use the system2. Extract User Tasks3. Organize the User Tasks Add organizational Themes Combine and simplify Themes User TasksV2.7 10 © 2012
  11. 11. Silly Saga ExampleSystem: Catalina Air WebsiteSaga: Trip to Las VegasPersona:VacationerI wanted to take my family to Las Vegas, so I went to the RCA siteand arranged some tickets for me, my wife, and my kids. Thesetickets included seats and meals. I also got a hotel near the Strip (theGrand), and reserved a Car. A week later my son told me hewanted to take his girlfriend, so I used bonus miles to make areservation for her and modified the seat selections online so thatshe and my son sat together on the flights. Later she realized that Ihad reserved the chicken meal for her so she changed it to thevegetarian option online. I also got her a room at the same hotel,and had to upsize the car because she has a lot of luggage.V2.7 11 © 2012
  12. 12. ExampleI wanted to take my family to Las Vegas, so I went to Airline Ticketsthe site and arranged some tickets for me, my wife, • Groupand my kids. These tickets included seats and meals. • Seats • MealsI also got a hotel near the Strip (the Grand), and • Hotelreserved a Car. A week later my son told me he • Reserve Carwanted to take his girlfriend, so I so I used bonus Get Ticket with Milesmiles to make a reservation for her and modified Add person to Reservationthe seat selections online so that she and my sonsat together on the flights. Later she realized that I Change Seats Onlinehad arranged the chicken pasta meal for her so she Modify Meal Choiceschanged it to the vegetarian option online. I also got Add a Roomher a room at the same hotel, and had to upsize thecar because she has a lot of luggage. Modify Car ChoiceV2.7 12 © 2012
  13. 13. User Tasks Flights Hotels Cars Reserve Modify Status Add Flyer to Get Airline Check Status Make Hotel Make Car existing Tickets of Flight Reservations Reservations Reservation Add Hotel Check Status Change Seats Modify Car Rooms to of Reserved Online Reservation Reservation Itinerary Modify Meal Pay for Ticket Choices with Miles OnlineV2.7 13 © 2012
  14. 14. Some More Work1. Determine the Atomic Use Cases2. Organize into Potential Releases… Flights Hotels Cars Mileage Plan Themes User Tasks Atomic UCs Get Ticket Check Status Release 1 ++ Release 2What Goes on the Backlog?V2.7 14 © 2012
  15. 15. System Analysis What will we make it actually do?V2.7 15 © 2012
  16. 16. The Backlog Planning Back Burner Front Burner W ell-D efined A ctionable To D o D oing D one Working Complete the WorkGrooming Fridge In Box N ew In Scope Freezer Done V2.7 16 © 2012
  17. 17. Initial Backlog for Release 1 Backlog for CatAir Website Development [usecase] Check Status of Flights [usecase] Get an e-Ticket Description: This is the main thing we have to do, and involves everything from when a customer comes to the site looking from flights to when he actually buys one and we get an e- Ticket SMEs: SirJeff – expert on CUTLASS Sam – the current reservations guy, understands how to reserve and buy flights on RCA Mary – SirJeffs girlfriend, will serve as the proxy for the typical userV2.7 17 © 2012
  18. 18. Use Case Based Storyotypes Use Case Implemented by Story Only one Made up of Architecturally significant Backbone Simplifying assumptions Conform to Single thread Scenario Many of them Storyotype Alternate Single thread Always another one… [usecase] The use case itself [backbone] A Story on the backbone [alt] An alternative scenario [beefup] Improving a business rule in an existing scenario [redo] Changing a “broken” business rule in an existing scenario [interface] Improving the interface for the UCV2.7 18 © 2012 18
  19. 19. Our Analysis Concept on One Slide “Connective Tissue” stories Backbone Capability Minimum, Releasable System end-to-end, functionality Demonstrable, Architecturally-Significant ©V2.7 19 2012 functionality
  20. 20. The Backbone A 5-step scenario (plus or minus…) Where each step is actually its own story A single test case running through them all – holding them together Might have a StoryBoardV2.7 20 © 2012
  21. 21. “Get an e-Ticket” with Backbone[usecase] Get an e-Ticket Stories [backbone] Enter Itinerary Info [backbone] Enter Passenger Information [backbone] Get List of Choices from CUTLASS [backbone] Choose One and Pay for It [backbone] Finalize Flight in CUTLASS [backbone] Issue e-Ticket V2.7 21 © 2012
  22. 22. Storyboard (as sequence diagram) User WebApp CUTLASS Select “buy ticket” Home Enter Itinerary Itinerary Enter Pass Info Passenger Get List Pick One and Pay Pick and Pay Finalize Flight Issue e-ticket ReceiptV2.7 22 © 2012
  23. 23. And Constraints (common test thread)[usecase] Get an e-Ticket Backbone Constraints: One way flight Single leg No seat selection Dont worry about capacity of aircraft Single passenger Full fare, no discounts If anything else comes up, do it the easiest way you can, and document the new constraint here…V2.7 23 © 2012
  24. 24. And the Story we have Details For[usecase] Get an e-Ticket [backbone] Get List of Choices from CUTLASS As a <buyer> I want <a list of matching flights to choose from> so that <I can choose one that works best for me> Agreement: This story begins with receipt of the Itinerary info (date, begin and end locations) This story ends when CUTLASS returns a list of flights (up to 10 of them) that satisfy the buyers itinerary infoV2.7 24 © 2012
  25. 25. Build Out the Backbone Trying to do stuff that gets good feedback Do the following stories [backbone] Get List of Choices from CUTLASS [backbone] Enter Itinerary Info [backbone] Enter Passenger Information [backbone] Choose One and Pay for It We dont need all of them to get good feedback…V2.7 25 © 2012
  26. 26. Might Need to do Wireframes Enter Itinerary Information Calendar From: Dropdown Depart: Date widget forDropdown list datesof places weactually fly To: Dropdown Return: Date Number of Passengers: # Go!V2.7 26 © 2012
  27. 27. We Need To Once we have the backbone up and running… And were not there yet, as we havent started work… We would like to beef up the Backbone to provide a releasable version of the Capability We need to add more “stuff” to fill the gaps Alternatives More robust business rules Clean up Interfaces Etc To do these we add stories to our Backlog In my experience, it takes an additional 10-40 stories to make the capability releasable Your Mileage May VaryV2.7 27 © 2012
  28. 28. Different Analysis Methods We could flesh out this capability in a number of ways, each of which is a different analysis method Have a meeting to discuss the capability (2-4 hours) Usability testing (large effort, not done until we feel its almost finished) Exploratory (Ad Hoc or gorilla) testing (up to a day of “banging on” the system to figure out whats missing)V2.7 28 © 2012
  29. 29. What we Will be Looking For… “Connective Tissue” stories Backbone Capability Minimum, Releasable System end-to-end, Demonstrable, functionality Architecturally-SignificantV2.7 29 © 2012 functionality
  30. 30. “Get an e-Ticket” with Stories[usecase] Get an e-Ticket [analysis] Determine Backbone of “Get an e-Ticket” [backbone] Capture Itinerary Info [backbone] Get List of Choices from CUTLASS [backbone] Enter Passenger Information [backbone] Choose One and Pay for It [backbone] Finalize Flight in CUTLASS [backbone] Issue e-Ticket [analysis] Whats Next? [alt] Round Trip Flights [alt] Multiple Legs [usecase] Cancel e-Ticket [usecase] Transfer e-Ticket [beefup] Multiple Passengers in Party [interface] Clean up Interface for “Buy e-Ticket” Etc…V2.7 30 © 2012
  31. 31. Stories for “Buy an e-ticket” Capability[usecase] Buy an e-Ticket Fd Dn Size [backbone] Get List of Flights from CUTLASS (ugly interface) 0 1 L [backbone] Capture Itinerary Information 0 2 L [backbone] Capture Passenger Information 0 2 L [backbone] Reserve Flight in CUTLASS 0 2 L Continuous Analysis [alt] Modify CUTLASS to Understand When Flight is Full (note: was awful!) 2 3 L [analysis] Analysis Meeting with SirJeff 1 3 S As you move along, [backbone] Pick One Flight and Pay for It (note: stubbed out actual payment) [alt] Handle Round Trip Flights (ugly Interface) 0 0 3 3 L L you will need to find [beefup] Hook Up Actual Visa/MasterCard Processing Widget (note: was a new stories “within” PITA) 3 4 L [backbone] Issue email Confirmation to Customer 0 4 M the features [interface] Improve Interface for buying e-ticket [beefup] Close Reservations when Plane is Full (note: turned out to be easy) 3 0 4 4 M L What we see here is [alt] Add Payment with PayPal (note: really straightforward) 3 4 M the list of stories for [alt] Reserve Flight to Pay upon arrival at Airport 0 4 M [alt] Handle multiple-Passenger Parties 0 5 L “Buy an e-Ticket” that [interface] Web Interface for Adding/Modifying Flight Info 3 5 L were found / [beefup] Get Luggage Info, including Scuba Tanks 3 5 L [analysis] Exploratory Testing to "See Whats Left" for Buy an e-Ticket 4 5 S implemented in this [spt] Make sure SirJeffs Marketing materials have correct information 2 5 S release [redo] Fix Bug in Luggage Weight Calculations 5 5 S [bug] Fix Small List of Bugs found in Exploratory Testing 5 6 M [alt] Pay with AMEX 3 M [alt] Bring Pet on Board 5 M [beefup] Special Needs (wheelchair, etc) 5 S [alt] Select Seat online 3 M [alt] Pay with Coupon 3 M [beefup] Seat Belt Extender Needed for large Passenger 3 S [beefup] Special Meals 5 S [alt] Change Seat online 3 M [alt] Comfort Seat for really large Passenger 5 S V2.7 31 © 2012
  32. 32. Any Questions?V2.7 32 © 2012
  33. 33. Thank You Very Much! Join Our Scrum Community!@scrum-coachfacebook.com/3Back3back.com/linkedinV2.7 33 © 2012

×