Posted in Scrum Add-ons

Creating a New Product Backlog

Gathering Requirements

Trawling for Requirements (1, pg 43)

Imagine gathering requirements as like fishing. You don’t want to catch every single fish in one haul as the processing of that would mean that some fish would go off. Focus on catching the big fish first by using a wide net, then later you can use a finer net to catch the smaller fish. This is the same with requirements as with the big requirements you can use them to understand the product direction better.

Building the Initial Backlog Techniques

Idea Generating Workshop (2, pg 50)

  • Use the liberating structure, 25/10 Crowd Sourcing
  • Ask the room to use the ‘What’s the most important feature this product needs to be successful?’ question
  • The output of the session can be used by the Product Owner to form the initial Product Backlog

User Story Mapping (4)

Impact Mapping (3, pg 86)

Technique for connecting PBIs back to the goals they are intended to meet.

Impact Mapping

References

  1. User Stories Applied by Mike Cohn
  2. Fixing Your Scrum by Ryan Ripley and Todd Miller
  3. Mastering Professional Scrum by Stephanie Ockerman and Simon Reindl
  4. User Story Mapping by Jeff Patton
Posted in Scrum Add-ons

Product Backlog Refinement

Overview

Definition: Product Backlog refinement is the act of adding detail, estimates, and order to items in the Product Backlog.

Length: “Refinement usually consumes no more than 10% of the capacity of the Development Team” (1)

People: Product Owner, Development Team

Outcome: Product Backlog items become more transparent through refinement and the top items are deemed ‘Ready’ for a Sprint (i.e. can be ‘Done’ by the team within one Sprint)

Benefits

Product Backlog Refinement Benefits (2, page 103, Mastering Professional Scrum)

  1. Increased Transparency – adding details for what you plan to deliver, and your progress
  2. Clarification of Value – outcomes of what you are trying to achieve become clearer, and helps the team to build the right thing
  3. Breaking things into consumable pieces – increases flexibility for the team to meet ‘Done’ in a Sprint
  4. Reduction of dependencies
  5. Forecasting
  6. Incorporation of learning – gained learning is incorporated into the product

Facilitation Techniques

Fishbowl collaboration (3)

  • Three – five people collaborate around a whiteboard (the fish in the bowl)
  • Others in the room may observe but are not allowed to speak
  • If someone from outside the bowl wishes to speak they can dive into the bowl which bounces out one of the fish already in the bowl
  • People can leave anytime if they are not finding it valuable
  • This technique keeps the conversation small and productive

Three Amigos and BDD

  • Backlog Refinement is attended by someone to represent each discipline in rotation (i.e. Three Amigos of Product, Development, Testing)
  • Behaviour Driven Development is used to focus the conversation on the behaviour of the User Story
  • See my talk notes

References

  1. The Scrum Guide
  2. Mastering Professional Scrum by Stephanie Ockerman and Simon Reindl
  3. User Story Mapping by Jeff Patton
Posted in Scrum Add-ons

Roadmaps

Components

Key parts to roadmaps (1, pg 150)

  • The theme
  • Hypothesis
  • Goals and success metrics
  • Stage of development
    • Experiment = is the problem worth solving? Problem Exploration and Solution Exploration phase (no code)
    • Alpha = is the solution desirable? Minimum feature set for a robust solution experiment, in code, for a small set of users
    • Beta = is the solution scalable? Solution is available to more people (not all) to test technical abilities of scaling.
    • Generally Available (GA) = solution is available to all and sales team can start openly talking about it
  • Any important milestones

Further Reading

  • C. Todd Lombardo and Bruce McCarthy’s book – Product Roadmap Relaunched (1, pg 150)

References

  1. Escaping the Build Trap by Melissa Perri
Posted in Scrum Add-ons

Prioritising Features/ Backlog

How to Prioritise the Backlog

Priority Process (1)

  • Firstly on business value
  • Secondly with the team to include impediments
  • This produces the most important thing to the business
  • Business value over schedule driven decisions

Exercises for Backlog Prioritisation

Exercise to help prioritise the Product Backlog (2, pg 55)

  • Use the liberating structure, Min-Spec
  • Display the Product Backlog in the room
  • Use the question of ‘Which features in our product backlog are needed in order to have a successful product release?’
  • Test the list generated against the question ‘If we delivered all of out must-do PBIs except this one, would we still have a successful product release?’

References

  1. Coaching Agile Teams by Lyssa Adkins
  2. Fixing Your Scrum by Ryan Ripley and Todd Miller
Posted in Scrum Add-ons

Value Statements

Communication Forms

Microdefinition (1)

  • Microdefinition = next critical business objective on the way to creating the whole product.
  • Everything must be checked against this

North Star Document (2, pg 136)

  • Explains the product in a way that can be visualised by the whole team and company
  • Problem it is solving
  • Proposed solution
  • Solution factors that matter for success
  • Outcomes the product will result in
  • Should evolve over time

References

  1. Coaching Agile Teams by Lyssa Adkins
  2. Escaping the Build Trap by Melissa Perri
