A flexible model for simulation of software development process

Inadequate use of project management techniques in software development can be traced to the lack of efficient education strategies for managers [1]. Software development processes are complex and therefore it is hard to predict how changes made to some part of the process can affect the overall outcome of the process. Introducing change in the process is often time consuming and there is no assurance that the change implemented will result in an improvement. Simulation of software development process provides an easy way for managers to test the different configurations of the process and understand the effects of various policies. Using agent directed simulation to mimic the software development process at the individual level also would enable us to introduce a new phase of software development without having to change the simulation code. This simulation would start with a given number of agents initialized by the user. At any point of time, the user may change the number of developers or assign developers on different phases of the software development depending on their performance and capabilities.

[1]  F. Javier Lerch,et al.  Using simulation‐based experiments for software requirements engineering , 1997, Ann. Softw. Eng..

[2]  Jochen Ludewig,et al.  Simulation in software engineering training , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[3]  Stuart E. Madnick,et al.  Software Project Dynamics: An Integrated Approach , 1991 .

[4]  Watts S. Humphrey PSP(sm): A Self-Improvement Process for Software Engineers (Sei Series in Software Engineering) , 2005 .

[5]  Vahid Garousi,et al.  A customizable pattern-based software process simulation model: design, calibration and application , 2009, Softw. Process. Improv. Pract..

[6]  Alan M. Christie,et al.  Simulation in support of CMM-based process improvement , 1999, J. Syst. Softw..

[7]  Jacob Cohen Statistical Power Analysis for the Behavioral Sciences , 1969, The SAGE Encyclopedia of Research Design.

[8]  James S. Collofello,et al.  Evaluating the effectiveness of process improvements on software development cycle time via system dynamics modelling , 1995, Proceedings Nineteenth Annual International Computer Software and Applications Conference (COMPSAC'95).

[9]  Walt Scacchi,et al.  Process integration in CASE environments , 1992, IEEE Software.

[10]  Watts S. Humphrey,et al.  A discipline for software engineering , 2012, Series in software engineering.

[11]  Neil A. Weiss,et al.  Introductory Statistics , 1982 .

[12]  S. Weisberg,et al.  Residuals and Influence in Regression , 1982 .

[13]  Raymond J. Madachy,et al.  Software process simulation modeling: Why? What? How? , 1999, J. Syst. Softw..