What is Agile functional decomposition? (and why is it important?) Investopedia defines “functional decomposition” as follows:
“A method of business analysis that dissects a complex business process to show its individual elements. Functional decomposition facilitates the understanding and management of large and/or complex processes and can be used to help solve problems:
- Basically, functional decomposition takes something complicated and simplifies it
- The individual elements of the process and their hierarchical relationship to each other are commonly displayed in a diagram called a functional decomposition diagram.”
How Is It Relevant to Agile?
Why is that relevant to Agile? A major goal of Agile is to maximize the business value that a project produces.
- On small, simple projects, you might be able to easily discover what the business value is based on direct face-to-face discussion with the Product Owner and individual stakeholders
- On large enterprise-level projects, that may not be so easy to do:
- An example is that I was involved in a large project with about 500 user stories, and
- We had to do some prioritization to move things out to a future release
- Doing that on a project of that size without understanding the relationships among the stories can be very difficult if they’re not organized into some kind of functional hierarchy
Agile Functional Decomposition – Keeping Stories Well-Organized
Using functional decomposition to organize stories into epics and themes:
- Makes it possible to keep all of the stories well-aligned with producing the higher-level business value that the project is intended to produce, and
- It makes it a lot easier to effectively manage the Product Backlog
It also provides a capability for trace-ability
- You can look at the top-level functionality and then look down into the functional decomposition to verify that the lower-level functionality is really complete and
- That the lower-level functionality is sufficient to support the higher-level functionality.
Functional decomposition has been around for years but many people don’t think it is relevant to Agile projects. It’s one of those traditional, plan-driven practices that people seem to assume is now obsolete and no longer relevant with Agile. I don’t believe that is the case.
- You don’t have to completely throw away all the traditional plan-driven practices you may have learned in order to practice Agile and
- Some of those practices become especially important as you begin to try to scale Agile to an enterprise level
- Functional Decomposition is an example
You can find related articles on the topic of “Agile Requirements” here:
You will find much more detail on this in my Online Agile Project Management Training.