skip to main content
research-article

Modeling dynamics in agile software development

Published: 10 December 2010 Publication History

Abstract

Changes in the business environment such as turbulent market forces, rapidly evolving system requirements, and advances in technology demand agility in the development of software systems. Though agile approaches have received wide attention, empirical research that evaluates their effectiveness and appropriateness is scarce. Further, research to-date has investigated individual practices in isolation rather than as an integrated system. Addressing these concerns, we develop a system dynamics simulation model that considers the complex interdependencies among the variety of practices used in agile development. The model is developed on the basis of an extensive review of the literature as well as quantitative and qualitative data collected from real projects in nine organizations. We present the structure of the model focusing on essential agile practices. The validity of the model is established based on extensive structural and behavioral validation tests. Insights gained from experimentation with the model answer important questions faced by development teams in implementing two unique practices used in agile development. The results suggest that due to refactoring, the cost of implementing changes to a system varies cyclically and increases during later phases of development. Delays in refactoring also increase costs and decrease development productivity. Also, the simulation shows that pair programming helps complete more tasks and at a lower cost. The systems dynamics model developed in this research can be used as a tool by IS organizations to understand and analyze the impacts of various agile development practices and project management strategies.

Supplementary Material

Cao Appendix (a5-cao-apndx.pdf)
Online appendix to modeling dynamics in agile software development on article 5.

References

[1]
Abdel-Hamid, T. K. 1989. The dynamics of software project staffing: A system dynamics based simulation approach. IEEE Trans. Softw. Engin. 15, 109--119.
[2]
Abdel-Hamid, T. K. 1990. Investigating the cost/schedule trade-off in software development. IEEE Softw. 7, 97--105.
[3]
Abdel-Hamid, T. K. 1993a. Adapting, correcting, and perfecting software estimates: A maintenance metaphor. IEEE Comput. 26, 20--29.
[4]
Abdel-Hamid, T. K. 1993b. Modeling the dynamics of software reuse: An integrating system dynamics perspective. In Proceedings of the 6th Workshop on Institutionalizing Software Reuse.
[5]
Abdel-Hamid, T. K. and Leidy, F. H. 1991. An expert simulator for allocating the quality assurance effort in software development. Simul. 56, 233--240.
[6]
Abdel-Hamid, T. K. and Madnick, S. E. 1983. The dynamics of software project scheduling. Comm. ACM 26, 340--346.
[7]
Abdel-Hamid, T. K. and Madnick, S. E. 1991. Software Project Dynamics: An Integrated Approach. Prentice Hall, Englewood Cliffs, NJ.
[8]
Abdel-Hamid, T. K., Sengupta, K., and Hardebeck, M. J. 1994. The effect of reward structures on allocating shared staff resources among interdependent software projects: An experimental investigation. IEEE Trans. Engin. Manag. 41, 115--125.
[9]
Abdel-Hamid, T. K., Sengupta, K., and Ronan, D. 1993. Software project control: An experimental investigation of judgment with fallible information. IEEE Trans. Softw. Engin. 19, 603--612.
[10]
Alshayeb, M. and Li, W. 2005. An empirical study of system design instability metric and design evolution in an agile software process. J. Syst. Softw. 74, 269--274.
[11]
Arnold, R. S. 1986. An introduction to software restructuring. In Tutorial on Software Restructuring, R. S. Arnold Ed., IEEE Computer Society Press, Los Alamitos, CA.
[12]
Barlas, Y. 1989. Multiple test for validation of system dynamics type of simulation models. Euro. J. Oper. Res. 42, 59--87.
[13]
Basili, V. R. and Weiss, D. M. 1984. A methodology for collecting valid software engineering data. IEEE Trans. Softw. Engin. 10, 728--737.
[14]
Beck, K. 1994. Simple smalltalk testing: With patterns. Smalltalk Rep. 4.
[15]
Beck, K. 2000. Extreme Programming Explained: Embrace Change. Addison-Wesley, Boston, MA.
[16]
Beck, K. 2003. Test Driven Development: By Example. Addison-Wesley Professional.
[17]
Beck, K. and Gamma, E. 1998. Test infected: Programmers love writing tests. Java Rep. 3, 37--50.
[18]
Berry, D. M. 2002. The inevitable pain of software development, including of extreme programming, caused by requirements volatility. In Proceedings of the International Workshop On Time-Constrained Requirements.
[19]
Boehm, B. 1981. Software Engineering Economics. Prentice-Hall, Englewood Cliffs, NJ.
[20]
Boehm, B. 2002. Get ready for agile methods, with care. IEEE Comput. 35, 64--69.
[21]
Boehm, B. and Turner, R. 2004. Balancing Agility and Discipline: A Guide for the Perplexed. Addison Wesley.
[22]
Cangussu, J. W. 2004. A software test process stochastic control model based on cmm characterization. Softw. Process. Improv. Pract. 9, 55--66.
[23]
Cao, L., Mohan, K., Xu, P., and Ramesh, B. 2009. A framework for adapting agile development methodologies. Euro. J. Inform. Syst. 18, 332--343.
[24]
Choi, S. J. and Scacchi, W. 2001. Modeling and simulating software acquisition process architectures. J. Syst. Softw. 59, 343--354.
[25]
Cunningham, W. 1992. The Wycash portfolio management system. In Proceedings of the Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA). ACM Press, New York.
[26]
Curtis, B., Krasner, H., and Iscoe, N. 1988. A field study of the software design process for large systems. Comm. ACM 31, 1268--1287.
[27]
Dutta, A. and Roy, R. 2005. Offshore outsourcing: A dynamic causal model of counteracting forces. J. Manag. Inform. Syst. 22, 15--35.
[28]
Dutta, A. and Roy, R. 2008. Dynamics of organizational information security. Syst. Dynam. Rev. 24, 349--375.
[29]
Elssamadisy, A. and Schalloil, G. 2002. Recognizing and responding to ‘bad smells’ in xp. In Proceedings of the ACM/IEEE International Conference on Software Engineering.
[30]
Erdogmus, H. and Williams, L. 2003. The economics of software development by pair programmers. Engin. Econom. 48, 283--319.
[31]
Erickson, J., Lyytinen, K., and Siau, K. 2005. Agile modeling, agile software development, and extreme programming: The state of research. J. Data. Manag. 16, 88--99.
[32]
Fitzgerald, B., Hartnett, G., and Conboy, K. 2006. Customizing agile methods to software practices at Intel Shannon. Euro. J. Inform. Syst. 15, 200--213.
[33]
Forrester, J. W. 1961. Industrial Dynamics. MIT Press, Cambridge, MA.
[34]
Forrester, J. W. and Senge, P. M. 1980. Tests for building confidence in system dynamics models. TIMS Stud. Manag. Sci. 14, 209--228.
[35]
Fowler, M. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley.
[36]
George, B. and Williams, L. 2002. An initial investigation of test-driven development in industry. In Proceedings of the ACM Symposium on Applied Computing.
[37]
Glass, R. 2004. Matching methodology to problem domain. Comm. ACM 47, 19--21.
[38]
Gorts, S. 2004. Refactoring in the large. http://www.refactoring.be/thumbnails/large/large.html
[39]
Grenning, J. 2001. Launching xp at a process-intensive company. IEEE Softw. 18, 3--9.
[40]
Harrison, B. 2003. A study of extreme programming in a large company. http://www.agilealliance.org/articles/articles/ALR-2003-039-paper.pdf
[41]
Highsmith, J. and Cockburn, A. 2001. Agile software development: The business of innovation. IEEE Comput. 34, 120--122.
[42]
Hodgetts, P. 2004. Refactoring the development process: Experiences with the incremental adoption of agile practices. In Proceedings of the IEEE Agile Development Conference.
[43]
Höst, M., Regnell, B., Dag, J. N. O., Nedstam, J., and Nyberg, C. 2001. Exploring bottlenecks in market-driven requirements management processes with discrete event simulation. J. Syst. Softw. 59, 323--332.
[44]
Jeffries, R., Anderson, A., and Hendrickson, C. 2001. Extreme Programming Installed. Addison- Wesley, Boston, MA.
[45]
Karlström, D. 2002. Introducing extreme programming—An experience report. In Proceedings of the 3rd International Conference on eXtreme Programming and Agile Processes in Software Engineering (XP'02).
[46]
Kataoka, Y., Imai, T., Andou, H., and Fukaya, T. 2002. A quantitative evaluation of maintainability enhancement by refactoring. In Proceedings of the International Conference on Software Maintenance. 576--585.
[47]
Li, W. and Henry, S. 1993. Object-Oriented metrics that predict maintainability. J. Syst. Softw. 23, 111--122.
[48]
Lientz, B. P., Swanson, E. B., and Tompkins, G. E. 1978. Characteristics of application software maintenance. Comm. ACM 21, 466--471.
[49]
Madachy, R. 2007 Software Process Dynamics. Wiley-IEEE Press, Los Alamitos, CA.
[50]
Martin, R. C. 2000. Extreme programming development through dialog. IEEE Softw. 17, 12--{} 13.
[51]
Mens, T. and Tourwe, T. 2004. A survey of software refactoring. IEEE Trans. Softw. Engin. 30, 126--139.
[52]
Nosek, J. T. 1998. The case for collaborative programming. Comm. ACM 41, 105--108.
[53]
Opdyke, W. F. 1992. Refactoring: A program restructuring aid in designing object-oriented application frameworks. Ph.D. thesis, University of Illinois at Urbana-Champaign.
[54]
Opdyke, W. F. 1995. Refactoring object-oriented software to support evolution and reuse. In Proceedings of the 7th Annual Workshop on Institutionalizing Software Reuse.
[55]
Parrish, A., Smith, R., Hale, D., and Hale, J. 2004. A field study of developer pairs: Productivity impacts and implications. IEEE Softw. 21, 76--79.
[56]
Peters, P. and Jarke, M. 1996. Simulating the impact of information flows in networked organizations. In Proceedings of the International Conference on Information Systems (ICIS).
[57]
Ramesh, B., Cao, L., and Baskerville, R. 2010. Agile requirements engineering practices and challenges: An empirical study. Inform. Syst. J. 20, 5, 449--480.
[58]
Roberts, D. 1999. Practical analysis for refactoring. Ph.D. thesis, University of Illinois at Urbana Champaign.
[59]
Roehling, S. T., Collofello, J. S., Hermann, B. G., and Smith-Daniels, D. E. 2000. System dynamics modeling applied to software outsourcing decision support. Softw. Process. Improv. Pract. 5.
[60]
Rumpe, B. and Schroeder, A. 2002. Quantitative survey on extreme programming project. In Proceedings of the 3rd International Conference on eXtreme Programming and Agile Processes in Software Engineering. 95--100.
[61]
Rus, I., Collofello, J., and Lakey, P. 1999. Software process simulation for reliability management. J. Syst. Softw. 46, 173--182.
[62]
Sengupta, K. and Abdel-Hamid, T. K. 1996. The impact of unreliable information on the management of software projects: A dynamic decision perspective. IEEE Trans. Syst. Man Cybernet. 26, 177--189.
[63]
Sengupta, K., Abdel-Hamid, T. K., and Bosley, M. 1999. Coping with staffing delays in software project management: An experimental investigation. IEEE Trans. Syst. Man Cybernet. A29, 77--91.
[64]
Shore, J. 2004. Continuous design. IEEE Comput. 21, 20--22.
[65]
Stallinger, F. and Grünbacher, P. 2001. System dynamics modeling and simulation of collaborative requirements engineering. J. Syst. Softw. 59, 311--321.
[66]
Stark, G. E., Oman, P., Skillicorn, A., and Ameele, A. 1999. An examination of the effects of requirements changes on software maintenance releases. J. Softw. Maint. Res. Pract. 11, 293--309.
[67]
Sterman, J. D. 2000. Business Dynamics: System Thinking and Modeling for a Complex World. McGraw-Hill.
[68]
Stroulia, E. and Leitch, R. 2003. Understanding the economics of refactoring. In Proceedings of the 5th ICSE Workshop on Economics-Driven Software Engineering Research.
[69]
Swanson, E. B. 1976. The dimensions of maintenance. In Proceedings of the 2nd Conference on Software Engineering. 492--497.
[70]
West, D., Grant, T., Gerush, M., and D'Silva, D. 2010. Agile Development: Mainstream Adoption Has Changed Agility. Forrester Research.
[71]
Whiler, O. 2003. Refactoring. Methods & Tools Spring.
[72]
Williams, L. 2001. Integrating pair programming into a software development process. In Proceedings of the 14th Conference on Software Engineering Education and Training.
[73]
Williams, L. and Kessler, R. R. 2000. The effects of “pair-pressure” and “pair-learning” on software engineering education. In Proceedings of the 13th Conference of Software Engineering Education and Training.
[74]
Williams, L., Kessler, R. R., Cunningham, W., and Jeffries, R. 2000. Strengthening the case for pair-programming. IEEE Softw. 17, 19--25.

Cited By

View all

Index Terms

  1. Modeling dynamics in agile software development

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Management Information Systems
    ACM Transactions on Management Information Systems  Volume 1, Issue 1
    December 2010
    135 pages
    ISSN:2158-656X
    EISSN:2158-6578
    DOI:10.1145/1877725
    Issue’s Table of Contents
    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: 10 December 2010
    Accepted: 01 September 2010
    Revised: 01 September 2010
    Received: 01 February 2010
    Published in TMIS Volume 1, Issue 1

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Agile software development
    2. process modeling
    3. simulation
    4. system dynamics

    Qualifiers

    • Research-article
    • Research
    • Refereed

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)77
    • Downloads (Last 6 weeks)7
    Reflects downloads up to 05 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media