Quote card for How to Work with Complex User Stories That Cannot Be Split.

How to Work with Complex User Stories That Cannot Be Split

Most user stories can be split. It may be hard to find a good way to split some stories, but most can be split. These are known as *compound* stories—stories that are made up of multiple smaller stories.

There is another type of story: the complex story. Complex stories are ones that cannot be split. They are inherently large or complex and there are no subparts to be pulled into separate stories.

Even with a complex story, you don’t want to let the story linger open for three, four or more sprints. Doing so

  • Makes velocity less predictable from sprint to sprint

  • Increases the risk of a developer going astray from user expectations , and

  • Allows the team to develop the bad habit of leaving work incomplete at the end of an iteration

Use Progress Points to Identify Accomplishments

So, what is a good, agile team to do?

When it’s impossible to find a good, natural split that results in two or more smaller, functional stories look instead for progress points.

A progress point is any point during the development (usually coding) of a feature at which the developer feels something has been accomplished.

No developer wants to go two months without the job satisfaction of being able to tell teammates, “I got such-and-such accomplished.”

To identify progress points, ask the developer who is engaged with a complex story, “Where are the points while working on this where you’ll want to tell a tech-savvy teammate, ‘Dude, check it out! I got the this-and-that to work!’”

Examples of Progress Points

As an example, suppose a developer is working on some complex code to interact with a remote system. The developer expects to need two or three iterations to be done.

A progress points on that could be that a first transaction is sent to (or received from) the other system. No error checking or handling is performed but a first exchange with the other system would be a point at which the developer might share the accomplishment with a second tech-savvy teammate who understands the significance of the accomplishment.

A second progress point could be more transaction types being exchanged, errors being detected, or errors being retried.

Once identified, many of these progress points can be quite readily expressed as user stories. So, thinking of progress points helps developers identify natural milestones they’ll reach during the implementation of a large story.

Using a Story’s Progress Points

Having identified one or more progress points within a complex story, use those as milestones. Ask the developer to identify how many of the progress points can be completed during the coming iteration and then use that to track progress just as you would a regular user story.

Story Splitting Video
Download

Story Splitting Video

Featured

Learn five practical SPIDR techniques for splitting oversized stories into smaller, valuable work in this free video lesson. Stop wasting time splitting stories!

People collaborating during a Mastering User Stories workshop.
Workshop

Mastering User Stories

Featured

A one-day course where your team improves real backlog items while learning how to write, split, and refine better stories.

Partially constructed building.
Article

Advice on How to Split Reporting User Stories

Featured

See examples for splitting reporting stories into smaller, useful pieces.

Guide

Good User Stories

A good user story helps the team make better decisions and move work toward delivery. It does not need perfect wording.

Guide

Story Points

Story points help agile teams estimate product backlog items by comparing one item with another. They are useful because teams rarely need perfect predictions.

A folding ruler sits inside a circle, upon which rotate planning poker cards, gears, and a clock. Text to the right of the image reads, Story Points are an Estimate of Effort, as Influenced by the amount of work, complexity, risk and uncertainty.
Article

What Are Agile Story Points?

Understand what story points measure and why they are often misunderstood.