The proposed generic simulation model is an integration of generic management (project management, risk management) and estimation models (cost estimation, risk assessment, risk measure, contingency estimation) for the development of software projects. The benefit of the generic model having generic components is that any set of models can be selected and combined to construct the simulation model. This section explores specific management and estimation models that are used to construct the simulation application.
Chapter -6 Strategic Management Process Model 154 The CMMI and SEI risk management models (discussed in section 2.1.4) are a set of guidelines that are not restricted to any specific phase of software projects. Hence, they can be easily adopted for the development of dynamic projects, which requires repeating the risk management process during different phases of the development. For example, the identify and analyze activities of the SEI model can be modeled in the risk assessment component of the simulation model, while the plan and track step can be a part of risk
management, The control activity of the SEI risk management model can be conducted
through the corrective actions block of the simulation model. Similarly, actives 1A, 1B, 2A and 2B of CMMI risk management guidelines can be mapped to the risk assessment block while activities 1C and 3A can be conducted at the risk management planning block, while activity 3A can be mapped with the corrective actions block. As the proposed simulation model does not specify or recommend any risk management model, software managers can select any open or proprietary risk management model for the simulation of strategic management process if it is capable of dynamic modeling. For the construction of a prototype of the simulation model, the CMMI guidelines for the risk management are adopted.
The waterfall software development model (Section 2.1.2.1) cannot be used for dynamic projects [CO09], as each project phase freezes and cannot be repeated after transitioning to the next phase of the project. On the other hand the spiral and rapid development models allow visiting the previous phases of the development and do not define how many times a phase can be repeated. The simulation model does not attempt to define project phases, and it is left to the software manager to decide at which phases the behavior of strategic parameters should be observed. For the construction of the simulation model, four development phases of software projects are defined, i.e. , the design, develop, test and integration phases. Additionally, the model assumes the spiral (Iterative and Incremental) development process for software projects.
For cost estimation of software projects, the post architecture model of COCOMO-II is adopted, and using Monte Carlo simulation, it produces the random estimates of cost, . For risk measurement, the software risk measure model, equation (4.4), is used, while the contingency estimations are performed using the model defined in equation (4.5). For risk assessment, the prototype simulation model uses the risk assessment model discussed in section 3.3.
Chapter -6 Strategic Management Process Model 155 The integrated assessment of cost and risk is performed using equation (3.6). Therefore, the integrated cost, , for the th phase and the th strategy is as follows:
(6.1) The risk measure model operates on the estimated cost , and generates the risk measure ( | ) , while the contingency estimates takes the following form:
Software Contingency= ( | ) (6.2) A simulation application is constructed using the MATLAB© modeling language
[APPENDIX_D], which implements the strategic management simulation model. The
simulation application loads the cost estimation and risk assessment values from an
external Microsoft© excel sheet and performs the cost estimation and risk assessment, along with the risk measure and contingency estimations. The simulation application for the strategic management of software projects is capable of evaluating three strategic management plans for the development of a software project.
To run the simulation application, the software manager assigns values, based on the strategic management plan, to COCOMO-II parameters , , and for calculating the value of . Additionally, the values of cost drivers are assigned to calculate . The software manager performs risk identification, assigns risk impact and develops a risk management plan based on the strategic decision. Furthermore, the software manager selects the values of , and for the risk measure. These values are assigned for the first phase of the software project in the external excel sheet. The simulation application is launched, and it performs the computerized part of the simulation. At the end of the simulation, the software manager analyzes the feedback and devises corrective actions for the next phase of the software project, updating the risk management plan. Additionally, the values of risk impacts and cost parameters are updated, based on the feedback, for the next phase. The simulation is repeated for all the software development phases and for all the strategic management plans. After the simulation of each strategic management plan, the software manager develops the project management plan based on the results obtained through the simulation.
The simulation application generates histograms of the estimated cost integrated with the impact of risk events for different phases of the software project, together with the
Chapter -6 Strategic Management Process Model 156 total aggregated cost for strategic management plans. Additionally, the application brings out the software risk measure and the contingency estimations for different phases of the software project, which are presented on a single sheet for different strategic management plans. Thus, it allows the comparison of different software development strategies based on their cost, risk, software risk measure and contingency resources needed during different phases of the development of the software project.
The selection of the best strategic management plan depends on different parameters. It may not be the one that produces the lowest cost, risk measure or contingency; therefore, the business manager and the software project manager examine the tradeoffs among different strategic decisions in order to choose the strategic options that are best for the development of the software project. Therefore, the simulation application helps organizations to manage their resources in the best way possible, while controlling the software project cost and risk. Section 6.4 discusses a case study conducted using the
simulation application for a software development project having multiple strategic
development options.