Systems Engineers and Program Managers have at least one major thing in common; they both try to optimize cost, schedule, and performance. The Program Manager does this for the program, while the systems engineer does it for the system. For both, costs include; labor, ODC (other direct costs), and Materiel. They both use historical data to justify their cost estimates, when possible, and analysis/judgement (we often call it “engineering judgement”) when they cannot find comparable historical cost data. Therefore, if both groups are doing essentially the same things, the question becomes, “Can they use the same processes and tools to perform cost analysis?” I think the answer to this question is “Yes.”
We recently worked on a “functional cost analysis” for a US Government Department, where we estimated the costs of a complex business process by modeling these processes and identifying how long it took various people to perform specific tasks within the process. We could then execute the model over decades to see the overall strategic cost of operations and determine how long it would take to complete the strategic task. We included fixed costs, as well as the variable labor costs as well. This analysis is the type that the systems engineer usually performs. We then applied the exact same approach and tool (Innoslate® of course) to the cost projection for the next phase of the project.
So enough about what is cost analysis you wanted to know how to perform cost analysis. The how is a simple 5-step process: 1) model the business process; 2) estimate time for each task; 3) estimate the fixed costs associated with each task; 4) identify the personnel (by type or category) who will work each task and how much time they will take; and 5) execute the simulator to develop the cost estimates.
So let’s use this process for a simple problem: estimating the cost of a systems engineering analysis. SPEC Innovations uses the classic MIL-STD-499B (draft) process as the basis for its systems engineering process. When modeled as an Action Diagram in Innoslate (see previous blogs and webinars for how to do this), it looks like Figure 1 below (Step 1).
Now you can use the Action Diagram’s sidebar to add the times for each task in the process (Step 2). You can also put in specific start dates. Note: when you use the start dates, you need to make sure that the parent Action has a start date on or before the other ones. If you don’t specify start dates, the simulators will use the current date. The result of a discrete simulation run is shown in Figure 2. This result shows the time it takes overall, as well as the individual times for each task. Since we used a “triangular” distribution for these times, you may want to use the Enterprise version’s Monte Carlo simulator to see the range of times that result from this analysis. (More common errors in simulations is discussed in How to Use Innoslate for Intermediate Users webinar).
Now that we have an idea of the schedule, we can add costs to each task to generate the cost estimate.
You can add fixed costs (Step 3) to the tasks by adding a related cost to each task using the Entity View of each Action. Another way to do this faster is to make use of the Spider Diagram. Figure 3 shows a spider diagram of the SE Business Process Model with only the decomposed relationship (see custom spider).
To add a fixed cost, just select the Cost entity class from the palette pulldown menu and drag the new Cost entity onto the diagram. In this case we want to capture the cost of using a tool (Innoslate®) for six (6) systems engineers. Since this will be incurred immediately by any and all the tasks, we only need to make the relationship with the first task (Analyze Requirements). Obviously if you were using other tools you would want to add their fixed costs to the appropriate tasks. Since the study will only require the tool for a few months, we can put in the cost of using the tool over that time period. Since the company bought annual licenses the amount for the professional (from the website) is $169 per month per person. Over the two months of the projects this comes to $2028. We enter that value in the cost field of the new cost entity. We also need to put in the units ($) and use the rate pulldown menu to select “Fixed.” You can see the results of this work in Figure 4.
Now we want to add the people who will support this work and their cost in time and dollars (Step 4). In the Lifecycle Modeling Language (LML) ontology, people are Assets or a subclass of Assets: Resources. Let’s use the Resources approach (after all this is an advanced blog). I have three groups of resources I want to use: Senior SEs, mid-grade SEs, and Junior SEs. On the spider diagram we only need to select the Resource class on the palette and drag the resource onto the diagram and use the “seized by” relationship when prompted. We can then adjust the attributes of the resource. If we want to track the actual cost of the person, we can also associate a new cost entity with that resource. You can see an example of this for the Senior SE in Figure 5.
We can continue this process for all the other resources and have them seized by the other process tasks. Doing this ends up with the picture shown in Figure 6.
To finish assigning cost values to this process, we still have to determine how much of each resource will be used by each task. This assignment must occur in the Entity View of each task. So, the simple way to do this is to select each task in the Spider diagram and Open the Entity. If we select the Resource tab, we see on the right panel the relationships to the resources seized by the Action (see Figure 7).
When selecting the attribute button associated with each one, you can select how many of each resource will be used during that task. You can select all or part of that resource. For example, in this case I selected 0.5 for the Senior SE, 1 for the Systems Engineer, and 2 for the Junior SE.
If we complete these assignments for all the tasks, we can then run the Discrete Event Simulator to obtain the cost curve shown in Figure 7 (Step 5). Since we use variable rates and times, we can use the Monte Carlo Simulator to obtain the distribution of the time and cost.
Figure 7. Cost Curve for SE Process Execution
As we can see, Innoslate provides the tools necessary to perform cost analyses. Try it yourself and share with us how you do.
Topics: How to Use Innoslate Series