Posted in Scrum Add-ons

Estimation

Benefits of Estimation

Group Estimation Benefits (1, pg 105)

  • Research indicates group estimation is more accurate than individual estimation (Wisdom of Crowds by James Surowiecki)
  • Authority must be decentralised within the group
  • Anti-patterns = anchoring, analysis paralysis

Estimation Techniques

Product Backlog Estimation Techniques (1, pg 105)

  • Story Points (1,2,3,5,8,13)
  • T-shirt sizes (X-Small, Small, Medium, Large, X-Large)
  • Animals, fruits etc (grape, satsuma, lemon, orange, grapefruit, cantaloupe, watermelon)
  • ‘Same-size’ items (all PBIs are roughly the same size)
  • ‘Right size’ items (at least one item can be delivered in a Sprint)

Probabilistic Estimating (page 110, Mastering Professional Scrum)

  • Monte Carlo is an example of probabilistic estimating
  • Uses historical data with a statistical sampling method
  • Output is a range of possible future outcomes with a confidence level on that range
  • Embraces uncertainty of predicting the future

Estimation Caution

Asymmetric nature of software estimation errors (2, pg 203) 

‘ There are known knowns. There are things we know we know. We also know there are known unknowns. That is to say. We know there are some things we do not know. But there are also unknown unknowns. The ones we don’t know we don’t know’ 

Former Secretary of Defence Donal Rumsfield
  • Estimations are more likely to take longer than expected than they are to take a shorter amount of time than expected (i.e. they are asymmetric)
  • Developers estimate based on known knowns, and sometimes known unknowns. 
    • Some error comes from misunderstanding these 
    • Most comes from unknown unknowns
  • Larger tasks are more likely to have more unknown unknowns so the risk of rapidly increasing is much higher
  • Cone of uncertainty shows that the likeliness of under as over-estimation is symmetric 

References

  1. Mastering Professional Scrum by Stephanie Ockerman and Simon Reindl
  2. Lean Product Playbook by Dan Olsen
Posted in Scrum Add-ons

Prioritising Problems

Guidance on Prioritising Problems

By Risk (1, pg 45)

  • Highest risk: value ratio gets top priority
  • Work on the riskiest ones first
  • Keep all on a the backlog 

Prioritisation Techniques

Importance vs Satisfaction Framework (2, pg 47)

This technique is used for evaluating potential product opportunities

Importance vs Satisfaction (2, pg 47)
  • Competitive example is Excel. High important to users and it is the leading example. So product in this space to compete needs to be something like the online sheet tools for collaboration
  • Opportunity example is Uber where user satisfaction was low with taxi service but their need for a solution is very important to them
Measuring Customer Value
  • When importance and satisfaction are both percentages:
Customer value delivered = importance x satisfaction

Opportunity to add value = importance x (1-satisfaction)
Customer Value Example
  • For orange it is:
    • Customer value delivered: 0.9 x (0.35-0.2) = 0.135 
  • For blue it is:
    • Customer value delivered: 0.6 x (0.9-0.6) = 0.18 
  • So blue created marginally more value than orange. 

The Kano Model (2, pg 64)

  • Performance needs – adding more will increase satisfaction. For example fuel efficiency on a car. Increasing this will always increase satisfaction.
  • Must-Have needs – they never increase satisfaction. They only decrease it if they are missing 
  • Delighter needs – the customer is not dissatisfied at all if they are missing as they are unexpected and result in very high satisfaction if they are included
Using the kano model to compare with competitors
FeatureCompetitor ACompetitor BYour Product
Must Have Feature 1Yes/ NoYes/ NoYes/ No
Must Have Feature 2Yes/ NoYes/ NoYes/ No
Must Have Feature 3Yes/ NoYes/ NoYes/ No
Performance Feature 1High/ Med/ LowHigh/ Med/ LowHigh/ Med/ Low
Performance Feature 2High/ Med/ LowHigh/ Med/ LowHigh/ Med/ Low
Performance Feature 3High/ Med/ LowHigh/ Med/ LowHigh/ Med/ Low
Delighter Feature 1Yes/ NoYes/ NoYes/ No
Delighter Feature 2Yes/ NoYes/ NoYes/ No
Kano Table

Return on Investment

Approximating ROI (2, pg 84)

References

  1. Lean UX by Jeff Gothelf
  2. Lean Product Playbook by Dan Olsen
Posted in Scrum Add-ons

What is the Problem?

Problem Statement Formats

Existing product problem statement elements (1, pg 25)

  • The current goals of the product or system 
  • The problem the business wants addressed (i.e. where the goals aren’t being met) 
  • An explicit request for improvement that doesn’t dictate a specific solution 
[Our service/ product] is intended to achieve [these goals].
We have observed that the product/ service isn't meeting [these goals] which is causing [this adverse effect] to our business. 
How might we improve [service/ product] so that our customer are more successful based on [these measurable criteria]?

Template (1, pg 26) 

