How do I do it?
The following steps below show the general process that a Business Analyst goes through in order to conduct Functional Decomposition.
Decide the what and how of the decomposition effort. This usually involves making the following three decisions:
- Identify the focus area that will be decomposed (the process, goal, business function, etc.).
- Decide the level of detail that will be needed. In some cases you may only want a quick outline (such as when just starting a project to generate an initial elicitation artifact) while in others you may want substantial detail (such as when the functional decomposition results provide a significant part of the project or requirements artifacts).
- Then decide what type of documentation will be generated to show the results of the decomposition effort. See below for examples.
Work with the customer / SME if appropriate to identify the main components that are within the focus area.
Review each of those main functions to identify any sub-components within them.
Review all identified components to determine if they need further decomposition.
Check for completeness. Are all aspects of the entity under review that should be captured represented? Are the components correctly organized into discreetly related groups? Is further decomposition needed?
Repeat and Refine the results until all business and project team members are satisfied with the completeness and level of detail.
If desired, each component can be documented in a consistent way so that each component:
- Has a unique name
- Describes how it fits into it’s current group, and each group above it
- Identifies any business rules for that component
- Identifies any triggers (incoming or outgoing)
What Should the Results be?
In addition to differences in what is being functionally decomposed, there are different ways to document the results of the decomposition analysis, and different levels of detail that are used. The different methods of documentation include:
- A Functional Decomposition Diagram
- An outline structure
- Take order
- Take order from customer
- Input order to register
- Prepare order
- Prepare hot foods
- Prepare drinks
- Place in bag
- Take payment
- Inform customer of amount owed
- Receive payment
- Log transaction in to register
- Deliver change (if appropriate)
- Deliver order
- Hand customer their order
- Hand customer their bill
- Thank customer
- A table structure
|1.1||Receive order from customer||Cashier|
|1.2||Input order into register||Cashier|
|2||Prepare order||Cook/ Window attendant|
|2.1||Prepare hot foods||Cook|
|2.2||Prepare drinks||Window attendant|
|3.1||Inform customer of amount owed||Cashier|
|3.3||Log transaction into register||Cashier|
|3.4||Deliver change (if appropriate)||Cashier|
|4||Deliver order||Window attendant|
|4.1||Hand customer their order||Window attendant|
|4.2||Hand customer their bill||Window attendant|
|4.3||Thank customer||Window attendant|
If you want to present additional information about a function, the table method of decomposition is commonly used. In the case presented above, we added the actor who commonly undertakes a function.