Skip to content

How we work: Working with the backlog

Nils Magne Lunde edited this page Jun 7, 2021 · 5 revisions

Working with the backlog

Tasks

These are the tasks needed for keeping the backlog in good shape:

Write Epics and high level User Stories

Responsible: PO
When: AdHoc What: The product owner (with help from SDM) is responsible for adding the high level user stories needed in order to reach desired functional level for a product.

Prioritize User Stories

Responsible: PO togheter with Dev team
What: It is important that the backlog is somewhat prioritized because that makes it easier for the team to focus on the right stories. The most important stories should be at the top of the backlog, and if priorities change, the PO must make sure the backlog is updated accordingly. Dev team gives input on the prioritizations from a technical perspective.

Split User Stories into smaller chunks

Responsible: SDM with help from Dev team
When: Bi-weekly
What: High level User Stories may be of various sizes and complexity. In order to make the stories easier to reason about, and also to make each story more fucused, it is often required that they are broken into more granular ones. Preferrably the stories should be of similar size and encapsulate one need only.
How:

  • Assess each new story that has appeared on the board since last meeting. Is it:
    • clearly stated and easy to understand?
    • encapuslating one particular need?
    • small enough to finish within reasonable time*
  • If the answer to one or more of the previous questions is no, identify the different needs from the story and move each to a new story.
  • Make sure to add appropriate acceptance criteria to each story

Create tasks from user stories

Responsible: The Dev team
When: Weekly
What: You already have a story that represents a need that is easy to understand, develop and test in isolation. However, several tasks would need to be accomplished in order to fullfill the story. This is where sub-tasks come into play. A sub-task is a small unit of work that can be accomplish by one person typically within a day. It can be technical in nature and together with the other sub-tasks extracted from a story it should answer all the acceptance criteria for the story.
How: There are a few important things to consider when breaking down user stories into tasks:

  • Keep tasks small, but not too small. As a rule of thumb, a task should be something that can be done within a single day, but not in a few minutes' time either.
  • Keep tasks very precise in scope. Don't create tasks with such vague statements as "Coding" or "Implementation" thinking that anyone can just refer to the parent user story for details. Write something more meaningful that also makes the scope very clear. For example: "Add styling to button component"
  • Use the user story's acceptance criteria as a starting point, and its QA list as a checklist. The acceptance criteria will help you determine what features need to be implemented, and the QA list can help you if any task is missing in order to secure quality.

Add story points

Responsible: The Dev team
When: When creating or updating sub-tasks
What: In order to make any kind of prediction for how much the team can deliver in a time frame it is necessary to have some perception of the size of tasks relative to other tasks. Even though we are using Kanban it is still valuable for the stakeholders to get some predictions on what the team can deliver at what pace. Also Zenhub is using story points for many of it's reports.
How: Add story points to sub-tasks when creating them. This item needs to be discussed before adding more information.

Plan next iteration

Responsible: PO and SDM
When: When current iteration is coming to an end
What: This activity is about planning what the team will focus on the coming weeks. One iteration may typically be 2-5 weeks, and should cover one specific topic or theme. The iteration should be filled with user stories (w/sub-tasks) that are needed in order to deliver on that topic/theme at a desired/specific level.
How: The PO should already have prioritized the backlog with the most important stories at the top. Include one person from the Dev team and start at the top of the backlog. Identify the Epics (preferrable 1-2) and user stories that make up a good delivery that makes sense for the project. The length of the iteration depends on the size of the stories, but try not to add too much into one iteration. It should be completed within weeks rather than months!