The Business Objectives Model (BOM) is a foundational model that helps you define and manage the scope of your software development projects. It bridges the gap between the business problem your organization wants to solve and the software that will be built to solve it. However, the seeming complexity associated with creating a BOM deprives many teams of the benefits of the model.
Before we begin: Download the Visio model template that you will fill out to create your BOM here. If you do not use Visio, you can create the BOM using Office Software like Word, Google Docs, PowerPoint, etc. The sample BOM was created using the ‘Drawing’ functionality in Google Docs.
Problems are numbered as BP1, BP2 and BP3. Objectives are numbered as BO1, BO2, etc., and features are numbered F1, F2, etc. Use this simple numbering convention on all the BOMs you create.
Here is a simple 4 step approach to creating a BOM.
Step 1: Define the Main Business Problem to be Solved
- Identify the biggest problem you are attempting to solve with the software solution. Keep the list small – just 1 problem.
- Estimate how much money you will save or gain by solving the problem.
- Define the problem and the estimated value in simple language. This language must be understandable to everyone who will work on the project.
- Put this problem statement into the first column of the BOM.
Step 2: Define One Objective for the Project
- Identify the objective that delivers the most business value. All projects will have more than one objective. For the purpose of this exercise, we will work with just one.
- Define the objective and estimated value in simple language. Here again, the objective must be understandable for everyone who will work on the project.
- Put this objective statement into the second column of the BOM.
Examples:
Reduce lost revenue by $300K by charging the correct hourly rates for all tasks on Time and Materials projects.
Increase sales by $300K by ensuring that all qualified leads are contacted by Sales within 48 hours of lead creation.
Step 3: Identify 2 Problems that Prevent you from Achieving the Objective
- Identify the most obvious and well known problems. Keep it simple and restrict yourself to just two of the biggest issues you must overcome.
- Put them in column 3 of the BOM.
- Repeat Step 2 to identify objectives for those problems and put them in column 4.
Examples:
Mismatched rates between invoicing and sales systems result in underbilling.
Team members not billing for legitimate project work due to missing billing codes and activities in the time management system.
Step 4 – Define the Features needed to Overcome the Problems in Step 3
- Give your Product a name.
- Define 2 or 3 critical / essential features to address each problem.
- Map each feature to the problem it solves.
- Put the features into the final column on the BOM.
Examples:
Product Name – Price and Billing Enhancement
- Feature 1 – Common Price List -> Mismatched Rates
- Feature 2 – Integrate Price List with Invoice -> Mismatched Rates
- Feature 3 – Integrate Price List with Sales -> Mismatched Rates
- Feature 4 – Add Billing Codes to Time System -> Missing billing codes
- Feature 5 – Create Standard Billing Codes for Role -> Missing billing codes
- Feature 6 – Add Billing Codes to Role Automatically -> Missing billing codes
And that’s it, you have created your first BOM! Repeat this exercise 1 problem and objective at a time and you will have a full fledged BOM for your project.
The first few BOM you create will not be great. That is normal and not a reason to panic or abandon the model. It takes a lot of thought and effort to clearly articulate the problem to be solved by software, and define the objectives to be achieved. And herein lies the true value of the BOM – it forces you to think critically about problems and objectives before you start building complex software. And it provides a simple framework for capturing these thoughts for use by all members of the project.
The BOM enables you to participate in every scope decision made by the project team without having to attend every meeting where scope is discussed. It communicates your priorities in a simple model that clearly explains to the project team your rationale for funding the project and the outcomes you expect them to deliver.
Here are other blogs you my find helpful: