Abstract
The adoption of agile practices in software projects has been faced with scepticism by practitioners, with concerns about the actual effectiveness of these practices. Using system dynamics, this study investigates the impact of four popular agile practices, Test-Driven Development, Pair Programming, On-site Customer Involvement and Pair Testing, on the quality of continuous delivery projects. The developed system dynamic model, called the predictive continuous delivery model, was developed with an extensive use of existing literature, supported by survey, interviews, historical data and expert’s judgement. Simulation results showed all the investigated agile practices except pair programming have a significant impact on the quality of continuous delivery projects.
Similar content being viewed by others
References
Abdel-Hamid T (1984) The dynamics of software development project management: an integrative system dynamics perspective. Ph.D. dissertation, Sloan School of Management, MIT
Abdel-Hamid T, Madnick S (1991) Software project dynamics: an integrated approach, 1st edn. Prentice Hall, Englewood Cliffs
Alliance Agile (2013) Guide to agile practices. http://guide.agilealliance.org/. Accessed 20 Sept 2014
Ambler S, Lines M (2012) Disciplined agile delivery: a practitioner’s guide to agile software delivery in the enterprise. IBM Press, Indianapolis
Basili VR, Shull F, Lanubile F (1999) Building knowledge through families of experiments. IEEE Trans Softw Eng 25(4):456–473
Beck K (1999) Extreme programming explained: embrace change, 1st edn. Addison Wesley, Reading
Beck K (2003) Test driven development: by example, 1st edn. Addison Wesley, Reading
Beedle M et al (2001) Manifesto for agile software development. http://agilemanifesto.org/. Accessed 12 Sept 2014
Boehm BW (2002) Get ready for agile methods, with care. Computer 35(1):64–69
Brace I (2008) Questionnaire Design: How to Plan, Structure and Write Survey Material for Effective Market Research, 2nd edn. Kogan Page, Philadelphia, London
Bradburn NM, Sudman S, Wansink B (2004) Asking questions: the definitive guide to questionnaire design—for market research, political polls, and social and health questionnaires, revised edition. Wiley, San Francisco
Brewer J, Hunter A (1989) Multi method research: a synthesis of styles. Sage, Newbury Park
Cao L (2004) Modeling dynamics of agile software development. In: Companion to the 19th annual ACM SIGPLAN conference on object-oriented programming systems, languages, and applications. OOPSLA ’04. ACM, New York pp 46–47
Cao L (2010) Modeling dynamics in agile software development. Ph.D thesis, Georgia State University, Atlanta
Chichakly K (2007) Modeling agile development: when is effective? In: Proceedings of 25th international conference of the system dynamics society, July 29-August 2, 2007, Boston, Massachusetts
Cohn M (2009) Succeeding with agile: software development using scrum, 1st edn. Addison Wesley, Upper Saddle River
Collofello JS, Yang Z, Tvedt JD, 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
Constantine LL (1995) Constantine on peopleware, 1st edn. Prentice Hall, Englewood Cliffs
Daellenbach HG (1995) Systems and decision making: a management science approach. Wiley, Chichester, England
Edwards SH (2004) Using software testing to move students from trial-and-error to reflection-in-action. In: Proceedings of the 35th SIGCSE technical symposium on computer science education. SIGCSE ’04. ACM, New York, pp 26–30
Faynshteyn L, Mišić V, Mišić J (2012) Analyzing the cost and benefit of pair programming revisited. J Inf Technol Appl 2(1):14–21. http://www.jitaau.com/Public/PDF/JITA_Vol%202_Issue1.pdf. Accessed 12 Oct 2012
Forrester Research Inc. (2013) Continuous delivery: a maturity assessment model, building comprehensive advantage with software through a continuous delivery process, http://info.thoughtworks.com/rs/thoughtworks2/images/Continuous%20Delivery%20_%20A%20Maturity%20Assessment%20ModelFINAL.pdf. Accessed 15 June 2014
Forrester J, Senge P (1980) Tests for building confidence in system dynamics models. TIMSStud Manag Sci 14:209–228
Forrester JW (1961) Industrial dynamics. MIT Press, Cambridge
George B, Williams L (2003) An initial investigation of test driven development in industry. In: Proceedings of the 2003 ACM symposium on applied computing. SAC ’03. ACM, New York, pp 1135–1139
Glaiel F, Moulton A, Manick S (2013) Agile dynamics: a system dynamics investigation of agile software development methods [working papers] composite information systems laboratory (CISL) Sloan School of Management, Massachusetts Institute of Technology, Cambridge
Goldstein I (2013) Scrum shortcuts without cutting corners: agile tactics, tools and tips, 1st edn. Addison Wesley, Upper Saddle River
Hammond A, Jeffrey S (2011) Five ways to streamline release management. Forrester Research Inc., http://www.serena.com/docs/repository/solutions/Forrester-Five_Ways_to_Streamline_Release_Management-from_Serena_Software.pdf. Accessed 12 June 2014
Harrell C, Ghosh B, Bowden R (2004) Simulation using pro model with CD-ROM, 2nd edn. McGraw-Hill Science/Engineering/Math, New York
Hoegl M, Weinkauf K, Gemuenden HG (2004) Inter-team coordination, project commitment, and teamwork in multi-team R&D projects: a longitudinal study. Org Sci 15(1):38–55
Humble J, Farley D (2010) Continuous delivery: reliable software releases through build, test, and deployment automation. Addison Wesley, Boston
Kellner M, Raffo D (1997) Measurement issues in quantitative simulations of process models. In: Proceedings of the workshop on process modeling and empirical studies of software evolution, pp 33–37
Kohl J (2004) Pair testing: how i brought developers into the test lab. Better software [Online] January 2004. http://www.kohl.ca/articles/pairtesting.pdf. Accessed 12 Oct 2014
Kuppuswami S, Vivekanandan K, Ramaswamy P, Rodrigues P (2003b) The effects of individual XP practices on software development effort. SIGSOFT Softw Eng Notes 28(6):6–6
Madachy RJ (2007) Softw Process Dyn, 1st edn. Wiley-Blackwell, Piscataway
Melis M, Turnu I, Cau A, Concas G (2006) Evaluating the impact of test-first programming and pair programming through software process simulation. Ph.D thesis, School in Information Engineering University of Cagliari, Italy
Melnik G, Maurer F (2007) Multiple perspectives on executable acceptance test-driven development. In: Proceedings of the 8th international conference on agile processes in software engineering and extreme programming. XP’07. Springer, Berlin, pp 245–249
Misic VB (2004) Extreme dynamics: towards a system dynamics model of the extreme programming software development process. In: IEE, pp 237–242
Münch J (2012) Software process definition and management, 2012th edn. Springer, Heidelberg
Nagappan N, Maximilien EM, Bhat T, Williams L (2008) Realizing quality improvement through test driven development: results and experiences of four industrial teams. Empir Softw Eng 13(3):289–302
Russell R, Cohn S (2012) Pair testing. VSD
Shore J, Warden S (2007) The art of agile development, 1st edn. O’Reilly Media, Beijing
Strauss A, Corbin J (1998) Basics of qualitative research. Sage Publications, London
Turnu I, Melis M, Cau A, Setzu A, Concas G, Mannaro K (2006) Modeling and simulation of open source development using an agile practice. J Syst Archit 52(11):610–618
Ur S, Yom-Tov E, Wernick P (2007) An open source simulation model of software development and testing. In: Bin E, Ziv A, Ur S (eds) Hardware and software, verification and testing. Lecture notes in computer science. Springer, Berlin, pp 124–137
Version One (2012) 7th annual state of agile development survey. http://www.versionone.com/pdf/7th-Annual-State-of-Agile-Development-Survey.pdf. Accessed 27 July 2014
Weinberg GM (1998) The psychology of computer programming silver, Anniversary edn. Dorset House Publishing, New York
Wernick P, Hall T (2004) The impact of using pair programming on system evolution a simulation-based study. In: Proceedings 20th IEEE international conference on software maintenance, pp 422–426
Williams L (2000) The collaborative software process. PhD thesis, University of Utah
Williams L Kessler R (2003) Pair Programming Illuminated, Addison-Wesley, Boston, MA
Williams L, Kessler RR, Cunningham W, Jeffries R (2000) Strengthening the case for pair programming. IEEE Softw 17(4):19–25
Williams M, Packlick J, Bellubbi R, Coburn S (2007) How We Made Onsite Customer Work - An Extreme Success Story. In: Agile Conference (AGILE), IEEE Computer Society Washington, DC, USA, 2007. pp 334–338
Wojciechowski A, Wesolowski M, Complak W (2010) Experimental evaluation of ’On-Site Customer’ XP practice on quality of software and team effectiveness. In: Meersman R, Dillon T, Herreroeds P (eds) On the move to meaningful internet systems: OTM 2010 workshops. Lecture notes in computer science, Springer, Berlin, pp 269–278
Yong Y, Zhou B (2009) Evaluating extreme programming effect through system dynamics modeling. In: International conference on computational intelligence and software engineering. CiSE 2009, pp 1–4
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Akerele, O. System dynamics modelling of the impact of agile practice on the quality of continuous delivery projects. Innovations Syst Softw Eng 14, 183–208 (2018). https://doi.org/10.1007/s11334-017-0296-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11334-017-0296-z