Understanding Increments (And How To Decompose Backlog To Deliver Value Fast)
The Increment doesn’t tend to get as much attention as the other artifacts in the Scrum Guide, perhaps because it seems so straightforward. But the Increment is more than the final Scrum Artifact. The value it derives goes beyond what it intrinsically provides the customer or end-user.
Delivering a usable Increment every Sprint is important because it allows Scrum Teams and organizations to get feedback, test hypotheses, gather data, and then pivot as needed.
The concept of an Increment is deceptively straightforward. If you just focus on the obvious you can miss some extremely important facets. So let’s examine the Increment and why it is important to create a usable Increment each Sprint.
What Is An Increment For Your Scrum Team
What does your team do? What do you create? Better yet, what is the value you deliver?
For some Scrum Teams, these are easy questions to answer. For others, it can be confounding.
Scrum scales (through Scrum@Scale) throughout every aspect and function of an organization. Every team can employ the Scrum Framework. And every team can produce increments each Sprint. They just need to know what it is.
The definition of an increment is universal no matter the function of the specific Scrum Team. Here’s how the Scrum Guide explains it:
An Increment is a concrete stepping stone toward the Product Goal. Each Increment is additive to all prior Increments and thoroughly verified, ensuring that all Increments work together. To provide value, the Increment must be usable.
You can learn more about a Product Goal here. For now, assume it’s a big something with lots of components that, of course, delivers value in some way shape, or form.
Identifying your Scrum Team’s increment, those concrete stepping stones toward the Product Goal come down to decomposing big things into small pieces. In other words, slicing.
Decomposing Your Vision And Product Goals To Identify Your Increment
If there's one question that all Product Owners seem to ask consistently, it's, “how do I effectively slice my Product Backlog Items (or user stories) and still get value out of each?”
It's a tricky proposition.
Slicing PBI’s for value is not something that comes easily. It takes practice and you’ll need to work towards it over time. But mastering decomposition is key in helping every Scrum Team, no matter their function, deliver an increment each Sprint.
One great technique I advise Product Owners (and others) to use is The Seven Dimensions of a Story, developed by Ellen Gottesdiener and Mary Gorman.
The Seven Dimensions are:
- User (who uses the product or service)
- Interface (how they use the product or service)
- Action (what the product or service will do)
- Data (what information do we keep and use to improve the user experience)
- Control (the rules we must follow both internal and external)
- Environment (what allows the product or service to work optimally)
- Quality Attribute (quality controls)
Like the Scrum Framework, The Seven Dimensions were first utilized in software development but they benefit every industry and function.
There are, of course, many other techniques for decomposing vision and Product Goals into smaller slices, but let’s work through The Seven Dimensions to show how it can work in any situation.
Beer Anyone?
Let’s imagine we’re creating a brewery or a restaurant built around breweries. How do we start slicing those big (product) goals into smaller parts and identify Increments?
If we're slicing by User, the first of the Seven Dimensions, we could focus on a particular user and try to slice and prioritize stories to deliver associated with the different users we identified when starting this product.
One possible Product Goal In this scenario might be to encourage repeat customers. So when slicing for the User we might ask:
- What are the user’s needs?
- Would they like a ‘mug club’?
- What do we need to accomplish this?
- What beers are the most popular in our establishment?
- Should we partner with a brewery?
- What, besides beer, can we do for those that may come along with potential repeat customers? Their friends? Their children?
Next, we could focus on Interface.
- How are we going to deliver our beer to our customers? Brick-and-mortar store? Online ordering system and home delivery?
- What does our menu look like?
And so on and so on.
The Seven Dimensions can be used to decompose even the biggest, grandest vision or Product Goal into smaller slices that can be accomplished in a single Sprint while still delivering value.
That is your increment no matter what your function is.
Now that we’ve examined one way to identify your increment (the how), let’s examine why delivering at least one increment every Sprint is so important.
The Increment’s Impact On Flow
Iterative flow is an important component in several Lean thinking and Agile methodologies. In brief, flow means the ability to finish one thing then seamlessly move onto the next.
In Scrum, good flow allows the Product Owner to cleanly shift priorities from one Sprint to the next without any carryover.
That alone is significant because carryover can be incredibly toxic.
Imagine that you're working on a Scrum Team which completed 26 points of work in their latest Sprint. However, they had 12 additional points of work that was almost finished.
What do they plan for in terms of their next Sprint? Do they pull in the unfinished work-in-progress (WIP) or move on?
WIP is waste since it doesn’t deliver value. WIP is also an anchor - it slows Scrum Teams and organizations down.
Product Owners in this scenario find themselves in a catch-22. How can they deliver “product A” which is now late if they don’t prioritize finishing the 12 points of WIP? However, prioritizing “product A” means “product B” must take a back seat if the Scrum Team’s velocity shows they can’t carry over the WIP and get all the work done.
Delays to delivery abound and no one, not the Scrum Team or their customers or stakeholders are happy.
Avoiding this carry-over work and delivering an increment (or more) each Sprint is critical to keeping good flow. To move seamlessly from one piece of work to the next. Without it, everything is bogged down.
That's why we take the Sprint Goal seriously. It’s the commitment the Scrum Team makes during the Sprint Planning event. The Sprint Goal is the target that must be reached so the Scrum Team and the organization can go forward.
The Increment Leads To Feedback
The whole point of working in iterative flow is to get working pieces in front of customers and stakeholders as quickly as possible so that we can use their feedback to guide our future efforts and direction.
Better yet, iterative flow can be used to get a product or service to market quickly to gain feedback and start generating revenue.
Are customers using your product or service? Are they using it in different ways than you anticipated? Are you on the wrong path and need to do something completely new? Is there an opportunity for something you didn’t foresee? All of these questions can be answered by feedback.
Producing incrementally allows you to test your assumptions, get real data-driven answers, and continue or adapt and pivot to something the market wants.
In short, increments reduce the cost of changing your mind and the feedback they generate informs your decision on what to do next.
How fast you get increments to market so they generate value may just be the difference between your business surviving or going under.