Constructing hybrid software process simulation models

Software process simulation (SPS) has become an active research area for managing and improving software development processes since its introduction in the last two decades. Hybrid simulation, the combination of simulation paradigms to address a problem, is becoming more popular as the problems we are presented with become more complex. However, integrating multiple simulation paradigms faces the issues of compatibility, interoperatability and synchronization when executing simulation. The objective of this research is to present the state-of-the-art of this research area, the hybrid mechanism when integrating paradigms, and more importantly provide practical support for the effective adoption of hybrid simulation in SPS context. Based on an extended systematic literature review, this paper presents the preliminary results by answering the research questions. Depending upon the way these simulation paradigms represent different aspects and levels of software process and the context in which they can be modeled by SPS, two hybrid mechanisms: Hierarchical Mechanism and Interlinked Mechanism, have been frequently employed. The detailed discussions of integration strategies and recommendations when applying hybrid simulation may offer reference value to the SPS community.

[1]  Miguel Toro,et al.  A Hybrid Model for Dynamic Simulation of Custom Software Projects in a Multiproject Environment , 2009, ICSP.

[2]  Siri-on Setamanit,et al.  Planning and improving global software development process using simulation , 2006, GSD '06.

[3]  David Raffo,et al.  Application of a hybrid process simulation model to a software development project , 2001, J. Syst. Softw..

[4]  He Zhang Simulation modeling of evolving software processes , 2012, 2012 International Conference on Software and System Process (ICSSP).

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

[6]  Siri-on Setamanit,et al.  Exploring the Impact of Task Allocation Strategies for Global Software Development Using Simulation , 2006, SPW/ProSim.

[7]  Wayne W. Wakeland,et al.  Using design of experiments, sensitivity analysis, and hybrid simulation to evaluate changes to a software development process: a case study , 2004, Softw. Process. Improv. Pract..

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

[9]  Marco Melis,et al.  Evaluating the impact of test-first programming and pair programming through software process simulation , 2006, Softw. Process. Improv. Pract..

[10]  Qing Wang,et al.  A Simulation-Based Approach for Fine-Grained Project Plan Analysis , 2007, Third International Conference on Natural Computation (ICNC 2007).

[11]  J. Forrester Industrial Dynamics , 1997 .

[12]  Paul Davidsson,et al.  On Multi Agent Based Simulation of Software Development Processes , 2002, MABS.

[13]  Ioana Rus,et al.  Software process simulation for reliability management , 1999, J. Syst. Softw..

[14]  A. Borshchev,et al.  From System Dynamics and Discrete Event to Practical Agent Based Modeling : Reasons , Techniques , Tools , 2004 .

[15]  Raymond J. Madachy,et al.  Modeling kanban processes in systems engineering , 2012, 2012 International Conference on Software and System Process (ICSSP).

[16]  Averill M. Law,et al.  Simulation Modeling and Analysis , 1982 .

[17]  Forrest Shull,et al.  Decision support for using software inspections , 2003, 28th Annual NASA Goddard Software Engineering Workshop, 2003. Proceedings..

[18]  Doo-Hwan Bae,et al.  Developing a Simulation Model Using a SPEM-Based Process Model and Analytical Models , 2008, CIAO! / EOMAS.

[19]  Paul Davidsson,et al.  Software Development Process Simulation: Multi Agent-Based Simulation versus System Dynamics , 2009, MABS.

[20]  Dietmar Pfahl,et al.  Software Process Simulation Modeling: Facts, Trends and Directions , 2008, 2008 15th Asia-Pacific Software Engineering Conference.

[21]  R. H. Martin What makes software management hard , 2004, ICSE 2004.

[22]  Mercedes Ruiz,et al.  Decision making support in CMMI process areas using multiparadigm simulation modeling , 2012, Proceedings Title: Proceedings of the 2012 Winter Simulation Conference (WSC).

[23]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

[24]  RaffoDavid,et al.  Using simulation to evaluate global software development task allocation strategies , 2007 .

[25]  Liming Zhu,et al.  Impact of process simulation on software practice: an initial report , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[26]  Carolyn Mizell,et al.  A Decision Tool that Combines Discrete Event Software Process Models with System Dynamics Pieces for Software Development Cost Estimation and Analysis , 2007 .

[27]  Liu Qun,et al.  Hierarchy-based team software process simulation model , 2008, Wuhan University Journal of Natural Sciences.

[28]  Siri-on Setamanit,et al.  Identifying Key Success Factors for Globally Distributed Software Development Project Using Simulation: A Case Study , 2008, ICSP.

[29]  Daniela Cruzes,et al.  Recommended Steps for Thematic Synthesis in Software Engineering , 2011, 2011 International Symposium on Empirical Software Engineering and Measurement.

[30]  S.-o. Setamanit,et al.  Improving Global Software Development Project Performance Using Simulation , 2007, PICMET '07 - 2007 Portland International Conference on Management of Engineering & Technology.

[31]  Paolo Donzelli,et al.  Decision support system for software project management , 2006, IEEE Software.

[32]  Shu Jiang,et al.  Software process simulation modeling: preliminary results from an updated systematic review , 2014, ICSSP 2014.

[33]  Dietmar Pfahl,et al.  Software Process Simulation Modeling: An Extended Systematic Review , 2010, ICSP.

[34]  Doo-Hwan Bae,et al.  An approach to a hybrid software process simulation using the DEVS formalism , 2006, Softw. Process. Improv. Pract..

[35]  Javier Tuya,et al.  Simulation-Based Management for Software Dynamic Testing Processes , 2012, ICSEA 2012.

[36]  Paolo Donzelli,et al.  A dynamic simulator of software processes to test process assumptions , 2001, J. Syst. Softw..

[37]  Liming Zhu,et al.  Hybrid Modeling of Test-and-Fix Processes in Incremental Development , 2008, ICSP.

[38]  Juan Fernández-Ramil,et al.  Agent-based simulation of open source evolution , 2006, Softw. Process. Improv. Pract..

[39]  Paolo Donzelli,et al.  Hybrid simulation modelling of the software process , 2001, J. Syst. Softw..

[40]  Dietmar Pfahl,et al.  Reflections on 10 Years of Software Process Simulation Modeling: A Systematic Review , 2008, ICSP.

[41]  David Raffo,et al.  A model of the software development process using both continuous and discrete models , 2000, Softw. Process. Improv. Pract..

[42]  David Raffo,et al.  A model of the software development process using both continuous and discrete models , 2000 .

[43]  Siri-on Setamanit,et al.  Using simulation to evaluate global software development task allocation strategies , 2007, Softw. Process. Improv. Pract..

[44]  Peter B. Lakey,et al.  A Hybrid Software Process Simulation Model for Project Management , 2003 .