The "SIM-Project" Cost-and-Schedule FAM, as we have envisioned it, has the following broad characteristics:
Modern simulation technology together with a growingly constructive understanding of project dynamics makes it possible to construct a simulation tool that allows managers to do all of the following:
You interact with the tool by sliding any of its various sliders to vary those parameters whose effect you intend to study. Note that each parameter is controlled by a slider and a lock icon, and its present value is indicated by a meter. You can unlock the Elapsed Time parameter, for example, by clicking on the lock icon. Then you can alter its value with the associated slider. Note as you do so that other parameters which have not been locked will vary in real time as you slide the slider up and down: Costs and risks will increase as time is reduced, or will decrease as time is relaxed. Any parameter may be considered input or output; in other words you may set its value or allow its most likely value to be calculated, given the settings of other parameters.
The project has already been set up to show your expected size in function point equivalents, your quality requirements, a tentative maximum staff size and so forth. A graphical disply shows your staff peaking in January at 21, flattening out and eventually coming down slightly by the time of April delivery. Now consider what the effect might be of reducing function point count downward by 20%. Note that as you slide the function point slider, the costs and schedules adjust themselves in real time, the maximum staff decreases, delivery date gets earlier and aggregate risk decreases. Let's assume that you now lock down the delivery date and begin to experiment with varying staff. As you push the peak of your staff curve upward your costs increase while risks go down somewhat. Alternately, you might release functionality, lock down the delivery date, and play with the cost slider to see how much can be realistically delivered by any given date.
Suppose you finally end up with an acceptable scenario, only marred by a somewhat daunting risk exposure. No matter, you conclude, it's worth taking a few risks to acheive such wonders. Now you put the simulation into Monte Carlo mode and run the project a few dozen times. Oops, you come in only 10% late one time but 30 to 100% late six times and more than 100% late an additional 14 times. Well, perhaps that's taking too much of a risk.
Now you go back and lock aggregate risk at a more reasonable value, lock down the delivery date at April and let the function meter run free. That produces a a reasonable scenario: With functionality at 3,400 function point equivalents, we an hope to bring the project home on time 22 times out of 24 and only a 12% overrun on the other two.
Conventional models are used mostly at the beginning of a project. From the time the actual development activity is begun, the project becomes its own model. We envisioned a slight variation on this theme in which the model reports on a hybrid of actual and simulated results. When the project is half over, for example, the model should report accurately on has been accomplished so far and simulate the rest. So it is at once a current project control panel and a "from today onward" simulator. Our goal is a seemless hybrid of simulator and actual status reporting system. The rationale behind this approach is to encourage what-if thinking all the way through the project and to support the manager in his/her decision making dynamic.
Instead of making a clear distinction between model inputs and model outputs (as do most cost models), we called for a linked set of parameters, any of which could be treated as givens while the remaining ones left free to be calculated as simulation results. Parameters to be implemented in this way might include:
Traditional management support tools operate on inputs derived from the certainties known about the project. But the task of leading a large and complex program is more concerned with managing the uncertainties of the work: Program management is, most of all, an exercise in dealing sensibly with risk. We therefore envisioned that the principal management aid be a tool for modeling risk.
Use of such a tool guides the manager to bound, refine and track what is explicitly not known about the project: those quantities whose normal statistical variation within reasonably expected norms might cause undesired results. The tools solicits the extents of the unknowns at the detailed level and uses these uncertainties to construct a model of aggregate risk. The tool performs exposure analysis, and helps keep track of key transition conditions that signal the materialization of risks into problems.
Since "exposure" is an abstraction, one that is somewhat counterintuitive, the tool also needs to indicate likely outcomes in more concrete form through the use of monte-carlo simulation: successive "runnings" of the project with different expected outcomes.
The Sim-Project hybrid tool would, as we propose it, have all of the the following additional characteristics: