skip to main content
10.1145/2486046.2486063acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Modeling user story completion of an agile software process

Published:18 May 2013Publication History

ABSTRACT

Although some researchers have studied agile techniques of software development using simulation, simulation studies of actual agile projects are difficult to find. This report on an industrial case study seeks to address this need by presenting an experience of modeling and analyzing an agile software development process using discrete event simulation. The study, undertaken for software process improvement, produced analyses that provided project management with process capability information. First, a sensitivity analysis used a designed experiment to measure the dominant factors in user story productivity. Second, a response surface provided information on the process tolerance for defect rework. Finally, a scenario comparison supported a management decision on sprint usage.

References

  1. Zhang, H., Kitchenham, B., and Pfahl, D. 2010. Software Process Simulation Modeling: An Extended Systematic Review. International Conference on Software Process, Paderborn, Germany, July 2010. In: J. Münch, Y. Yang, and W. Schäfer (Eds.): ICSP 2010, LNCS 6195, 2010, 309-320. http://dl.acm.org/citation.cfm?id=1884258 Accessed Oct 11, 2012. Google ScholarGoogle Scholar
  2. Zhang, H., Kitchenham, B., and Pfahl, D. 2008. Reflections on 10 Years of Software Process Simulation Modeling: A Systematic Review. International Conference on Software Process, Leipzig, Germany, May 2008. In Q. Wang, D. Pfahl, and D.M. Raffo (Eds.): ICSP 2008, LNCS 5007, 345- 356. http://dl.acm.org/citation.cfm?id=1789793 Accessed Oct 11, 2012. Google ScholarGoogle Scholar
  3. Manifesto for Agile Software Development http://agilemanifesto.org/ Accessed Nov 11, 2012.Google ScholarGoogle Scholar
  4. Houston, D., and Lieu, M. 2009. Modeling a Resource-Constrained Test-And-Fix Cycle and Test Phase Duration. International Conference on Software Process, Vancouver, Canada, May 2009. (ICSP’09), 211-221. DOI: 10.1007/978- 3-642-14347-2_19 http://rd.springer.com/chapter/10.1007%2F978-3-642- 14347-2_19?LI=true# Accessed Oct 11, 2012. Google ScholarGoogle Scholar
  5. Buettner, D. 2009. A System Dynamics Model That Simulates a Significant Late Life Cycle Manpower Increase Phenomenon. International Conference on Software Process, Vancouver, Canada, May 2009. In: Q. Wang, V. Garousi, R. Madachy, and D. Pfahl (Eds.): ICSP 2009, LNCS 5543, 402- 410. DOI: 10.1007/978-3-642-01680-6_36 http://rd.springer.com/chapter/10.1007%2F978-3-642- 01680-6_36?LI=true# Accessed Oct 11, 2012. Google ScholarGoogle Scholar
  6. Houston, D., Buettner, D., and Hecht, M. 2009. Dynamic COQUALMO: Defect Profiling over Development Cycles. International Conference on Software Process, Vancouver, Canada, May 2009. In: Q. Wang, V. Garousi, R. Madachy, and D. Pfahl (Eds.): ICSP 2009, LNCS 5543, 161-172. DOI: 10.1007/978-3-642-01680-6_16 http://rd.springer.com/chapter/10.1007%2F978-3-642- 01680-6_16?LI=true# Accessed Oct 11, 2012. Google ScholarGoogle Scholar
  7. Houston, D., and Hantos, P. 2010. System Dynamics and Unified Life Cycle Modeling Approaches for Exploring Concurrent Engineering Risks. Space System Risk Management Symposium, El Segundo, CA, April 6-8, 2010.Google ScholarGoogle Scholar
  8. Hantos, P. 2012. Agile Software Development in Defense Acquisition – A Mission Assurance Perspective. Aerospace Report No. ATR-2012(9010)-2. March 23, 2012.Google ScholarGoogle Scholar
  9. Dybå, T., and Dingsøyr, T. 2008. Empirical studies of agile software development: A systematic review. Journal Information and Software Technology 50, 9-10 (August 2008), 833-859. Google ScholarGoogle Scholar
  10. Kuppuswami, S., Vivekkanandan, K., and Rodrigues, P. 2012. A System Dynamics Simulation Model to Find the Effects of XP on Cost of Change Curve. Extreme Programming and Agile Processes in Software Engineering, LNCS, 2675/2003, 1014, 4-20. DOI: 10.1007/3-540-44870- 5_8 http://rd.springer.com/chapter/10.1007%2F3-540- 44870-5_8?LI=true# Accessed Oct 11, 2012. Google ScholarGoogle Scholar
  11. Kuppuswami, S., Vivekkanandan, K., Ramaswamy, P., and Rodrigues, P. 2003. The Effects of Individual XP Practices on Software Development Effort. ACM SIGSOFT Software Engineering Notes 28, 6 (Nov 2003) 1-6. DOI: 10.1145/966221.966239 http://dl.acm.org/citation.cfm?id=966239 Accessed Oct 11, 2012. Google ScholarGoogle Scholar
  12. Vivekanandan, K. 2004. The Effects of Extreme Programming on Productivity, Cost of Change and Learning Efficiency. Ph.D. dissertation, Pondicherry University. http://shodhganga.inflibnet.ac.in/handle/10603/1018 Accessed Oct 11, 2012.Google ScholarGoogle Scholar
  13. Wernick, P, and Hall, T. 2004. The Impact of Using Pair Programming on System Evolution: a Simulation-Based Study. Proc. 20th IEEE International Conference on Software Maintenance (ICSM’04) 422-426. DOI: 10.1109/ICSM.2004.1357828 http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=135782 8&tag=1 Accessed Oct 11, 2012. Google ScholarGoogle Scholar
  14. Mišić, V., Gevaert, H., and Rennie, M. 2004. Extreme Dynamics: Modeling the Extreme Programming Software Development Process. Proc. 2004 International Workshop on Software Process Simulation (ProSim04) 237-242.Google ScholarGoogle Scholar
  15. Cao, L. 2005. Modeling Dynamics in Agile Software Development. Ph.D. Dissertation, Computer Information Systems, Georgia State University. http://digitalarchive.gsu.edu/cis_diss/4/ Accessed Oct 11, 2012. Google ScholarGoogle Scholar
  16. Cao, L., Ramesh, B., and Abdel-Hamid, T. 2010. Modeling Dynamics in Agile Software Development. ACM Transactions on Management Information Systems 1, 1 (December 2010) 5:1-5:26. DOI: 10.1145/1877725.1877730 http://dl.acm.org/citation.cfm?id=1877730 Accessed Oct 11, 2012 Google ScholarGoogle Scholar
  17. Cau, A., Concas, G., Melis, M., and Turnu, I. 2005. Evaluate XP Effectiveness Using Simulation Modeling. Extreme Programming and Agile Processes in Software Engineering, LNCS 3556/2005, 1142-1144. DOI: 10.1007/11499053_6 http://rd.springer.com/chapter/10.1007%2F11499053_6?LI=t rue# Accessed Oct 11, 2012. Google ScholarGoogle Scholar
  18. Turnu, I., Melis, M., Cau, A., Marchesi, M., and Setzu, A. 2004. Introducing TDD on a Free Libre Open Source Software Project: a Simulation Experiment. Proc. 2004 Workshop on Quantitative Techniques for Software Agile Process (November 2004) 59-65. Newport Beach, California. DOI: 10.1145/1151433.1151442 http://dl.acm.org/citation.cfm?id=1151442 Accessed Oct 12, 2012. Google ScholarGoogle Scholar
  19. Turnu, I., Melis, M., Cau, A., Setzu, A., Concas, G., and Mannaro, K. 2006. Modeling and simulation of open source development using an agile practice. Journal of Systems Architecture 52, 11 (November 2006) 610-618. DOI: 10.1016/j.sysarc.2006.06.005 http://www.sciencedirect.com/science/article/pii/S13837621 06000634 Accessed Oct 12, 2012. Google ScholarGoogle Scholar
  20. Melis, M. 2006. A Software Process Simulation Model of Extreme Programming. Ph.D. dissertation, School in Information Engineering University of Cagliari, Italy. http://www.diee.unica.it/DRIEI/tesi/18_melis.pdf Accessed Oct 12, 2012.Google ScholarGoogle Scholar
  21. Melis, M., Turnu, I., Cau, A., and Concas, G. 2006. Evaluating the impact of test-first programming and pair programming through software process simulation. Software Process: Improvement and Practice 11, 4 (July/August 2006). 345-360. DOI: 10.1002/spip.286 http://onlinelibrary.wiley.com/doi/10.1002/spip.286/abstract Accessed Oct 12, 2012Google ScholarGoogle Scholar
  22. Ur, S., Yom-Tov, E., and Wernick, P.. 2007. An Open Source Simulation Model of Software Development and Testing. Proc. 2nd International Haifa Verification Conference. In: Hardware and Software, Verification and Testing, LNCS 4383, 124-137. DOI: 10.1007/978-3-540- 70889-6_10 http://rd.springer.com/chapter/10.1007%2F978- 3-540-70889-6_10?LI=true# Accessed Oct 12, 2012. Google ScholarGoogle Scholar
  23. Yilmaz, L., and Phillips, J. 2006. Organization-theoretic Perspective for Simulation Modeling of Agile Software Processes. International Workshop on Software Process Simulation 2006. In: Software Process Change, LNCS 3966, 234-241. DOI: 10.1007/11754305_26 http://rd.springer.com/chapter/10.1007%2F11754305_26?LI =true# Accessed Oct 12, 2012. Google ScholarGoogle Scholar
  24. Phillips, J. 2006. Team-RUP: An Agent-based Simulation of Team Behavior in Software Development Organizations. Masters thesis, Auburn University. http://etd.auburn.edu/etd/bitstream/handle/10415/497/PHILL IPS_JARED_46.pdf?sequence=1 Accessed Oct 12, 2012Google ScholarGoogle Scholar
  25. Phillips, J., and Yilmaz, L. 2007. Team-RUP: Agent-based Simulation of Team Behavior in Software Development Organizations. International Journal of Simulation and Process Modelling 3, 3, 170-179. DOI: 10.1504/IJSPM.2007.015240 http://www.inderscience.com/info/inarticle.php?artid=15240 Accessed Oct 12, 2012.Google ScholarGoogle Scholar
  26. Chichakly,K. 2007. Modeling Agile Development: When is it Effective? Proc. 25th International Conference of the System Dynamics Society. http://www.systemdynamics.org/conferences/2007/proceed/p apers/CHICH380.pdf Accessed Oct 12, 2012.Google ScholarGoogle Scholar
  27. Wu, M., and Yan, H. 2009. Simulation in Software Engineering with System Dynamics: A Case Study. Journal of Software 4, 10 (December 2009) 1127-1135. DOI: 10.4304/jsw.4.10.1127-1135 http://ojs.academypublisher.com/index.php/jsw/article/view/ 041011271135/1447 Accessed Oct 12, 2012.Google ScholarGoogle Scholar
  28. van Oorschot, K., Sengupta, K., and van Wassenhove, L. 2009. Dynamics of Agile Software Development. Proc. 27th International Conference of the System Dynamics Society. http://www.systemdynamics.org/conferences/2009/proceed/p apers/P1264.pdf Accessed Oct 12, 2012.Google ScholarGoogle Scholar
  29. Yong, Y., and Zhou, B. 2009. Evaluating Extreme Programming Effect through System Dynamics Modeling. Proc. International Conference on Computational Intelligence and Software Engineering (CiSE 2009) 1-4. DOI: 10.1109/CISE.2009.5365556 http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5 365556 Accessed Oct 12, 2012.Google ScholarGoogle Scholar
  30. Cocco, L., Mannaro, K., Concas, G., and Marchesi, M. 2011. Simulating Kanban and Scrum vs. Waterfall with System Dynamics. Agile Processes in Software Engineering and Extreme Programming, LNBIP 77, 117-131. http://rd.springer.com/chapter/10.1007/978-3-642-20677- 1_9?null Accessed Oct 12, 2012.Google ScholarGoogle Scholar
  31. Kong, X., Liu, L., and Chen, J. 2011. Modeling Agile Software Maintenance Process Using Analytical Theory of Project Investment. Proc. International Conference on Advances in Engineering, Procedia Engineering 24,138-142. http://www.sciencedirect.com/science/article/pii/S18777058 11054683 Accessed Oct 12, 2012.Google ScholarGoogle Scholar
  32. Faynshteyn, L., Mišić, V., and Mišić, J. 2012. Analyzing the Cost and Benefit of Pair Programming Revisited. Journal of Information Technology and Applications, 2, 1 (June 2012) 14-21. http://www.jitaau.com/Public/PDF/JITA_Vol%202_Issue1.pdf Accessed Oct 12, 2012.Google ScholarGoogle Scholar
  33. Miranda, E. 2001. Improving Subjective Estimates Using Paired Comparisons. IEEE Software 18, 1 (January/February 2001) 87-91. http://doi.ieeecomputersociety.org/10.1109/52.903173 Google ScholarGoogle Scholar
  34. Miranda, E., Bourque, P., Abran, A. 2009. Sizing User Stories Using Paired Comparisons. Journal Information and Software Technology 51, 9 (September 2009) 1327-1337. 10.1016/j.infsof.2009.04.003 Google ScholarGoogle Scholar

Index Terms

  1. Modeling user story completion of an agile software process

    Recommendations

    Reviews

    Andrew Brooks

    To determine the utility of software process simulation in an agile context, an industrial case study was undertaken. Using ExtendSim, a discrete event simulation was built of an agile software development process. Table 2 lists all of the input factors in the simulation and the kinds of distribution used. For example, the number of tasks per user story had a triangular distribution. Simulation outputs of interest included the number of user stories completed and the number of discrepancy reports (DRs) fixed. A sensitivity analysis was performed using six input factors deemed most relevant. The response surface of Figure 2 shows how the number of completed user stories dropped dramatically when the number of DRs per user story and the effort required per DR both increased. This led the investigators to recommend the introduction of quality assurance activities to help reduce the number of DRs. The agile software development team accepted this recommendation and introduced design reviews. The investigators also studied some specific scenarios. For example, requiring the last two sprints, rather than just the last sprint, to be used for rework only, resulted in three fewer user stories on average and a drop in developer utilization of three percent. All four recommendations for process improvement are sound. A minor criticism is that the paper might have more fully discussed the nature and scope of DRs. Why did it take two hours to fix some DRs, yet 80 hours to fix others__?__ I strongly recommend this paper to the agile software development community. Online Computing Reviews Service

    Access critical reviews of Computing literature here

    Become a reviewer for Computing Reviews.

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Other conferences
      ICSSP 2013: Proceedings of the 2013 International Conference on Software and System Process
      May 2013
      180 pages
      ISBN:9781450320627
      DOI:10.1145/2486046

      Copyright © 2013 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 18 May 2013

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader