Yet Another Classification of Backlog Items
Author: Jurgen Appelo
Do we need another blog post about epics and stories?
No, we don’t. But some people appreciate a bit of clarity.
Work Item Patterns
I believe there are three broad categories of work:
DISCOVERY: We do work to explore and gain knowledge about user needs, customer experiences, market size, and so on. They are the work items we handle to discover information about our environment.
DELIVERY: There are other things we do to execute and create value for users, customers, and other stakeholders. These are the work items we have to deliver experiences and capture value in return.
IMPROVEMENT: Finally, there are things we do to improve our ways of working so that, next time, we can explore and discover stuff more efficiently or execute and deliver things more effectively.
Furthermore, in each of these three categories, we can distinguish work items of three different sizes:
Epics are large-sized work items that, when finished, result in something worth telling people about. They typically take a few weeks or months to complete.
Stories are medium-sized work items that, when finished, result in something valuable, but they’re not such a big deal. They typically take a few days to complete.
Pieces (or tasks) are small-sized work items that, when finished, result in just ticking an item off a to-do list. They typically take a few minutes or a few hours to complete.
In many cases, multiple pieces (tasks) together make up a story. And various stories together can make up an epic. But such a hierarchy is not a requirement (pun not intended). Some work items stand alone without having a parent item.
Note: In Jira, tasks and stories are the same thing, and the work at the next lower level is called a subtask. This differs from their usage by many other people in the agile community who see tasks as subitems of stories. To reduce confusion in our pattern language, we use the word pieces to indicate subitems below stories. For many agilists, pieces are the same as tasks. For Jira users, pieces are synonymous with subtasks.
The result of this arrangement is a three-by-three grid of work item patterns that’s clean and easy to understand.
Other Work Item Types
Initiatives
In many contexts, initiatives are equivalent to epics, which is why we feel no need to recognize them as a separate pattern. In some contexts (and also in Jira), initiatives sit above epics as another fourth level of work items.
Issues, Defects, etc.
I consider these a different categorization of epics, stories, and tasks/pieces. You can do any labeling and grouping you want on your backlogs for reporting purposes.
Startup terminology
A Minimum Viable Product (MVP) is the equivalent of a Discovery Epic: a large-sized work item (measured in weeks or longer) with risk reduction as its goal.
A Minimum Marketable Feature (MMF) is the equivalent of a Delivery Epic: a large-sized work item (measured in weeks or longer) that has capturing value as its goal.
A Minimum Marketable Product (MMP) is the first time one or more Delivery Epics (MMFs) are handed to a customer.
A Minimum Marketable Release (MMR) happens every time one or more Delivery Epics (MMFs) are handed to a customer. Only the first Minimum Marketable Release is a Minimum Viable Product.
Scaled Agile Framework (SAFe)
SAFe has a different (more complicated) categorization of work items.
Business Epics are usually Epics that Value Stream Crews work on.
Enabler Epics are usually Epics that Platform Crews work on.
Program/ART Epics are Epics managed at the level of the Crews.
Solution Epics are Epics managed at the level of the Turf or Base.
Portfolio Epics are Epics managed at the level of the Base or higher.
Capability = We don’t make this distinction in the unFIX model.
Feature = We don’t make this distinction in the unFIX model.
Summarizing, there are many ways to organize work items on backlogs. If you begin from scratch, the nine patterns in the unFIX model may offer you a good starting point. If you already have a hierarchy of backlog items working well for you, great! Don’t change it. But if it doesn’t work out for you, you can use the unFIX patterns to experiment with some changes to your model.
Just try not to overdo it.
Simple is good.