Skip to main content
Log in

Agile vs. structured distributed software development: A case study

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

In globally distributed software development, does it matter being agile rather than structured? To answer this question, this paper presents an extensive case study that compares agile (Scrum, XP, etc.) vs. structured (RUP, waterfall) processes to determine if the choice of process impacts aspects such as the overall success and economic savings of distributed projects, the motivation of the development teams, the amount of communication required during development, and the emergence of critical issues. The case study includes data from 66 projects developed in Europe, Asia, and the Americas. The results show no significant difference between the outcome of projects following agile processes and structured processes, suggesting that agile and structured processes can be equally effective for globally distributed development. The paper also discusses several qualitative aspects of distributed software development such as the advantages of nearshore vs. offshore, the preferred communication patterns, and the effects on project quality.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Notes

  1. Other names for such processes are: heavyweight, plan-driven, disciplined. In this article, we will consistently use the term “structured” to denote “non-agile” processes; this is merely a terminological convention and does not entail that agile processes have no structure whatsoever, or that structured processes are completely inflexible.

  2. For structured processes, the term “documentation” mainly denotes requirement specifications; for agile processes, it mainly denotes use-case scenarios and test cases.

  3. The dataset is available at http://se.inf.ethz.ch/data/icgse12.zip. Statistical analysis was performed using IBM SPSS v. 20.

  4. Data about 8 projects.

  5. Data about 10 projects.

  6. We did not provide a definition of the various activities to interviewees, relying on their conventional understanding of the terms in each context. While the same phase may have fairly different connotations in agile rather than structured processes (e.g. requirements in agile projects might refer to user stories), no interviewee voiced doubts about how to assign activities within their projects or asked for clarifications about this aspect.