New product problem statement elements (1, pg 27) 

  • The current state of the market
  • The opportunity the business wants to exploit  (i.e. where the current solutions are failing)
  • A strategic vision for a product or service to address the market gap
The current state of the [domain] has focused primarily on [customer segments, pain points, etc] 
Our product/ service will address this gap by [vision/ strategy] 
Our initial focus will be [this segment]

Template (1, pg 27)

References

  1. Lean UX by Jeff Gothelf
Posted in Scrum Add-ons

User Stories

Stories express something that will be valuable to a user (2)

Benefits of User Stories

  • They act as a placeholder to remind us to have conversations rather than follow written requirements contracts
  • They encourage interaction through the conversations
  • They are comprehensible by all, from devs and throughout the business, and have no technical jargon
  • They are the right size to be able to plan and estimate
  • When working iteratively we don’t have to write all stories upfront and can refine as we go along the project

Splitting Stories

Vertical Slicing

  • Always slice stories from the point of view of our customer
  • All stories must have value, which can be to our customer directly or indirectly
  • The technical layers that make up the value are to be kept together (like the layers of a birthday cake) as one layer on its own does not provide value
  • Splitting stories into the technical layers can lead to defining the solution and restricting abilities to creatively iterate

Using Scenarios to Split Stories

  • See BDD and Three Amigos for writing stories with scenarios
  • Use these scenarios to break the story down into smaller pieces of value

Cake Metaphor (3)

Cupcake_parts
Cake Metaphor Doodle
  • To split the story down you could break it down horizontally and take each ingredient in turn
  • But if you slice horizontally you will just get egg and not know if the cake ingredients all work together to provide value (it could taste awful all together!)
  • Instead, bake a cupcake!
  • You get all the ingredients but a smaller size to check the recipe works
Cupcake
A Cupcake Doodle!

User Story Construction

The Three C’s

CARD
  • Description that defers the details
As a [user type]
I want [functionality]
So that [benefit]
CONVERSATION
  • Verbal conversations are best
  • Highlights that we don’t know all the detail
  • Reminder of conversations we have had, work that has been done, any wider context
Confirmation
  • Acceptance Criteria
  • Must be matched for a story to be considered done
  • User point of view only
  • No design specifications unless the user wants them

Good User Story Guidance

INVEST Criteria

INDEPENDENT
  • Stories shouldn’t have to be completed in a specific order and should not rely on another story to be started
  • This is not always achievable
  • Common examples are when you need something to exist before you can build upon it or when one story reduces the complexity of another making it seem logical to do them in a specific order
  • How do we respond to this?
    • Don’t put dependent stories in the same sprint to keep the flow
    • Join together dependent stories
NEGOTIABLE
  • Stories are not contracts – they are short descriptions of functionality
  • Open to discussion with the team
  • Simplify, alter, add to in whatever way is best for the goal and the product
VALUABLE
  • Valued to user/ customer
  • Technology assumptions have no value to the customer!
ESTIMABLE
  • Good size
  • Just enough information, but not too much to become confusing
  • If an investigation is needed before estimation, use a spike
SMALL
  • Lower Limit is coffee break size, i.e. big enough that you deserve a coffee break for finishing
  • Scrum team will highlight size issues in refinement
TESTABLE
  • Language is important
  • It must be specific, unlike “A user never has to wait for it to load”
  • “It takes two seconds max to load in 95% of cases” is much better

Acceptance Test Writing Guidance (2)

  • Always add tests as long as they add value
  • Capture assumptions
  • Provide basic criteria for when story is Done
  • Questions to ask
    • What else do devs want to know?
    • What am I assuming?
    • What can go wrong?
    • Circumstances where story might behave differently
    • Usability
    • Stress
    • Performance

Stories should be closed, not open ended

  • Use language to ensure that the stories have a definite closure
  • Continuous jobs are bad (e.g. managing an ad)
    • Instead use closed actions like “review responses” and “edit response”

User Story Card Example (3)

Story_Card
User Story Card Doodle
  1. Story reference number
  2. Author of the story
  3. Value/ importance
  4. Status/ release
  5. Size/ estimate
  6. Date created
  7. Dependencies
  8. Metrics (if relevant)
  9. Description
  10. Story title (this is the only mandatory field)

User Story Smells

Too Small

EVIDENCE: Frequent need to revise estimates depending on order

FIX: Combine the stories together

Not Independent

EVIDENCE: Difficulty in planning the iteration and lots of swapping stories in and out

FIX: Re-split the stories

Gold Plating

EVIDENCE: Extra wow factor being added that isn’t in the story

FIX: Increase the visibility in the Daily Scrum

Too Much Detail

EVIDENCE: Too long discussing the story

FIX: Strip the story back to its basics and focus on the user point of view

Trouble Prioritising

EVIDENCE: Stories cannot be prioritised logically

FIX: Stories may need to be broken down smaller or re-written from a value point of view


References

  1. The Scrum Guide
  2. User Stories Applied by Mike Cohn
  3. User Story Mapping by Jeff Patton