Abstract
Software Process Simulation Modelling has gained recognition in the recent years in addressing a variety of cloud software project development, software risk management and cloud software project management issues. Using Software Process Simulation Modelling, the investigator draws up real-world problems to address in the software domain, and then a simulation approach is used to develop as-is/to-be models—where the models are calibrated using credible empirical data. The simulation outcome of such cloud system project models provide an economic way of predicting implications of various decisions, helping to make with effective and prudent decision-making through the process. This chapter provides an overview of Software Process Simulation Modelling and the present issues it addresses as well as the motivation for its being—particularly related to agile cloud software projects. This chapter also discusses its techniques of implementation, as well as its applications in solving real-world problems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Sommerville, I. (2004). Software engineering (7th ed.). Boston: Addison Wesley.
Paulk, M. C. (1993) The capability maturity model: Guidelines for improving the software process. Addison-Wesley.
Paulk, M. C. (2001). Extreme programming from a CMM perspective. IEEE Software, 18(6), 19–26.
Forrester, J. W. (2013) Industrial dynamics. Martino Fine Books.
Harrell, C., Ghosh, B., & Bowden, R. (2004). Simulation using promodel with CD-ROM (2nd ed.). McGraw-Hill Science/Engineering/Math.
Zeigler, B. P. (2000). Theory of modeling and simulation (2nd ed.). San Diego: Academic Press.
Kellner, M. I., Madachy, R. J., & Raffo, D. M. (1999). Software process simulation modeling: Why? What? How? Journal of Systems and Software, 46(2–3), 91–105.
Akerele, O., Ramachandran, M., & Dixon, M. (2014a). Investigating the practical impact of agile practices on the quality of software projects in continuous delivery. International Journal of Software Engineering (IJSSE), 7(2), 3–38.
Akerele, O., Ramachandran, M., & Dixon, M. (2013a). System dynamics modeling of agile continuous delivery process. In Agile Conference (AGILE) (pp.60–63). UR.
Abdel-Hamid, T. (1984) The dynamics of software development project management: An integrative system dynamics perspective. [Ph.D. Dissertation] Sloan School of Management, MIT.
Akerele, O., Ramachandran, M., & Dixon, M. (2013). Testing in the cloud: Strategies, risks and benefits. In Z. Mahmood & S. Saeed (Eds.), Software engineering frameworks for the cloud computing paradigm computer communications and networks (pp. 165–185). London: Springer.
Munch, J., & Armbrust, O. (2003). Using empirical knowledge from replicated experiments for software process simulation: A practical example. In 2003 Proceedings of International Symposium on Empirical Software Engineering. ISESE 2003 (pp. 18–27).
Perry, D. E., Porter, A. A., & Votta, L. G. (2000). Empirical studies of software engineering: A roadmap. In Proceedings of the Conference on the Future of Software Engineering. ICSE’00 (pp. 345–355). New York, NY, USA: ACM. Retrieved August 15, 2014, from http://doi.acm.org/10.1145/336512.336586.
Creswell, J. W. (2002). Research design: Qualitative, quantitative, and mixed methods approaches (2nd ed.). Thousand Oaks, CA: SAGE.
Tichy, W. F., & Padberg, F. (2007). Empirical methods in software engineering research. In 29th International Conference on Software Engineering—Companion. ICSE 2007 Companion (pp. 163–164).
Runeson, P. (2003). Using students as experiment subjects—An analysis on graduate and freshmen student data. Proceedings of Seventh International Conference, Empirical Assessment and Evaluation in Software Engineering (EASE’03).
Yin, R. K. (2003) Case study research: design and methods (3rd ed.), Thousand Oaks, CA: Sage.
Flyvbjerg, B. (2006). Five misunderstandings about case study research. Qualitative Inquiry, 12(2), 219–245.
Punter, T., Ciolkowski, M., Freimut, B., & John, I. (2003). Conducting on-line surveys in software engineering. In 2003 International Symposium on Empirical Software Engineering. ISESE 2003 Proceedings (pp. 80–88).
Wang, Q., Pfahl, D.,& Raffo, D. M. (2006). Software process change. In International Software Process Workshop and International Workshop on Software Process Simulation and Modeling, SPW/ProSim…/Programming and Software Engineering (2006 ed.). Berlin, New York: Springer.
Horton, G. (2001). Discrete-event simulation, introduction to simulation WS01/02-L04. Retrieved July 25, 2014, from http://isgwww.cs.uni-magdeburg.de/~graham/its_01/lectures/04-DESimulation-1.pdf.
Armbrust, O. (2003). Using empirical knowledge from replicated experiments for software process simulation: a practical example. In 2003 International Symposium on Empirical Software Engineering. ISESE 2003 Proceedings (pp. 18–27).
Madachy, R. J. (2007). Software process dynamics (1st ed.). Hoboken, Piscataway, NJ: Wiley.
Abdel-Hamid, T., & Madnick, S. (1991). Software project dynamics: An integrated approach (1st ed.). Englewood Cliffs, NJ: Prentice Hall.
Statista. (2014). Worldwide IT spending on enterprise software from 2009−2015 (in billion U.S.dollars), The statistic portal. Retrieved September 9, 2014, from http://www.statista.com/statistics/203428/total-enterprise-software-revenue-forecast.
Cohn, M. (2005). Agile estimating and planning (1st ed.). Upper Saddle River, NJ: Prentice Hall.
Gibbs, W. W. (1994). Software’s chronic crisis. Scientific American 72–81.
Agile Alliance. (2013). Guide to agile practices. Retrieved September 20, 2014, from http://guide.agilealliance.org/.
Version One. (2012), 7THAnnual State of Agile Development Survey. Retrieved July 27, 2014, from http://www.versionone.com/pdf/7th-Annual-State-of-Agile-Development-Survey.pdf.
Cohn, M. (2009). Succeeding with agile: Software development using scrum (1st ed.). Upper Saddle River, NJ: Addison Wesley.
Akerele, O., Ramachandran, M. & Dixon, M .(2014c). Evaluating the impact of critical factors in agile continuous delivery process: A system dynamics approach. International Journal of Advanced Computer Science and Applications (IJACSA), 5(3)
Daellenbach, H. G. (1994). Systems and decision making: A management science approach. Chichester: Wiley
Akerele, O., & Ramachandran, M. (2014b). Continuous delivery in the cloud: An economic evaluation using system dynamics. In M. Ramachandran (ed.), Advances in cloud computing research. Hauppauge, New York: Nova Science.
Lui, D., Wang, Q. & Xiao, J. (2009). The role of software process simulation modeling in software risk management: A systematic review. In 3rd International Symposium on Empirical Software Engineering and Measurement. ESEM 2009 (pp. 302–311).
Lui, K. M. & Chan, K. C. C. (2003). When does a pair outperform two individuals? In Proceedings of the 4th International Conference on Extreme Programming and Agile Processes in Software Engineering XP’03 (pp. 225–233). Berlin, Heidelberg: Springer. Retrieved December 28, 2014, from http://dl.acm.org/citation.cfm?id=1763875.1763910.
Brooks, F. P. (1995). The mythical man month and other essays on software engineering. Addison Wesley.
Pinsky, M. A. & Karlin, S. (2010). An introduction to stochastic modeling (4th ed.). Amsterdam, Boston: Academic Press.
Velten, K. (2008). Mathematical modeling and simulation: Introduction for scientists and engineers (1st ed.). Weinheim, Germany: Wiley.
Scacchi, W. (2000). Understanding software process redesign using modeling, analysis and simulation. Software Process: Improvement and Practice, 5(2–3), 183–195.
Forrester, J. W. (1961). Industrial dynamics. Cambridge, Massachusetts, USA: MIT Press.
Menzies, T., Smith J., & Raffo, D. (2004). When is pair programming better? [Thesis] West Virginia University, Portland State University. Retrieved http://menzies.us/pdf/04pairprog.pdf.
Fiacco, A. V. (1983). Introduction to sensitivity and stability analysis in nonlinear programming (p. 3). New York.: Academic Press.
Collofello, J. S., Yang, Z., Tvedt, J. D., Merrill, D. & Rus, I. (1996). Modelling software testing processes. In Conference Proceedings of the 1996 IEEE Fifteenth Annual International Phoenix Conference on Computers and Communications (pp. 289–293).
Kuppuswami, S., Vivekanandan, K., Ramaswamy, P., & Rodrigues, P. (2003). The effects of individual xp practices on software development effort. SIGSOFT Softwarare Engineering Notes, 28(6), 6–6.
Collofello, J., Rus, I., Houston, D., Sycamore, D., & Smith-Daniels, D. (1998). A system dynamics software process simulator for staffing policies decision support. In Proceedings of the Thirty-First Annual Hawaii International Conference on System Sciences, Kohala Coast, USA (pp. 103–11).
Pfahl, D., & Lebsanft, K. (2000). Using simulation to analyse the impact of software requirements volatility on project performance. Information and Software Technology, 42, 1001–1008.
Al-Emran, A., Pfahl, D. & Ruhe, G. (2007). DynaReP: A discrete event simulation model for re-planning of software releases. Quoted in: Q. Wang, D. Pfahl, & D. M. Raffo (eds.). Software process dynamics and agility. Lecture notes in computer science (pp. 246–258). Berlin, Heidelberg: Springer. Retrieved August 29, 2014, from http://link.springer.com/chapter/10.1007/978-3-540-72426-1_21.
Al-Emran, A., & Pfahl, D. (2008). Performing operational release planning, replanning and risk analysis using a system dynamics simulation model. Software Process: Improvement and Practice, 13(3), 265–279.
Houston, D. X. & Buettner, D. J. (2013). Modeling user story completion of an agile software process. In Proceedings of the 2013 International Conference on Software and System Process. ICSSP 2013 (pp. 88–97). New York, NY, USA: ACM. Retrieved August 20, 2014, from http://doi.acm.org/10.1145/2486046.2486063.
Kong, X., Liu, L., & Chen, J. (2011). Modeling agile software maintenance process using analytical theory of project investment. Procedia Engineering, 24, 138–142.
Oorschot, K. E. (2009). Dynamics of agile software development. In: Proceedings of the 27th International Conference of the System Dynamics, July 26−30. Massachusetts, USA.
Cocco, L., Mannaro, K., Concas, G. & Marchesi, M. (2011). Simulating Kanban and Scrum vs. Waterfall with System Dynamics. Quoted in: A. Sillitti, O. Hazzan, E. Bache, & X. Albaladejo (eds.), Agile processes in software engineering and extreme programming. Lecture notes in business information processing (pp. 117–131). Berlin, Heidelberg: Springer. Retrieved August 30, 2014, from http://link.springer.com/chapter/10.1007/978-3-642-20677-1_9.
Sahaf, Z., Garousi, V., Pfahl, D., Irving, R., & Amannejad, Y. (2014). When to automate software testing? Decision support based on system dynamics: An industrial case study. In Proceedings of the 2014 International Conference on Software and System Process. ICSSP 2014 (pp. 149–158) New York, NY, USA, ACM, Retrieved January 9, 2015 from http://doi.acm.org/10.1145/2600821.2600832.
White, A. S. (2014). An Agile Project System Dynamics Simulation Model. International Journal of Information Technologies and Systems Approach, 7(1), 55–79.
Zhang, H. (2012) Simulation modeling of evolving software processes. In 2012 International Conference on Software and System Process (ICSSP) (pp. 228–230).
Münch, J. (2012). Software process definition and management (2012th ed.). Heidelberg: Springer.
Pritsker, A. A. B. (1995). Introduction to simulation and SLAM II (4th ed.). New York: Wiley.
Humble, J. & Farley, D. (2010) Continuous delivery: reliable software releases through build, test, and deployment automation, Addison Wesley.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this chapter
Cite this chapter
Akerele, O. (2017). Software Process Simulation Modelling for Agile Cloud Software Development Projects: Techniques and Applications. In: Hosseinian-Far, A., Ramachandran, M., Sarwar, D. (eds) Strategic Engineering for Cloud Computing and Big Data Analytics. Springer, Cham. https://doi.org/10.1007/978-3-319-52491-7_7
Download citation
DOI: https://doi.org/10.1007/978-3-319-52491-7_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-52490-0
Online ISBN: 978-3-319-52491-7
eBook Packages: EngineeringEngineering (R0)