Software Process simulation

From HandWiki - Reading time: 3 min

Software process simulation modelling: Like any simulation, software process simulation (SPS) is the numerical evaluation of a mathematical model that imitates the behavior of the software development process being modeled. SPS has the ability to model the dynamic nature of software development and handle the uncertainty and randomness inherent in it.[1]

Uses of software process simulation

Following main purposes have been proposed for SPS:[2]

  • Support in operational project management (estimation, planning and control)
  • Support for strategic management
  • Tool for training and education for software project management and software development lifecycle (c.f.[3] and[4]).
  • Process improvement and technology adoption

How to do software process simulation

Software process simulation starts with identifying a question that we want to answer. The question could be, for example, related to assessment of an alternative, incorporating a new practice in the software development process. Introducing such changes in the actual development process will be expensive and if the consequences of change are not positive the implications can be dire for the organization. Thus, through the use of simulation we attempt to get an initial assessment of such changes on the model instead of an active development project. Based on this problem description an appropriate scope of the process is chosen. A simulation approach is chosen to model the development process. Such a model is then calibrated using empirical data and then used to conduct simulation based investigations. A detailed description of each step in general can be found in Balci's work,[5] and in particular for software process simulation a comprehensive overview can be found in Ali et al.[6]

In a recent initiative, by ACM special interest group on software engineering (SIGSOFT), a standard for assessing simulation-based scientific studies has been proposed.[7]

Examples of using software process simulation for practical issues in industrial settings

  • Process assessment: Enabling dynamic analysis in value stream mapping in industrial settings [8]
  • Software Testing: Deciding when to automate software testing [9]

Key venues

Software process simulation has been an active research area for many decades some of the key venues include the International Conference on Software and Systems Process[10] and its predecessor Workshop on Software Process Simulation Modeling (ProSim) from 1998-2004.[11]

References

  1. Ali, NB; Petersen, K; Wohlin, C (2014). "A Systematic Literature Review on the Industrial Use of Software Process Simulation". Journal of Systems and Software 97: 65–85. doi:10.1016/j.jss.2014.06.059. 
  2. Kellner, Marc I; Madachy, Raymond J; Raffo, David M (1999). "Software process simulation modeling: Why? What? How?". Journal of Systems and Software 46 (2–3): 91–105. doi:10.1016/s0164-1212(99)00003-5. 
  3. "Use of simulation for software process education: a case study". http://sea-mist.se/bib/lararlardom.nsf/bilagor/Michae_Unterkalmsteiner_BTH_paper_pdf/$file/Michae_Unterkalmsteiner_BTH_paper.pdf. 
  4. von Wangenheim, C.G.; Shull, F. (2009). "To Game or Not to Game?". IEEE Software 26 (2): 92–94. doi:10.1109/MS.2009.54. 
  5. Osman Balci (2012), "A Life Cycle for Modeling and Simulation," Simulation: Transactions of the Society for Modeling and Simulation International 88, 7, 870–883.
  6. Ali, N.B.; Petersen, K., "A Consolidated Process for Software Process Simulation: State of the Art and Industry Experience," Software Engineering and Advanced Applications (SEAA), 2012 38th EUROMICRO Conference on , vol., no., pp.327,336, 5-8 Sept. 2012 doi: 10.1109/SEAA.2012.69 http://www.bth.se/fou/forskinfo.nsf/0/7e2b9e104c9956cec1257acf006a1282/$file/Consolidated%20process.pdf
  7. Franca, Breno. "Simulation (quantitative)". https://github.com/acmsigsoft/EmpiricalStandards/blob/development/Standards/QuantitativeSimulation.md. 
  8. Ali, NB; Petersen, K; de França, BBN (2015). "Evaluation of simulation-assisted value stream mapping for software product development: Two industrial cases". Information and Software Technology 68: 45–61. doi:10.1016/j.infsof.2015.08.005. 
  9. Garousi, Vahid; Pfahl, Dietmar (2015). "When to automate software testing? A decision‐support approach based on process simulation". Journal of Software: Evolution and Process. 
  10. "Icssp2015". http://www.icsp-conferences.org/icssp2015/. 
  11. http://www.verlag.fraunhofer.de/bookshop/artikel.jsp?v=220684




Licensed under CC BY-SA 3.0 | Source: https://handwiki.org/wiki/Software_Process_simulation
24 views | Status: cached on July 26 2024 04:40:13
↧ Download this article as ZWI file
Encyclosphere.org EncycloReader is supported by the EncyclosphereKSF