{"id":10483,"date":"2020-08-11T15:29:05","date_gmt":"2020-08-11T14:29:05","guid":{"rendered":"https:\/\/caroli.org\/en\/?p=10483"},"modified":"2020-08-24T10:53:14","modified_gmt":"2020-08-24T09:53:14","slug":"mapping-features-to-sprint-planning-with-user-stories","status":"publish","type":"post","link":"https:\/\/caroli.org\/en\/mapping-features-to-sprint-planning-with-user-stories\/","title":{"rendered":"Mapping Features to Sprint planning with good User Stories (essential for team commitment and alignment)"},"content":{"rendered":"<p>Team A has identified a few features and now wants to build the backlog of User Stories for the upcoming few Sprints. How to do it?<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-10484\" src=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/08\/Team-Sprint-Planing-UserStories-Features-300x153.jpg\" alt=\"\" width=\"300\" height=\"153\" srcset=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/08\/Team-Sprint-Planing-UserStories-Features-300x153.jpg 300w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/08\/Team-Sprint-Planing-UserStories-Features-1024x523.jpg 1024w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/08\/Team-Sprint-Planing-UserStories-Features-1536x784.jpg 1536w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/08\/Team-Sprint-Planing-UserStories-Features-scaled.jpg 2048w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/08\/Team-Sprint-Planing-UserStories-Features-1200x613.jpg 1200w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/08\/Team-Sprint-Planing-UserStories-Features-1440x735.jpg 1440w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<h2>Step 1 &#8211; Features and Milestones<\/h2>\n<p>First, make sure everyone understands how the features belong together. For example, below is a sample features sequencer. On it, everyone can see that the MVP consists of F1, f2, F3 and F4; the product increment consists of F5, F6, F7, F8 and F9.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-10373\" src=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/09\/sample-features-sequencer-285x300.png\" alt=\"\" width=\"285\" height=\"300\" srcset=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/09\/sample-features-sequencer-285x300.png 285w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/09\/sample-features-sequencer.png 834w\" sizes=\"(max-width: 285px) 100vw, 285px\" \/><\/p>\n<p>This artefact is generated by a <a href=\"https:\/\/caroli.org\/en\/book\/lean-inception-how-to-align-people-and-build-the-right-product\/\">Lean Inception workshop<\/a>. If you do not have a Features sequencer, you need something that shows features and milestones. On the Lean Inception, the features are planned via MVP and product increment milestones.<\/p>\n<h2>Step 2 \u2013 Feature Steps Mapping<\/h2>\n<p>You have to breakdown each Feature in small steps, the User Stories.<br \/>\nThe image below depicts the feature F1, which was broken down into four user stories: 1.1, 1.2, 1.3 and 1.4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-10374\" src=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/09\/Feature-Steps-Mapping-203x300.jpg\" alt=\"\" width=\"203\" height=\"300\" srcset=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/09\/Feature-Steps-Mapping-203x300.jpg 203w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/09\/Feature-Steps-Mapping-694x1024.jpg 694w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/09\/Feature-Steps-Mapping.jpg 854w\" sizes=\"(max-width: 203px) 100vw, 203px\" \/><\/p>\n<p>Before breaking down the Features, you must validate everyone is aligned about the feature. The following activities ensure such alignment.<\/p>\n<h3>2.1 Rewrite the Features (optional)<\/h3>\n<p>Rewrite each Feature so it is written as a description of a user\u2019s action or interaction with the product. For example: print invoice, view detailed statement, and invite facebook friends. The description of a feature should be as simple as possible. The user is trying to do something. The product must have a feature for it. What feature is this?<\/p>\n<p><strong>Tip<\/strong>: Limit the total number of features to a maximum of 10; more than that creates a large inventory, not a backlog. If there are a considerable number of features, apply some prioritisation method to select the top ten features.<\/p>\n<p><strong>Feature Rewrite Example<\/strong>: Sell products online -&gt; Make online purchase<\/p>\n<h3>2.2 Identify the personas<\/h3>\n<p>Every Feature should fulfil a need or remove a pain for a persona. So, identify the persona. Write the persona on a post-it of different color and place above the Feature.<\/p>\n<p>Ask the following questions for each of the identified personas: What does such persona do? and what does such persona expect? Typically, responses describe the user\u2019s actions or interactions with the product: the features. These questions test if your Features full-fill the need of a persona.<\/p>\n<p><strong>Persona Example<\/strong>: Online Customer<\/p>\n<h3>2.3 Describe the benefit<\/h3>\n<p>Describe the \u201cProblems\u201d and the \u201cBenefits\u201d related to each Feature. Write down the feature\u2019s problems and the feature\u2019s benefits on another post-it color and position on the left and right side of the post-it with the feature description.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-10499\" src=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/08\/feature-persona-benefit-300x242.jpg\" alt=\"\" width=\"300\" height=\"242\" srcset=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/08\/feature-persona-benefit-300x242.jpg 300w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/08\/feature-persona-benefit-1024x828.jpg 1024w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/08\/feature-persona-benefit.jpg 1106w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><strong>Benefit Example<\/strong>: Save $<\/p>\n<h3>2.4 Map the steps of a Feature<\/h3>\n<p>Feature Steps Mapping is a technique that helps <strong>break a feature into small work itens.<\/strong> Each step will be a PBI \u2013 Product Backlog Item.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-10374\" src=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/09\/Feature-Steps-Mapping-203x300.jpg\" alt=\"\" width=\"203\" height=\"300\" srcset=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/09\/Feature-Steps-Mapping-203x300.jpg 203w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/09\/Feature-Steps-Mapping-694x1024.jpg 694w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/09\/Feature-Steps-Mapping.jpg 854w\" sizes=\"(max-width: 203px) 100vw, 203px\" \/><\/p>\n<p><strong>PBIs are elements that make up the Product Backlog<\/strong>. Ideally, PBIs reflect customer and business needs, which can vary in specifications and requirements. Typically, these are represented by use cases, epics, user stories, or even bugs or tasks.<\/p>\n<p>Breaking a feature is done through mapping its steps, which represent a mapping of a feature\u2019s work items.<\/p>\n<p>Start by asking the very first work step to get started on the feature. Write it down. Then ask about the second work step. Then the third and so forth, until completing the feature workflow, step by step. Note that each work item represents a step towards feature construction.<\/p>\n<p>For example, consider the sample feature: Make Online Purchase. What is the feature first step? To search for a product; What after? To make product selection; then to compare options and so on. These are the Steps Map.<\/p>\n<p><strong>Steps Map example:<\/strong> Make online purchase (FEATURE)<\/p>\n<ul>\n<li>STEP: To search for a product<\/li>\n<li>STEP: To make product selection<\/li>\n<li>STEP: To compare options<\/li>\n<li>STEP: To add item to shopping cart<\/li>\n<li>STEP: To fill up payment info<\/li>\n<li>STEP: \u00a0To fill up delivery info<\/li>\n<li>STEP: To review detailed purchase<\/li>\n<li>STEP: to confirm purchase<\/li>\n<\/ul>\n<h3>2.5 Identify the Backlog Items (PBIs)<\/h3>\n<p>At the time of backlog construction, the suggestion is to represent each PBI by <strong>the ARO (Action-Result-Object) model<\/strong> \u2013 the representation begins with a verb, followed by the desired result, and ends with the object within context. Then, you can to convert each PBI into a User Story, the most common representation to describe what should be done to meet the persona needs.<\/p>\n<blockquote><p>From the original article:<br \/>\n\u201c[action]\u00a0 the\u00a0 [result] [by | for |of | to]\u00a0 a(n)\u00a0 [object]&#8221;<\/p><\/blockquote>\n<p>As examples, consider these:<br \/>\n\u2022 Estimate the closing price of stock<br \/>\n\u2022 Generate a unique identifier for a transaction<br \/>\n\u2022 Change the text displayed on a kiosk<br \/>\n\u2022 Merge the data for duplicate transactions\u201d<\/p>\n<p>Read more about the ARO model <a href=\"https:\/\/www.mountaingoatsoftware.com\/blog\/not-everything-needs-to-be-a-user-story-using-fdd-features\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/p>\n<p><strong>ARO example<\/strong>: Compare similar options of an item<\/p>\n<h3>2.6 Represent the PBIs as User Stories<\/h3>\n<p>Scrum does not specify how to represent each item in the Backlog, so you can write it in various ways. User Story is the most used form by agile teams today to represent an item in the Backlog. A User Story is a brief description of what is required for a customer to have in the product, which basically answers 3 questions: <strong>WHO? WHAT? WHY?<\/strong><\/p>\n<p>On the previous activity, for each feature, you wrote their respective PBI\u2019s in the ARO model.<\/p>\n<p>Now you should represent each PBI as a User Story. The following image shows how you can do it by reutilising the notes from the previous activities.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-10501\" src=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/08\/user-story-writing-who-wha-why-300x273.jpg\" alt=\"\" width=\"300\" height=\"273\" srcset=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/08\/user-story-writing-who-wha-why-300x273.jpg 300w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/08\/user-story-writing-who-wha-why-1024x932.jpg 1024w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/08\/user-story-writing-who-wha-why.jpg 1108w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>Features Steps Mapping is part of <a href=\"https:\/\/caroli.org\/en\/scrum-starts-with-pbb\/\">PBB<\/a>, a canvas and a methodology writing the User Stories. From your previous activities, you have the \u201cWHO?\u201d (the persona), the \u201cWHAT?\u201d (the PBIs already represented in ARO model) and lastly the \u201cWHY?\u201d (the problems or benefits for the feature). The figure above gives a simple illustration of how easy it is to write User Story with the help of the Product Backlog Building.<\/p>\n<blockquote><p><em>As a WHO (persona)<\/em><\/p>\n<p><em>I want to WHAT (feature step)<\/em><\/p>\n<p><em>So that WHY (benefit) &#8211; <\/em><em><a href=\"https:\/\/ctt.ac\/lU33S\" target=\"_blank\" rel=\"noopener\">Tweet This<\/a>.<\/em><\/p><\/blockquote>\n<p><strong>User Story example<\/strong>: As an Online Customer,\u00a0 I want to Compare similar options of an item, So that I save $.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-10508\" src=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/08\/user-story-feature-persona-benefit-pbi-300x193.jpg\" alt=\"\" width=\"300\" height=\"193\" srcset=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/08\/user-story-feature-persona-benefit-pbi-300x193.jpg 300w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/08\/user-story-feature-persona-benefit-pbi-1024x658.jpg 1024w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/08\/user-story-feature-persona-benefit-pbi.jpg 1199w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<h2>Step 3 \u2013 Milestones Mapping<\/h2>\n<p>You don\u2019t need to finish all user stories from Feature 1 to start on the User Stories from Feature 2. Typically, there are correlations and reasons for a group of user stories to be worked on at the same timeframe. These form the milestones. A few examples: \u201cPayment Flow 1 UI complete\u201d, \u201cReady for stress test\u201d, \u201cSecurity level 1 achieved \u2013 ready for testing internally\u201d<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-10376\" src=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/09\/Steps-mapping-to-Features-Mapping-300x208.jpg\" alt=\"\" width=\"300\" height=\"208\" srcset=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/09\/Steps-mapping-to-Features-Mapping-300x208.jpg 300w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/09\/Steps-mapping-to-Features-Mapping-1024x710.jpg 1024w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/09\/Steps-mapping-to-Features-Mapping-1536x1065.jpg 1536w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/09\/Steps-mapping-to-Features-Mapping-scaled.jpg 2048w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/09\/Steps-mapping-to-Features-Mapping-1200x832.jpg 1200w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/09\/Steps-mapping-to-Features-Mapping-1440x998.jpg 1440w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>These milestones should mainly consider the user stories and the logical order in which they should be worked on and released.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-10375\" src=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/09\/Featurs-mapping-220x300.jpg\" alt=\"\" width=\"220\" height=\"300\" srcset=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/09\/Featurs-mapping-220x300.jpg 220w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/09\/Featurs-mapping-751x1024.jpg 751w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/09\/Featurs-mapping.jpg 1061w\" sizes=\"(max-width: 220px) 100vw, 220px\" \/><\/p>\n<h2>Step 4 \u2013Sprint planning<\/h2>\n<p>Here is a step-by-step for to plan the User Stories (connecting them to their respective Features and milestones) into the next few Sprints.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-10485\" src=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/08\/mappng-feature-sprint-backlog-300x127.jpg\" alt=\"\" width=\"300\" height=\"127\" srcset=\"https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/08\/mappng-feature-sprint-backlog-300x127.jpg 300w, https:\/\/caroli.org\/en\/wp-content\/uploads\/sites\/5\/2020\/08\/mappng-feature-sprint-backlog.jpg 713w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>1. Create the Team Features Milestone per Sprints table:<br \/>\n\u2013 the time goes horizontally; columns Sprint 1, Sprint 2\u2026<br \/>\n\u2013 the Row 1 indicates the milestones\/ events (e.g. \u201cMilestone X\u201d, Feature Y completed\u201d, \u201cMVP ready\u201d<br \/>\n\u2013 the Row 2 is the team name (e.g team A)<br \/>\n2. Distribute the User Stories as per the Team-Sprint combination. Please respect the team capacity for a Sprint.<br \/>\n3. Add arrows and colours to represent dependencies between user stories<br \/>\n4. Describe the important milestones and events.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Team A has identified a few features and now wants to build the backlog of User Stories for the upcoming few Sprints. How to do it? Step 1 &#8211; Features and Milestones First, make sure everyone understands how the features belong together. For example, below is a sample features sequencer. On it, everyone can see [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":10484,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[1925],"tags":[],"inception_activities":[],"colaboradores":[],"class_list":["post-10483","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-lean-inception-en"],"_links":{"self":[{"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/posts\/10483","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/comments?post=10483"}],"version-history":[{"count":0,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/posts\/10483\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/media\/10484"}],"wp:attachment":[{"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/media?parent=10483"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/categories?post=10483"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/tags?post=10483"},{"taxonomy":"inception_activities","embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/inception_activities?post=10483"},{"taxonomy":"colaboradores","embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/colaboradores?post=10483"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}