This action might not be possible to undo. Are you sure you want to continue?
User Story Mapping
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
Our goals and agenda today
Goal: Learn to use the user story backlog as a way to describe user’s experience with your product Part 1: Mapping user stories
User story essentials Telling stories about the user experience Mapping user stories based on experience
Part 2: Planning valuable incremental releases
Identifying product goals that delivery value Slicing the story map into valuable releases
Part 3: Iteratively constructing software (time permitting)
Identifying an iterative and incremental construction strategy Splitting and thinning stories for upcoming development iterations
© Jeff Patton, all rights reserved, www.AgileProductDesign.com 2
Starting with the User Story
What do you know about user stories? What do you like about user stories? What causes you trouble with user stories
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
User Stories are multi-purpose QuickTime™ an d a Cinepak decompressor are need ed to see this p icture .AgileProductDesign. www. all rights reserved. © NBC Studios © Jeff Patton.com 4 .
all rights reserved.User Stories are multi-purpose Stories are a: User’s need Product description Planning item Token for a conversation Mechanism for deferring conversation * Kent Beck coined the term user stories in Extreme Programming Explained 1st Edition.AgileProductDesign. 1999 © Jeff Patton.com 5 . www.
com 6 .AgileProductDesign. or sketches Before building software write acceptance criteria (how do we know when we’re done?) © Jeff Patton. all rights reserved. www. specifications.Stories gain detail over time Start with a title Add a concise description often using this useful template: As a [type of user] I want to [perform some task] so that I can [reach some goal] Add other relevant notes.
com 7 . www.Agile customers or product owner prioritize stories into a backlog A collection of stories for a software product is referred to as the product backlog The backlog is prioritized such that the most valuable items are highest © Jeff Patton.AgileProductDesign. all rights reserved.
) © Jeff Patton.com 8 . all rights reserved.AgileProductDesign. I blame Brian.Let’s talk about the nature of multi-purpose things (yes I’m going meta. www.
all rights reserved.” -.AgileProductDesign. They have different meanings in different social worlds but their structure is common enough to more than one world to make them recognizable means of translation.com 9 .Leigh & Griesemer © Jeff Patton. They may be abstract or concrete.User Stories are boundary objects “A boundary object is a concept in sociology to describe information used in different ways by different communities. interpreted differently across communities but with enough immutable content to maintain integrity” -Wikipedia “They are weakly structured in common use. and become strongly structured in individual-site use. The creation and management of boundary objects is key in developing and maintaining coherence across intersecting social worlds. www. They are plastic.
User Stories act as the boundary to facilitate conversation between many How do I people understand How do I describe to you what I want? users and their needs? What are the things my product needs to be successful? What are the details of this feature I need describe? user UX person BA business leader How do I schedule this work and track it its progress? How do I validate this work is done? PM tester developer What are the details of what I need to work on today? © Jeff Patton. all rights reserved.com 10 . www.AgileProductDesign.
AgileProductDesign.But size always matters. How big is the story we want to talk about? © Jeff Patton. www.. all rights reserved.com 11 ..
com 12 . all rights reserved. www. it’s easy to get lost in the sheer number of them © Jeff Patton.AgileProductDesign.And.
how do we stay on track? © Jeff Patton.AgileProductDesign. as we start moving forward.com 13 . all rights reserved.And. www.
com 14 .User Story Mapping is an an approach to Organizing and Prioritizing user stories Unlike typical user story backlogs. all rights reserved.AgileProductDesign. www. Story Maps: make visible the workflow or value chain show the relationships of larger stories to their child stories help confirm the completeness of your backlog provide a useful context for prioritization Plan releases in complete and valuable slices of © Jeff Patton.
User Story Mapping is an an approach to Organizing and Prioritizing user stories
Story Maps support the primary intent of user stories, rich discussion
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
The foundational building block of a story map is the user task
© Jeff Patton, all rights reserved, www.AgileProductDesign.com 16
First let’s do a warm-up exercise to understand a few concepts
What were all the things you did to get ready to be here today?
Starting from the moment you woke up until you arrived here Write one item per sticky note
© Jeff Patton, all rights reserved, www.AgileProductDesign.com 17
com 18 . www.AgileProductDesign. all rights reserved.First let’s do a warm-up exercise to understand a few concepts In a small group (3 to 5 people) merge these stickies into a single model Arrange them left to right in an order that makes sense to the group Eliminate duplicates Cluster items that seem similar and create labels for the clusters if items that seem to go together © Jeff Patton.
www.AgileProductDesign.com 19 . all rights reserved.What’s common about the items each of you wrote down? What was different? How did the models created by different groups vary? © Jeff Patton.
com 20 the world . www. all rights reserved.People achieve goals through interaction problem or goal How I’d like to feel.AgileProductDesign. or what I’d like to achieve goal evaluation action Take some Is my goal met or problem resolved? action evaluation Did that action deliver the results I expected? Information and tools © Jeff Patton.
all rights reserved. task.AgileProductDesign.com 21 tool Did that action deliver the results I expected? . or what I’d like to achieve goal task goal evaluation Is my goal met or problem resolved? action Take some action evaluation the world Information and tools © Jeff Patton.Think of three levels: goal. www. and tool problem or goal How I’d like to feel.
and tool goal task tool © Jeff Patton. all rights reserved. task.com 22 .AgileProductDesign. www.Think of three levels: goal.
com 23 . all rights reserved.Software contains features that support a variety of tasks and a variety of goals goals tasks software features tools © Jeff Patton. www.AgileProductDesign.
com business objectives business processes employees. tasks.AgileProductDesign. vendors.Goals. and tools apply at both a personal and organizational level goals tasks tools © Jeff Patton. & systems 25 . www. all rights reserved.
AgileProductDesign. www.User tasks are decompose to smaller tasks and organize into activities Tasks require intentional action on behalf of a tool’s user Tasks have an objective that can be completed Tasks decompose into smaller tasks Tasks often cluster together into activities of related tasks task activity task task task task © Jeff Patton.com 26 . all rights reserved.
User tasks are decompose to smaller tasks and organize into activities Tasks require intentional action on behalf of a tool’s user Tasks have an objective that can be completed Tasks decompose into smaller tasks Tasks often cluster together into activities of related tasks “Read an email message” is a task. all rights reserved.com 27 . www. “Managing email” is read manage email activity an activity. task message create task folder send task message prioritize task message delete task message place message task in folder © Jeff Patton.AgileProductDesign.
Activities have characteristics relevant to the software we’ll choose to build some number of common tasks a general goal or purpose a primary human participant usually other human participants a physical place or location some number of tools including computers. telephones. all rights reserved.. electronic files. etc. information.AgileProductDesign. paper. activity task task task task © Jeff Patton. www. software.com 28 .
www.Be sensitive to your user task’s “altitude” Too abstract Activity or “Kite level” Longer term goals often with no precise ending. I’ll do several of these before I reach a functional level goal Too detailed * from Cockburn’s Writing Effective Use Cases © Jeff Patton.com 29 . I’ll perform several functional tasks in the context of an activity Functional or “Sea level” I’d reasonably expect to complete this in a single sitting Think about user experience at this level Sub-Functional or “Fish level” Small tasks that by themselves don’t mean much. all rights reserved.AgileProductDesign.
all rights reserved.AgileProductDesign.User tasks make ideal user stories: Title: Take a shower © Jeff Patton.com As an instructor I want to take a shower So that I don’t offend my colleagues 30 . www.
www. all rights reserved.In practice user stories may be written to describe user tasks or the tools that support them goals user story More task-centric: As a weekend gardener I want to dig a hole tasks software so that I can plant a tree More tool-centric: (or feature-centric) As a weekend gardener I want a shovel so that I can [dig a hole to] plant a tree 31 features © Jeff Patton.AgileProductDesign.com .
www. all rights reserved.Getting started with a Story Mapping Problem Read the Barney’s Information Kiosk problem Think about the experience of someone using the kiosk (5 minutes) Barney’s In small workgroups (3-5 people) discuss: What are Barney’s goals or pains? What types of users might use the kiosk and why? Try to talk about users tasks without talking about the kiosk (tool) – this can be difficult (5 minutes) © Jeff Patton.AgileProductDesign.com Your team 33 .
all rights reserved.com 34 .AgileProductDesign. www.What are the goals & tasks? Business goals or pain points? Types of users using this system? User’s goals or pains? How will users of the system reach their goals? © Jeff Patton.
all rights reserved. www.Start with an understanding or user experience © Jeff Patton.AgileProductDesign.com 35 .
Frank. Next to each rep he sees the calculated pay. Steve begins to enter the reps name. His assistant manager brings him other sheets with totals he‟s signed off. He also sees yesterday‟s numbers. 7. his boss. 36 . It looks like from the notes on this sheet that this rep left sick two hours early. Steve looks at a summary screen for the day. all rights reserved. Time passes as more reps bring in their sheets and Steve completes entering them in between conversations. The annual sale at Macy‟s has brought a lot of people in today. bonus. Steve fills in the shift information for his rep. In between visits by reps. That‟s good. and the last 30 days in graph that shows applications relative to approval rate. Field Manager enters daily performance reports The shift has just ended and his reps are coming up with their totals. Steve opens his Field Manager Workbench on his laptop. 10.” He shuffles his reps © Jeff Patton. and it‟s the last week of the month. If the next shift continues at this rate he‟ll beat the plan by 5% or so. so Steve knows he‟s got to do well today. Steve chooses a “sale increases mall foot traffic” code to add to his shift data sheet. along with the code for the credit card promotion they‟re working on today. They have printed sheets with totals written on them. base.com 11. but after a few characters the system auto-completes his name. Last week‟s numbers were bad. has pestered him to make sure he includes this type of information in his daily summaries. and total pay for the day.Write user scenarios to think through user experience Steven Credit Card Marketing Field Manager Steven is a field manager working at the local shopping center. The date is defaulted to today. 5. He then enters the total number of applications taken. Steve quickly looks them over and signs them off. After all the sheets are done. 6. Steve validates that the base pay is correct at $5 per app. and the shift is defaulted to „morning‟ since he hasn‟t yet entered info for today. www.AgileProductDesign. 9. and last week‟s numbers. He’s in the middle of a long workday supervising 13 reps who are busy talking to people trying to convince them to apply for a credit card. The rep‟s ID is already filled in. After logging in he sees today‟s date and the planned number of applications his reps should be gathering – 180 for today. Steve adds a note about this in the system. It looks like he‟s close to his goal. Steve clicks “enter rep performance data. 8. and that he‟s set an individual bonus giving reps $50 each if they reach 20 apps. 12.
all rights reserved.com 37 .A user scenario is a simple way to think through user experience concretely A user scenario tells a story about a main character with a problem or goal Describes how that character reaches their goal contains important facts describes external context describes goals and concerns of our character include interesting plot points that help us envision important aspects of the system A scenario can gloss over uninteresting details © Jeff Patton. www.AgileProductDesign.
including typical problems Interesting plot points Goals and pains of your user The other ask questions to better understand After 5 minutes of discussion write out the scenario Pair one think about Carol: casual browser “I want to find something good from a band I heard on the radio. Think about: Typical use.” Goal: : Find it and get out quickly without wasting my time © Jeff Patton.AgileProductDesign.com 38 .Imagine the user experience as a scenario Separate your team of four into two pairs One person imagine out loud the experience of someone using the kiosk. all rights reserved.” Goal: : have fun finding something interesting Pair two think about Isaac: Impatient buyer “I wan to find a specific hard to find foreign film. www.
all rights reserved.com 39 .AgileProductDesign. extract taskcentric stories using yellow stickies Write only the tasks verb-phrase for your title © Jeff Patton. www.Extract task-centric user stories from your user scenarios Come back together as a team Reviewing each others scenarios.
all rights reserved.Organize user stories into a map that communicates experience © Jeff Patton.AgileProductDesign.com 40 . www.
all rights reserved. www.By arranging activity and task-centric story cards spatially. we can tell bigger stories Tell a big story of the product by starting with the major user activities the kiosk will be used for Arrange activities left to right in the order you’d explain them to someone when asked the question: “What do people do with this system?” time © Jeff Patton.com 41 .AgileProductDesign.
all rights reserved. Don’t get too uptight about the order. time © Jeff Patton.com 42 .By arranging task-centric story cards spatially. If you were to explain to someone what a person typically does in this activity. we can tell bigger stories Add task-centric stories in under each activity in workflow order left to right. www.AgileProductDesign. arrange tasks in the order you’d tell the story.
AgileProductDesign.By arranging task-centric story cards spatially. time © Jeff Patton. we can tell bigger stories Overlap user tasks vertically if a user may do one of several tasks at approximately the same time If in telling the story I say the systems’ user typically “does this or this or this.com 43 .” “or’s” signal a stacking vertically. www. all rights reserved. and then does that. “and then’s” signal stepping horizontally.
The map shows decomposition and typical flow across the entire system Reading the activities across the top of the system helps us understand end-to-end use of the system.) time Below each activity. www. or large story are the child stories that make it up © Jeff Patton.AgileProductDesign.com 44 . (Talk through just these when talking with people with short attention spans. all rights reserved.
AgileProductDesign.com 45 . all rights reserved.Building a story map helps facilitate discussion – but requires a bit of space Gary Levitt. owner & designer of Mad Mimi © Jeff Patton. www.
A story map for a reasonable sized system can fill a room © Jeff Patton.com 46 . all rights reserved.AgileProductDesign. www.
are done by similar people in pursuit of similar goals Use a different color sticky to label activities time © Jeff Patton. www.AgileProductDesign. all rights reserved.Assemble your harvested task-centric stories into a simple story map Work as a team to organize your stories Look for activities: tasks that seems similar.com 47 .
fill in. and test for completeness © Jeff Patton. all rights reserved.com 48 .Discuss.AgileProductDesign. refine the map. www.
www.AgileProductDesign. it’s quick to record stories as you discuss the experience with users Discuss the steps of the process with candidate users Record tasks as they say them Rearrange tasks and insert tasks as you clarify the big story Add activities as you identify them from discussion time © Jeff Patton.Once you’ve got the idea down.com 49 . all rights reserved.
www. and so those who you’re working with know that you’re listening Consider tucking them under tasks cards to “hide them” from the discussion activity time task sub-tasks or task details © Jeff Patton.As details emerge in conversation. all rights reserved.AgileProductDesign. trap them under their associated task cards Record details so they’re not lost.com 50 .
all rights reserved.AgileProductDesign.com 51 . www. 1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 11 10 © Jeff Patton.This simple model is easy to stack 1 7 5 6 8 9 10 1. 2 3 4 11 2. 3.
AgileProductDesign. For a user to successfully engage in this activity. www. how critical is it? time necessity © Jeff Patton. we can tell bigger stories axis to indicate necessity Add a vertical Move tasks up and down this axis to indicate how necessary they are to the activity. all rights reserved.By arranging activity and task-centric story cards spatially.com 52 . is it necessary they perform this task? If it’s not absolutely necessary.
By arranging activity and task-centric story cards spatially.com 53 .AgileProductDesign. www. all rights reserved. “absolutely necessary” axis. we can tell bigger stories Map by telling bigger stories with it Test the Story Choose an activity to start with When reading left to right use the conjunction “and then” to connect cards in the story With cards in the same row use “or” to connect cards in the story For cards below the top. use the phrase “might optionally” to communicate optionality Chose a concrete user name to help tell the story time necessity © Jeff Patton.
After seeing titles that match what he typed in.AgileProductDesign.By arranging activity and task-centric story cards spatially. www. we can tell bigger stories the title of what he’s looking for.” Notice the bold time user tasks faced from our story map necessity Notice the conjunctions that knit the cards together into a longer story © Jeff Patton.com 54 . He notices it’s in stock as both new and used. Optionally he might have searched by artist. all rights reserved. and then views the status – whether it’s in stock or not. Steve views the price new and used. so then Steve views the location in the store for the used title. He steps up to “Steve knows the kiosk and searches by title.
AgileProductDesign.Discussions over story maps help drive out more details QuickTime™ an d a YUV420 codec decompressor are need ed to see this p icture .com 55 . all rights reserved. Repeated review of the story map with multiple users and subject matter experts will help test the model for completeness © Jeff Patton. www.
all rights reserved. www.com 56 .The user story map contains two important anatomical features The backbone of the application is the list of essential activities the application supports The walking skeleton is the software we build that supports the least number of necessary tasks across the full span of user experience The backbone time The walking skeleton necessity © Jeff Patton.AgileProductDesign.
Using discussion. www.com 57 . and what would the user have to do to recover? Consider other users What might other types of users do to reach their goals? Knit al these additional stories into your map © Jeff Patton.AgileProductDesign. all rights reserved. fill in your story map Work together as a team Look for alternative tasks What else might users of the system have done that didn’t come up in your scenarios? Look for exceptions What could go wrong.
Slice the map to find ideal incremental releases © Jeff Patton. www.AgileProductDesign. all rights reserved.com 58 .
AgileProductDesign.Agile teams plan product construction in layers © Jeff Patton.com 59 . all rights reserved. www.
all rights reserved.Agile teams plan product construction in layers © Jeff Patton.com 60 . www.AgileProductDesign.
Release Product or Project What business objectives will the product fulfill? Product Goals Product Charter How can we release value incrementally? What subset of business objectives will each release achieve? What user constituencies will the release serve? What general capabilities (big stories) will the release offer? Customers User Personas Release Roadmap Target Customers Target Personas Iteration or Sprint What specifically will we build? (user stories) How will this iteration move us toward release objectives? Iteration Goal Development or Construction Tasks Story (Backlog Item) What user or stakeholder need will the story serve? How will it specifically look and behave? How will I determine if it’s completed? Story Details Acceptance Tests 61 © Jeff Patton. all rights reserved.AgileProductDesign. www.com .
Given story map organized vertically by necessity. www.AgileProductDesign.com 62 . all rights reserved. we need only slice to plan time necessary less optional first release optionality second release more optional third release Choose coherent groups of features that consider the span of business functionality and user activities Support all necessary activities with the first release Improve activity support and add additional activities with subsequent releases © Jeff Patton.
AgileProductDesign. www. we need only slice to plan © Jeff Patton.Given story map organized vertically by necessity.com 63 . all rights reserved.
Adding tape lines to the wall lets participants organize stories into layers © Jeff Patton. www.com 64 .AgileProductDesign. all rights reserved.
Adding tape lines to the wall lets participants organize stories into layers © Jeff Patton.AgileProductDesign. all rights reserved.com 65 . www.
com 66 . www. all rights reserved.AgileProductDesign.Planning incremental releases can be facilitated as a collaborative event © Jeff Patton.
www.There’s a secret to effective prioritization (Before I give my ideas about what it is. what’s worked for you?) © Jeff Patton.com 67 . all rights reserved.AgileProductDesign.
all rights reserved.AgileProductDesign.Identify and prioritize desired outcomes before prioritizing the backlog Product goals describe what outcome or benefit received by the organization after the product is in use © Jeff Patton. www.com 68 .
how would we know it? What would we observe in our organization that indicates success?” The answer to these questions are useful metrics © Jeff Patton. and how we can tell we’re getting it Software built for internal use usually saves money or helps improve service to customers indirectly earning money Software built for use by customers earns money through direct sales. all rights reserved.AgileProductDesign. improved customer retention.com 69 .Product goals suggest how the business will earn value from the product. A goal to earn more money isn’t useful Given a product goal. ask: “if we’re making progress towards this goal.not generic to any product. or improved customer loyalty Product goals are specific to that product . www.
all rights reserved. www.com 70 .AgileProductDesign. where each release delivers benefit Create horizontal swim-lanes to group features into releases Arrange features vertically by necessity from the user’s perspective Split tasks into parts that can be deferred till later releases Use the product goals from your handouts to identify slices that incrementally realize product goals necessary optionality less optional more optional © Jeff Patton.Use product goals to identify candidate incremental releases.
and use have big consequences to software scope Use (Activities & Tasks) Software to build (Specified as User Stories) © Jeff Patton.AgileProductDesign. all rights reserved.The software we choose to build is a consequence of smaller upstream choices Business Goals User Constituencies Choices in business goals.com 71 . users. www.
com . www. user goals.AgileProductDesign. but always work to ensure you’re delivering scope that delivers on targeted business and user goals Software to build (Specified as User Stories) 1 2 3 72 © Jeff Patton.Segmenting scope into incremental releases also segments use. all rights reserved. and business goals Business Goals User Constituencies Use (Activities & Tasks) Work top down (goals to scope) or bottom up (scope back to goals).
A product release roadmap targets benefit delivered over time A roadmap serves to clearly communicate release level product goals and benefits to stakeholders For each incremental release: Give the release a name or simple statement describing its purpose – think mantra Write a short sentence or two describing what value or benefit the business gets Write a short sentence or two describing what value or benefit the users get © Jeff Patton. all rights reserved.AgileProductDesign.com 73 . www.
AgileProductDesign. all rights reserved.com 74 . www.Turn your sliced story map into a roadmap For each slice in your release: Give the release a name or simple statement describing its purpose – think mantra Write a short sentence or two describing what value or benefit the business gets Write a short sentence or two describing what value or benefit the users get © Jeff Patton.
www.com 75 .AgileProductDesign.Iteratively and incrementally construct software © Jeff Patton. all rights reserved.
Traditional software development fixes scope then estimates.AgileProductDesign.com 76 . and attempts to fix time and cost Scope Traditional software development Time Cost (resources) © Jeff Patton. all rights reserved. www.
com 77 . all rights reserved. then leverages iteration and incrementing to maximize scope Time Scope Cost (resources) Agile software development Traditional software development Time Cost Scope (resources) © Jeff Patton. www.Agile development fixes time and cost.AgileProductDesign.
com Target business goals & outcomes 78 . www.AgileProductDesign.Leverage a shared understanding of desired product goals to minimize scope while maximizing value Scope Time Cost (resources) Agile software development Traditional software development Time Cost (resources) Scope © Jeff Patton. all rights reserved.
all rights reserved. www.To release benefit on a schedule we’ll need to leverage incremental and iterative thinking (What’s the difference?) © Jeff Patton.AgileProductDesign.com 79 .
1 2 3 4 5 © Jeff Patton.“incrementing” builds a bit at a time Incrementing calls for a fully formed idea. all rights reserved. doing it on time requires dead accurate estimation. And.AgileProductDesign. www.com 80 .
validates it. all rights reserved. 1 2 3 4 5 © Jeff Patton. then slowly builds up quality A more iterative allows you to move from vague idea to realization making course corrections as you go.com 81 . www.AgileProductDesign.“iterating” builds a rough version.
com © 82 .Many organizations consider revising the same functionality as failure. all rights reserved. www. 193 Jeff Patton. Iteration is not tolerated.AgileProductDesign.
AgileProductDesign. all rights reserved. you need a more refined understanding of “shippable” © Jeff Patton.com 83 .As a product owner. www.
AgileProductDesign.com 84 .Keeping our user stories task-centric allowed us to defer solution decisions user goal user task tool © Jeff Patton. www. all rights reserved.
all rights reserved. www.Make feature decisions in the context of time and budget limitations (to put the flower in) hole ? dig hole hold my options open © Jeff Patton.AgileProductDesign.com 85 .
com 86 .AgileProductDesign. not to specific features (to put the flower in) hole ? dig hole © Jeff Patton. www. all rights reserved.Commit to satisfying user needs.
Products with similar features often vary substantially in the price we pay
Think about the high-level features in a car - well a bus in our example At a high level, all features are necessary But we know that all buses don’t have the same price Each essential feature varies in subjective quality affecting the final price
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
engine transmission brakes suspension seats steering wheel …
Kano cautions us to consider quality as being composed of objective and subjective elements
“Discussions of quality have revolved around the two aspects of subjectivity and objectivity since the time of Aristotle. Embedded in this objectivesubjective split is the idea that objective quality pertains to the ‘conformance to requirements’ while subjective quality pertains to the ‘satisfaction of users.’”
© Jeff Patton, all rights reserved, www.AgileProductDesign.com 88
There’s more to me than that silly survey technique!
Kano explains three general classifications for product features: must-haves, one-dimensionals, and delighters
The products must have this features for me to be consider the product acceptable
“This car has many flaws. Buy it anyway. It’s so much fun to drive” -- from a NY Times review of the Mini Cooper
The more of this I get, the better
I love this element of the product!
© Jeff Patton, all rights reserved, www.AgileProductDesign.com
www. These choices affect the product users’ perception of quality Is the product simple to use? Is the product efficient to use? Do I like using the product? © Jeff Patton.com 90 .Separate objective quality from subjective quality Objective quality refers to the visible measurable. Does the product perform bug free as specified? Expect objective quality to be high. and easily validated characteristics of the product usually in relation to the products’ specifications. Subjective quality refers to the specification or product design choices you make as a product owner.AgileProductDesign. all rights reserved.
Use the Kano classifications to both prioritize and split Brakes (must have) Basic brakes (must have) (one dimensional) Stopping distance Anti-locking (delighter) Cool dashboard light when slipping (delighter) Keep in mind: you must know your customers and users to determine subjective value.com 91 . Another’s must have is useless to other customers © Jeff Patton.AgileProductDesign. all rights reserved. www. One person’s delighter may leave others apathetic.
AgileProductDesign.Let’s look at what happens if we take a naive incremental aproach to construction Let’s start with the basic features of our bus. all rights reserved.com 92 tires . www. sprint 4 3 2 1 release Interior seating exterior body transmission suspension features brakes engine Product goal: (in 4 sprints) be driving the coolest bus in town © Jeff Patton.
www. all rights reserved.AgileProductDesign.com 93 .We can leverage iteration to build up quality Iterating affords building up quality over time 1 2 3 © Jeff Patton.
Consider these four story splitting heuristics that build up quality Bare Necessity For the feature to be minimally demonstrable – but not releasable. Performance. input translation on dates Safety What would make this feature safer for me to use? For both the user. and for the business paying for the software? Example: input validation. all rights reserved. www.com .AgileProductDesign. Sex Appeal More desirable to use? Faster to use? 95 What would make this feature easier to use? © Jeff Patton. what is the minimal functionality Example: A form with only necessary fields and no validation Capability & Flexibility What would add the ability to perform the user task in different ways? Adding in sub tasks that are optionally performed? Example: a form with optional fields. date lookup tools. enforcement of business rules such as credit card validation * Adapted from Gerard Meszaros’ “Storyotypes” Usability.
Building up quality iteratively and incrementally ships the best product possibleknow each story can be split into at least four parts We sprint 4 3 2 1 Early iterations strive to build bare necessities. all rights reserved. later iterations build up quality Evaluating readiness based on subjective quality to understand doneness BAD C D B A CBD B release D B A AD B AD B I BD I user tasks to support Product goal: (in 4 sprints) be driving the highest quality bus possible © Jeff Patton.com 96 .AgileProductDesign. www.
com/Page.com 97 . performance.aspx?hid=1648 Visdos on the cone: http://www.Divide release design & development into three phases Opening Game: Build a simple system span of necessary features first – the walking skeleton Mid-Game: Add flexibility and safety next End Game: Finish with comfort. and luxury Reserve time in the remaining third for unforeseen additions and adaptations Opening Game Build up necessities Mid-Game Build out flexibility and business rule enforcement End-Game Refine the UI and interactions.AgileProductDesign.com/2008/02/19/vegas-hangover-enlightenment/ © Jeff Patton.construx. all rights reserved. take advantage of iterative learning uncertainty uncertainty decreases over time time Construx on the Cone of Uncertainty: http://www.implementingscrum. www.
com 98 . www.AgileProductDesign. all rights reserved.This product growing strategy slowly brings the product into focus An artist envisions an entire painting by starting with a sketch or an under-painting and slowly building up detail Apply the same strategy to learn about the product domain as quickly as possible – to chase out uncertainty before too heavily investing Opening Game Build up necessities Mid-Game Build out flexibility and business rule enforcement End-Game Refine the UI and interactions. take advantage of iterative learning uncertainty uncertainty decreases over time time © Jeff Patton.
We need to be sure we’re building the right product Mid Game Once we’re confident we have the “shape” of the product right. all rights reserved. www.AgileProductDesign. we begin to pile in value End Game Over time the value of stories begin to diminish signaling it’s time for release © Jeff Patton.Looking at the release of business value over time lets us see what’s going on here cumulative business value To finish on time we may “trim the tail” by deferring stories of modest value time Opening Game Early stories emphasize iteration and learning.com 99 .
Split a task-centric backlog item into smaller iteration stories using the 4 quality heuristics Work in small groups of 2-3 people. one where your group can imagine a prospective user interface. Arrange your brainstormed stories into 3 pile: © Jeff Patton. Brainstorm the smaller stories that could build up the larger story to its full quality.AgileProductDesign.com 100 . all rights reserved. www. Review the Story Map – the organized backlog – for the Barney’s problem Choose a story you’d like to work with.
AgileProductDesign. www. Build up functionality only after all necessities are in place. all rights reserved. Protect time in the final sprints for product refinement. © Jeff Patton. Assess release readiness at the end of each sprint as part of product review.Guidelines for releasing on time Thin stories aggressively during early sprints to build all essential functionality early.com 101 .
www.com 102 . all rights reserved.AgileProductDesign.Parting thoughts © Jeff Patton.
www.com 103 . all rights reserved.Questions? © Jeff Patton.AgileProductDesign.
www. all rights reserved.org www.AgileProductDesign.com © Jeff Patton.Building Better Products Using User Story Mapping Jeff Patton firstname.lastname@example.org .agileproductdesign.
This action might not be possible to undo. Are you sure you want to continue?
We've moved you to where you read on your other device.
Get the full title to continue reading from where you left off, or restart the preview.