Breaking Down Solutions
Breaking down solutions involves dissecting complex software features into smaller, more manageable parts. This process allows teams to tackle each part incrementally, facilitating iterative development and continuous improvement.
Purpose
Full features can take a long time to build, which increases our risk as we don't know if we're building the right thing until it's in the hands of customers. By breaking down solutions into smaller, functional parts, we can get feedback from customers earlier and reduce the risk of building the wrong thing.
Context
Industry Context
90% of features fail to deliver the expected value. Our solutions are often close, but not quite right. By iterating on smaller parts of the solution, we can get feedback from customers earlier and adjust earlier while it is cheaper.
ZeroBlockers Context
Teams are accountable for the outcomes they deliver, not the outputs. Even though teams have invested in upfront research and evaluative design there is still a risk because it is only when customers have the full solution in their hands that we can be sure it is the right thing. Breaking down solutions into smaller parts allows us to get feedback from customers earlier and reduce the risk of building the wrong thing.
Methods
Method | Description | Benefits |
---|---|---|
User Story Mapping | A visual exercise that helps teams understand the user's journey and break down the functionality into smaller, user-centric tasks. |
|
Technical Task Mapping | Breaking down a user story into specific, actionable tasks and mapping them into separate releases. |
|
Wardley Mapping | A strategic planning tool that helps teams understand the value chain and identify the core differentiators in your product versus the commodity elements. |
|
Other Methods
Method | Description | ZeroBlockers Opinion |
---|---|---|
Feature Slicing | Divides a feature vertically into smaller, independent slices that deliver complete user value incrementally. | Feature slicing is a very valuable technique. However we favour User Story Mapping because it shows both the current slice as well as the future slices. This avoids unnecessary arguments about why we are ignoring critical items. |
MoSCoW Method | A prioritisation technique that categorises tasks into Must have, Should have, Could have, and Won't have. | MoSCoW doesn't focus on workable slices, it looks at all requirements together. This means that it often takes a long time to deliver all of the Must haves before we can get feedback from customers. |
Kano Model | A technique for categorising customer requirements into five categories: Basic Needs, Performance Needs, Excitement Needs, Indifferent Needs, and Reverse Needs. | Again, Kano looks at all of the requirements together instead of focusing on workable slices. This means that it often takes a long time to deliver all of the Basic Needs before we can get feedback from customers. |
Anti-patterns
Anti-Pattern | Description | Mitigation |
---|---|---|
Over-complication | Breaking down solutions into too many small parts, leading to micromanagement and inefficiency. | Focus on creating manageable yet significant tasks that contribute directly to the product goals. |
Lack of Flexibility | Strictly adhering to the initial breakdown without adapting to changes or new information. | Encourage regular reviews and adjustments to the breakdown as the project evolves and new insights are gained. |