References

  • Allen TJ (1977) Managing the flow of technology. MIT Press, Cambridge

    Google Scholar 

  • Arcuri A, Briand LC (2011) A practical guide for using statistical tests to assess randomized algorithms in software engineering. In: Proceedings of the 33rd international conference on software engineering, (ICSE). ACM, Waikiki, Honolulu , HI, USA, 21–28 May 2011, pp 1–10

  • Beck K, Beedle M, van Bennekum A, Cockburn A, Cunningham W, Fowler M, Grenning J, Highsmith J, Hunt A, Jeffries R, Kern J, Marick B, Martin RC, Mellor S, Schwaber K, Sutherland J, Thomas D (2001) Manifesto for agile software development. http://www.agilemanifesto.org

  • Begel A, Nagappan N (2008) Pair programming: what’s in it for me? In: Proceedings of the second international symposium on empirical software engineering and measurement, (ESEM). ACM, Kaiserslautern, Germany, 9–10 October 2008, pp 120–128

  • Bhat T, Nagappan N (2006) Evaluating the efficacy of test-driven development: industrial case studies. In: 2006 International symposium on empirical software engineering, (ISESE). ACM, Rio de Janeiro, Brazil, 21–22 September 2006, pp 356–363

  • Bird C, Nagappan N, Devanbu PT, Gall H, Murphy B (2009) Does distributed development affect software quality? an empirical case study of Windows Vista. Commun ACM 52(8):85–93

    Article  Google Scholar 

  • Boehm B, Turner R (2004) Balancing agility and discipline: a guide for the perplexed. Addison-Wesley, Reading, MA

  • Carmel E (1999) Global Software teams: collaborating across borders and time zones. Prentice Hall PTR, Englewood Cliffs

    Google Scholar 

  • Cataldo M, Nambiar S (2009) On the relationship between process maturity and geographic distribution: an empirical analysis of their impact on software quality. In: Proceedings of the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT international symposium on foundations of software engineering, 2009. ACM, Amsterdam, The Netherlands, 24–28 August 2009, pp 101–110

  • Cohen D, Lindvall M, Costa P (2004) An introduction to agile methods. Adv Comput 62:1–66

    Article  Google Scholar 

  • Espinosa JA, Nan N, Carmel E (2007) Do gradations of time zone separation make a difference in performance? a first laboratory study. In: 2nd IEEE international conference on global software engineering, (ICGSE). IEEE, Munich, Germany, 27–30 August 2007, pp 12–22

  • Estler HC, Nordio M, Furia CA, Meyer B, Schneider J (2012) Agile vs. structured distributed software development: A case study. In: Carmel E, van Solingen R (eds) Proceedings of the 7th international conference on global software engineering, (ICGSE). IEEE Computer Society, pp 11–20

  • Estler HC, Nordio M, Furia CA, Meyer B (2013) Unifying configuration management with merge conflict detection and awareness systems. In: Dietrich J, Noble J (eds) Proceedings of the 22nd Australasian software engineering conference, (ASWEC). IEEE Computer Society

  • Fowler FJ, Mangione TW (1989) Standardized survey interviewing: minimizing interviewer-related error. Sage Publications Inc.

  • Ghezzi C, Jazayeri M, Mandrioli D (2002) Fundamentals of software engineering, 2nd edn. Prentice Hall

  • Herbsleb JD, Mockus A (2003) An empirical study of speed and communication in globally distributed software development. IEEE Trans Softw Eng 29(6):481–494

    Article  Google Scholar 

  • Herbsleb JD, Mockus A, Finholt TA, Grinter RE (2000) Distance, dependencies, and delay in a global collaboration. In: Proceedings of the 2000 ACM conference on computer supported cooperative work. ACM, pp 319–328

  • Hulkko H, Abrahamsson P (2005) A multiple case study on the impact of pair programming on product quality. In: 27th International conference on software engineering, (ICSE). ACM St. Louis, Missouri, USA, 15–21 May 2005, pp 495–504

  • Layman L, Williams L, Damian D, Bures H (2006) Essential communication practices for extreme programming in a global software development team. Inf Softw Technol 48(9):781–794

    Article  Google Scholar 

  • Müller MM, Tichy WF (2001) Case study: extreme programming in a university environment. In: Proceedings of the 23rd international conference on software engineering, (ICSE). 12–19 May 2001, Toronto, Ontario, Canada, IEEE, pp 537–544

  • Nawrocki JR, Walter B, Wojciechowski A (2002) Comparison of CMM Level 2 and eXtreme programming. In: Proceedings of the 7th international conference on software quality, (ECSQ). Springer, pp 288–297

  • Nordio M, Mitin R, Meyer B, Ghezzi C, Di Nitto E, Tamburrelli G (2009) The role of contracts in distributed development. In: Proceedings of software engineering advances for offshore and outsourced development, (SEAFOOD). Springer, pp 117–129

  • Nordio M, Mitin R, Meyer B (2010) Advanced hands-on training for distributed and outsourced software engineering. In: Proceedings of the 32nd ACM/IEEE international conference on software engineering, (ICSE), vol 1. ACM, Cape Town, South Africa 1–8 May 2010 pp 555–558

  • Nordio M, Estler HC, Meyer B, Tschannen J, Ghezzi C, Di Nitto E (2011) How do distribution and time zones affect software development? a case study on communication. In: 6th IEEE international conference on global software engineering, (ICGSE). IEEE, Helsinki, Finland, 15–18 August 2011

  • Nordio M, Ghezzi C, Meyer B, Di Nitto E, Tamburrelli G, Tschannen J, Aguirre N, Kulkarni V (2011b) Teaching software engineering using globally distributed projects: the DOSE course. In: Collaborative teaching of globally distributed software development – community building workshop, (CTGDSD). ACM, pp 36–40

  • Paasivaara M, Durasiewicz S, Lassenius C (2009) Using Scrum in distributed agile development: Aa multiple case study. In: 4th IEEE international conference on global software engineering, (ICGSE). IEEE, Limerick, Ireland, 13–16 July 2009, pp 195–204

  • Paasivaara M, af Ornäs NH, Hynninen P, Lassenius C, Niinimaki T, Piri A (2010) Practical guide to managing distributed software development projects. Tech. rep., Aalto University, School of Science, Dept. of Computer Science and Engineering

  • Pfleeger SL, Atlee J (2005) Software engineering: theory and practice, 3rd edn. Prentice Hall, Englewood Cliffs

    Google Scholar 

  • Pressman R (2009) Software engineering: a practitioner’s approach, 7th edn. McGraw-Hill, New York

    Google Scholar 

  • Ramasubbu N, Balan R (2007) Globally distributed software development project performance: an empirical analysis. In: Proceedings of the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT international symposium on foundations of software engineering, 2007. ACM, Dubrovnik, Croatia, 3–7 September 2007, pp 125–134

  • Ramasubbu N, Cataldo M, Balan RK, Herbsleb JD (2011) Configuring global software teams: a multi-company analysis of project productivity, quality, and profits. In: Proceedings of the 33rd international conference on software engineering, (ICSE). ACM, pp 261–270

  • Spinellis D (2006) Global software development in the FreeBSD project. In: Proceedings of the 2006 international workshop on global software development for the practitioner, (GSD). ACM, pp 73–79

  • Sprent P, Smeeton N (2007) Applied nonparametric statistical methods. Texts in statistical science. Chapman & Hall/CRC, London

  • Sureshchandra K, Shrinivasavadhani JJ (2008) Adopting agile in distributed development. In: 3rd IEEE international conference on global software engineering, (ICGSE). IEEE, Bangalore, India, 17–20 August 2008, pp 217–221

Download references

Acknowledgements

The authors thank all the participants to the study; the ICGSE 2012 attendees—where a preliminary version of this work was presented—for their lively and interesting comments and remarks about our work; the anonymous reviewers of the conference and journal papers; and the guest editors Erran Carmel, Rini van Solingen, Rafael Prickladnicki, and Filippo Lanubile for organizing and managing this special issue of EMSE. This research has been partially funded by the Gebert-Rüf Stiftung.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Hans-Christian Estler.

Additional information

Communicated by: Erran Carmel, Rini van Solingen, Rafael Prickladnicki and Filippo Lanubile

A preliminary version of this paper featured at the 7th International

Conference on Global Software Engineering (Estler et al. 2012).

Schneider’s work conducted while affiliated with ETH Zurich.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Estler, HC., Nordio, M., Furia, C.A. et al. Agile vs. structured distributed software development: A case study . Empir Software Eng 19, 1197–1224 (2014). https://doi.org/10.1007/s10664-013-9271-y

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10664-013-9271-y

Keywords

Navigation