Skip to main content

Software Process Simulation Modelling for Agile Cloud Software Development Projects: Techniques and Applications

  • Chapter
  • First Online:
Book cover Strategic Engineering for Cloud Computing and Big Data Analytics

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 89.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 119.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Sommerville, I. (2004). Software engineering (7th ed.). Boston: Addison Wesley.

    MATH  Google Scholar 

  2. Paulk, M. C. (1993) The capability maturity model: Guidelines for improving the software process. Addison-Wesley.

    Google Scholar 

  3. Paulk, M. C. (2001). Extreme programming from a CMM perspective. IEEE Software, 18(6), 19–26.

    Article  Google Scholar 

  4. Forrester, J. W. (2013) Industrial dynamics. Martino Fine Books.

    Google Scholar 

  5. Harrell, C., Ghosh, B., & Bowden, R. (2004). Simulation using promodel with CD-ROM (2nd ed.). McGraw-Hill Science/Engineering/Math.

    Google Scholar 

  6. Zeigler, B. P. (2000). Theory of modeling and simulation (2nd ed.). San Diego: Academic Press.

    Google Scholar 

  7. 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.

    Article  Google Scholar 

  8. 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.

    Google Scholar 

  9. Akerele, O., Ramachandran, M., & Dixon, M. (2013a). System dynamics modeling of agile continuous delivery process. In Agile Conference (AGILE) (pp.60–63). UR.

    Google Scholar 

  10. Abdel-Hamid, T. (1984) The dynamics of software development project management: An integrative system dynamics perspective. [Ph.D. Dissertation] Sloan School of Management, MIT.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. 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).

    Google Scholar 

  13. 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.

  14. Creswell, J. W. (2002). Research design: Qualitative, quantitative, and mixed methods approaches (2nd ed.). Thousand Oaks, CA: SAGE.

    Google Scholar 

  15. Tichy, W. F., & Padberg, F. (2007). Empirical methods in software engineering research. In 29th International Conference on Software EngineeringCompanion. ICSE 2007 Companion (pp. 163–164).

    Google Scholar 

  16. 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 (EASE03).

    Google Scholar 

  17. Yin, R. K. (2003) Case study research: design and methods (3rd ed.), Thousand Oaks, CA: Sage.

    Google Scholar 

  18. Flyvbjerg, B. (2006). Five misunderstandings about case study research. Qualitative Inquiry, 12(2), 219–245.

    Article  Google Scholar 

  19. 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).

    Google Scholar 

  20. 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.

    Google Scholar 

  21. 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.

  22. 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).

    Google Scholar 

  23. Madachy, R. J. (2007). Software process dynamics (1st ed.). Hoboken, Piscataway, NJ: Wiley.

    Google Scholar 

  24. Abdel-Hamid, T., & Madnick, S. (1991). Software project dynamics: An integrated approach (1st ed.). Englewood Cliffs, NJ: Prentice Hall.

    Google Scholar 

  25. 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.

  26. Cohn, M. (2005). Agile estimating and planning (1st ed.). Upper Saddle River, NJ: Prentice Hall.

    Google Scholar 

  27. Gibbs, W. W. (1994). Software’s chronic crisis. Scientific American 72–81.

    Google Scholar 

  28. Agile Alliance. (2013). Guide to agile practices. Retrieved September 20, 2014, from http://guide.agilealliance.org/.

  29. 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.

  30. Cohn, M. (2009). Succeeding with agile: Software development using scrum (1st ed.). Upper Saddle River, NJ: Addison Wesley.

    Google Scholar 

  31. 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)

    Google Scholar 

  32. Daellenbach, H. G. (1994). Systems and decision making: A management science approach. Chichester: Wiley

    Google Scholar 

  33. 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.

    Google Scholar 

  34. 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).

    Google Scholar 

  35. 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.

  36. Brooks, F. P. (1995). The mythical man month and other essays on software engineering. Addison Wesley.

    Google Scholar 

  37. Pinsky, M. A. & Karlin, S. (2010). An introduction to stochastic modeling (4th ed.). Amsterdam, Boston: Academic Press.

    Google Scholar 

  38. Velten, K. (2008). Mathematical modeling and simulation: Introduction for scientists and engineers (1st ed.). Weinheim, Germany: Wiley.

    Book  MATH  Google Scholar 

  39. Scacchi, W. (2000). Understanding software process redesign using modeling, analysis and simulation. Software Process: Improvement and Practice, 5(2–3), 183–195.

    Article  Google Scholar 

  40. Forrester, J. W. (1961). Industrial dynamics. Cambridge, Massachusetts, USA: MIT Press.

    Google Scholar 

  41. 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.

  42. Fiacco, A. V. (1983). Introduction to sensitivity and stability analysis in nonlinear programming (p. 3). New York.: Academic Press.

    MATH  Google Scholar 

  43. 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).

    Google Scholar 

  44. 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.

    Article  Google Scholar 

  45. 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).

    Google Scholar 

  46. 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.

    Article  Google Scholar 

  47. 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.

  48. 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.

    Article  Google Scholar 

  49. 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.

  50. Kong, X., Liu, L., & Chen, J. (2011). Modeling agile software maintenance process using analytical theory of project investment. Procedia Engineering, 24, 138–142.

    Article  Google Scholar 

  51. 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.

    Google Scholar 

  52. 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.

  53. 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.

  54. White, A. S. (2014). An Agile Project System Dynamics Simulation Model. International Journal of Information Technologies and Systems Approach, 7(1), 55–79.

    Article  Google Scholar 

  55. Zhang, H. (2012) Simulation modeling of evolving software processes. In 2012 International Conference on Software and System Process (ICSSP) (pp. 228–230).

    Google Scholar 

  56. Münch, J. (2012). Software process definition and management (2012th ed.). Heidelberg: Springer.

    Book  Google Scholar 

  57. Pritsker, A. A. B. (1995). Introduction to simulation and SLAM II (4th ed.). New York: Wiley.

    Google Scholar 

  58. Humble, J. & Farley, D. (2010) Continuous delivery: reliable software releases through build, test, and deployment automation, Addison Wesley.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Olumide Akerele .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics