• No results found

This research focuses on modeling the relationship between strategic software management plans and risks inherit within those plans, enabling the estimation of strategic parameters, such as cost and risk, for different strategic management plans, where each plan suffers from different sets of risk and undergoes different dynamic variations throughout the development of the software project. The research proposes dynamic risk modeling to simulate the dynamic variations of strategic parameters, which helps software project managers in identifying the best strategic project management options.

Dynamic modeling provides insight into futuristic events over varying periods of time through simulations. For example, through simulations, DFA helps financial policy makers adjust their financial investments to combat risk events and to maximize returns on their financial investments [SC07]. In the field of finance, the dynamic financial models are widely used by actuaries and financial analysts to model the future projections of their financial investments. While dynamic risk modelling is an evolving

Chapter -2 Literature Review 55 standard in the field of finance [SC07], its application in other domains has not been fully evaluated and recognised.

There have been efforts to define a dynamic structure for project management. Mauro et. al. [PN08] presented a dynamic risk management structure based on statistical assessments of risk taken at different times during the development of a project; relevant risk probabilities were assessed and analyzed, and corrective actions were deployed based on the new assessment.

The fast-paced, dynamic environment of today’s software industry needs dynamic simulation tools. Therefore, based on the dynamic assessment of future risk, software organizations attempt to abate the risk by designing risk management decisions for different stages of development. Based on the feedback, corrective actions are defined, and the risk management plan is updated. This process is repeated during the simulation of different stages of the development. This forms a dynamic model with feedback, which updates the risk management plan throughout the software project lifecycle [FE05][GA04][TP08].

2.4.1. Dynamic vs. Static Processes

There are fundamental differences in the dynamic and static processes; therefore, repeating a static process over time does not make the process a dynamic process. The main difference lies in how the changes in the state variables are modeled [FE05] [MD94]. In a dynamic model, the changes in the state variables are either continuous or discrete; repeating a static process lacks clear definition of software development stages in order to capture the changes in the state variables. Therefore, while dynamic models capture the changes in the state variables, static models bring a new set of values during each iteration of the development stages. This difference can be easily understood with the notion of memory and memory-less systems, where dynamic models can be regarded as systems or processes having memory of the previous stages while static processes, which are repeated overtime, are memory-less systems.

Another fundamental difference is the feedback, which connects a point in the dynamic process with another point in the process. Often, it is the last point connected with the first point in the process so that the process could restart with the knowledge of the previous phase. While a static process does not have connectivity, if connectivity is just

Chapter -2 Literature Review 56 assumed, it would still require arrangements to acknowledge the previous phases

[SC07].

2.4.2. Modeling Techniques

An important element in constructing simulation models is the selection of the modeling technique. The modeling technique should closely match the characteristics of the simulation model. Two modeling techniques are widely used for modeling the software processes, namely System Dynamics (SD) and Discrete Event Simulation (DES)

[KR86]. The SD modeling technique is used for the modeling of systems and processes where system updates occur continuously, while the DES technique is used for the simulation of systems and processes that evolve over time at predefined steps.

A simulation model-based DES modeling technique is both stochastic and dynamic, with the property that the system state variables change at predefined time segments only [LE05][BA09]. Therefore, DES is concerned with systems that evolve over time and the state variables change at separate points in the predefined time horizon. DES is modeled with flow charts and is defined as a collection of entities that interact together towards the accomplishment of some logical end as it evolves over time where the variables change at discrete points in time [LW91][SW99]. Monte Carlo simulation of a DES model helps to understand the changes in the probability distributions of an observed variable [KL99].

DES models are suitable to simulate software development processes that enable the management to gain insight into how a software development process might perform, or how the process might evolve if project parameters are modified during different phases (discrete steps) of the software projects. Thus, the DES-based simulation models give decision makers the ability to model and compare the performance of software development processes over a range of software development alternatives.

For the simulation of a complex processes that require feedback mechanisms, the DES simulation enables a more usable alternative. Feedback is a mechanism that connects two points in a process and allows capturing the effects of changes at a point in the process onto the other point in the process. Therefore, feedback gauges the effects of management decisions made at a specific stage in the process to another stage of the process in complex and indirect ways [GA04] [TL05]. For example, the decision to

Chapter -2 Literature Review 57 change the software testing resources at some phase in the development process of a software project can have multiple implications over other stages of the development process.

The DES modeling technique is characterized by the following attributes: at least some of the system state variables are random; the system state variables evolve overtime (that is, they are stochastic); and changes in the system state variables occur at discrete time segments [HP98] [LE05][SW99][BA09]. Random means that the possible outcomes of state variables are known with known probabilities; hence, some outcomes are more probable than the others. A stochastic system evolves in time and changes in the system are governed by random state variables. Discrete systems allow stochastic changes at defined discrete steps.