Some processes, problems, and projects appear complicated, yet their complexity disappears as soon as one takes a closer look and breaks them down into simpler parts. This is the objective of functional decomposition - to clarify how the overall functionality emerges from the interaction between individual components in increasing detail.
Typically, functional decomposition is used during the project analysis phase to create functional decomposition diagrams (FDDs), as part of requirements specification documents. However, it can also be used for smaller projects, to document the deliverables and to clarify whether the project is on the right track.
When dealing with functional decomposition, it pays off to have a good knowledge of some basic terms associated with it:
- Function – A function is a task expressed as a verb-noun phrase. Some examples of the functions of ATM machines are verb-noun phrases such as “reads cards,” “prints recipes,” or “allows for touch input.”
- Sub-function – Functions often have a hierarchical relationship. This means that certain functions require other functions to work in order to be executed. The required functions are sub-functions of a higher function.
- Decomposition – Decomposition is the process of breaking down something complex into smaller parts.
- FDD (functional decomposition diagram) – The individual functions and sub-functions of a process or system can be graphically displayed in a hierarchical order as a functional decomposition diagram, which shows how the various functions are organized.
How To Perform Functional Decomposition
When designing a system using the functional decomposition approach, start by identifying a single general function that best encapsulates the major objective. Try to avoid accidentally including secondary functions in the definition of the general function to keep the functional decomposition process as unrestricted as possible.
Keeping the general function in mind, proceed to find the closest sub-functions that must happen in order for the general function to take place. Think about how the sub-functions connect to the main function and note it down in a functional decomposition diagram.
Continue like this sub-function by sub-function, trying to find other required sub-functions. Repeat this until you’ve identified all required sub-functions. Finally, carefully check the resulting functional decomposition diagram for errors and inaccuracies.
Pros and Cons of Functional Decomposition
Like all business analysis techniques, even functional decomposition has its pros and cons. It’s necessary to be aware of them in order to accurately determine when it’s suitable to use functional decomposition and when another technique may be better.
- The simplicity of functional decomposition diagrams makes it very easy to understand complex systems.
- Knowing the exact functions and sub-functions that make up a system allows for more efficient organization and better planning.
- Each function can be treated as an individual unit, making it possible to localize problems at the atomic level.
- Makes it apparent which areas are more complex than other areas.
When performed correctly, functional decomposition doesn’t really have any downsides. However, there are numerous pitfalls that BAs tend to fall into when performing a functional decomposition analysis for the first time. These include:
- Either not going deep enough or going too deep when breaking down a system.
- Doing an unnecessary amount of work by creating everything from scratch instead of relying on templates.
- Excluding clients from the discussion.
In what ways do you make use of the functional decomposition diagram on your business projects?