about services publications events blog
Pichler logo

All Things Product Owner

Posts Tagged ‘customer feedback’

Decomposing User Stories

Aug
18

Grooming the product backlog entails decomposing larger product backlog items until they are small enough to fit into a sprint. This process, also known as progressive requirements decomposition, might last more than one sprint. Although detailing product backlog items should be delayed until the last responsible moment, you might have to start decomposing a story a few sprints in advance before it can be implemented, particularly if the story is large or complex. This allows gathering the necessary feedback from customers, users, and other stakeholders before detailing the item. Let’s look at how user stories can be decomposed progressively.

Decomposing User Stories

As illustrated in the figure above, the Scrum team originally placed the epic “Compose email” in the product backlog. As it is too big and vague to be delivered in a sprint, the epic is broken down into several coarse-grained user stories. The story “State recipient” is then further decomposed into two fine-grained user stories. These are now small enough to fit in a sprint. The epic is an example of a compound story, a user story that has more than one goal. To decompose such a story, we introduce a separate story for each goal. “Compose email” is therefore broken into “State subject,” “State recipient,” and “Set importance.”

There are other user stories that need to be decomposed, including complex stories and stories with monster criteria. A complex user story is a story that is too big to be delivered in one sprint because of its inherent uncertainty or because it covers too much functionality. If it is too uncertain, we introduce one or more items into the product backlog that explore that uncertainty and generate the relevant knowledge: for instance, “Investigate JavaServer Faces as the user interface technology.” If the story describes too much functionality, we spilt it into several stories to allow an incremental delivery of the functionality. This technique is also called slicing the cake. A story that says, for instance, “Validate the user” could be decomposed into “Validate the user name” and “Validate the password.”

Stories sometimes look fine until we consider the acceptance criteria. If there are too many—more than about ten—or if requirements hide in the criteria, we need to rework and decompose the story. Here is an example: “As a user, I want to delete a text message.” The acceptance criteria state, “I can select any text message. I can remove the message text. I can save the modified message.” Not only is the second condition redundant, but the other two introduce new requirements rather than specifying acceptance criteria. This story should be split into three: a story about deleting text messages, a story about editing text messages, and another story about saving the modified messages.

Find out more about working with the product backlog effectively by reading my book Agile Product Management with Scrum or by attending my product owner course. User stories are comprehensively described in Mike Cohn’s excellent book User Stories Applied.

spacing rule

How much Visioning is Necessary in Scrum?

Apr
26

A recent posting on deutschescrum brought up an interesting question: How much visioning is necessary in Scrum? Even though I find it impossible to give a general, precise and accurate answer, there are two main factors that influence the time and effort necessary to create the product vision and the initial product backlog: the product’s lifecycle stage, and its complexity.

The younger a product is, the more visioning work tends to be required. A new-product development project may spend several weeks creating the product vision and carrying out necessary prep work such as creating prototypes to explore product design and architecture options. Contrast this with an incremental upgrade of a mature product that may only require a few days of visioning work. The same applies to complexity: The more complex a product is, the more visioning time and effort is usually necessary. Note that complexity comprises not only the internals of the product – its architecture and technology – but also the functionality provided.

When determining your visioning effort, avoid two common mistakes: Don’t rush into the first sprint without having agreed on an overarching goal, without understanding what the future product will roughly look like and do. At the same token, avoid overdoing the visioning work. There is no way to guarantee that the vision is correct, that the new product or next product version will be a certain success. For anyone not blessed with perfect foresight, predicting the future correctly is notoriously difficult; no market research technique can deliver forecasts that are 100% accurate.

I therefore recommend you keep the visioning time and effort to a minimum. Do as little as possible, but as much as necessary. To find the sweet spot, try the following: First, focus on the customer needs and the three to five top features of the product. Second, envision the minimum marketable product – a product with the least amount of functionality that still has a clear value proposition. Third, quickly implement the product vision and gather customer and user feedback on early product increments to validate and refine the vision. And last but not least, reduce complexity by creating a simple product – a product that is easy to use and easy to extend and maintain.

Find out more about visioning in my book Agile Product Management with Scrum or by attending one of my upcoming product owner classes.

spacing rule