1

I am new to project management in the software world and have been tasked with setting our user requirements and setting up our project board accordingly. I understand the structure of Epics, User Stories, and Tasks, and I have defined the Epics and User Stories.

My problem now is that the tasks that outline the development work required to meet the user story need to be fleshed out. And herein lies my question.

What is the best way to build out the backlog? For example, should I utilize backlog refinement sessions with one or two of my engineering SMEs to flesh out the backlog items concerning user stories? Is there a better approach?

1
  • You can do a first pass with a small group, but only the people doing the work should actually decompose and estimate the actual tasks. That's not your role in agile frameworks; it's the whole team's (and especially the developers).
    – Todd A. Jacobs
    Feb 21, 2022 at 18:50

2 Answers 2

1

Refinement sessions are a good start, but they should be with the whole team and not just one or two subject matter experts. By bringing the whole team together, you'll reduce communication necessary among the team members to understand the work and also convey the information in first-hand face-to-face communication rather than seeing written communication or even second-hand face-to-face communication. I would suggest, though, that the bulk of refinement would happen outside of whole-team refinement sessions, where some of the team takes a deeper dive into understanding the needs and how the technical solution would need to evolve to support them.

I'd also suggest retrospectives or some other kind of continuous improvement and reflection activity to look at how the team is working, including how they are refining the work, and find opportunities to improve. Reflection and adapting the team's way of working is a core principle of the agile methods.

1

There isn't a simple answer to this question. A lot will depend on the domain and the people involved.

The goal is to achieve two things:

  • Adding detail to the user stories in a timely fashion
  • Avoiding knowledge silos so the team can work on the story in an effective way

In a simple domain it may even be possible to add all the necessary details in the planning meeting. At the other extreme some teams may find they need several stages of refinement.

Ideally we want everyone in the team to be involved in refinement so that they have a common understanding and can all work on every story. Not all teams will enjoy this though and some will prefer to minimise the time they spend in meetings.

There are many formats for refinement, including:

  • An individual developer fleshes out the story
  • A subset of the team discuss the story with the Product Owner / SMEs
  • The whole team meets with the Product Owner / SMEs
  • A 'three amigos' meeting when following a Behaviour Driven Development (BDD) approach

You can see how different approaches have different impact on our two basic goals. Fewer people involved in a refinement meeting means less time spent in meetings, but can reduce the knowledge sharing. Approaches like BDD can help here, because although a subset of the team is involved in fleshing out the story, the scenarios are well documented and can make it relatively easy for other team members to understand the requirement.

I would encourage you and your team to experiment with different meeting formats and frequencies. If some team members struggle to work on stories your chosen approach may have insufficient knowledge sharing. If team members complain of too many meetings then it may be too many of them are attending each refinement meeting.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.