Skip to main content
Log in

Investigating the extreme programming system–An empirical study

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

In this paper we discuss our empirical study about the advantages and difficulties 15 Greek software companies experienced applying Extreme Programming (XP) as a holistic system in software development. Based on a generic XP system including feedback influences and using a cause-effect model including social-technical affecting factors, as our research tool, the study statistically evaluates the application of XP practices in the software companies being studied. Data were collected from 30 managers and developers, using the sample survey technique with questionnaires and interviews, in a time period of six months. Practices were analysed individually, using Descriptive Statistics (DS), and as a whole by building up different models using stepwise Discriminant Analysis (DA). The results have shown that companies, facing various problems with common code ownership, on-site customer, 40–hour week and metaphor, prefer to develop their own tailored XP method and way of working-practices that met their requirements. Pair programming and test-driven development were found to be the most significant success factors. Interactions and hidden dependencies for the majority of the practices as well as communication and synergy between skilled personnel were found to be other significant success factors. The contribution of this preliminary research work is to provide some evidence that may assist companies in evaluating whether the XP system as a holistic framework would suit their current situation.

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.

Similar content being viewed by others

References

  • Aveling B (2004, June) XP Lite considered harmful? Fifth International Conference on Extreme Programming and Agile Processes in Software Engineering. Garmisch–Partenkirchen: Germany

  • Basili VR, Selby RW, Hutchens DH (1986, July) Experimentation in software engineering, IEEE Trans Soft Eng 12(7): 733–743

    Google Scholar 

  • Beck K (1999) Embracing change with extreme programming. Computer 13(10):70–77

    MathSciNet  Google Scholar 

  • Beck K (2000) Extreme programming explained: embrace change. Addison-Wesley, Reading, Massachusetts

    Google Scholar 

  • Brooks FP (1987) No silver bullet: essence and accidents of software engineering. Computer 20(4):10–19

    MathSciNet  Google Scholar 

  • Butler S, Hope S, Gittins R (2001, May 20–23) How distance between subject and interviewer affects the application of qualitative research to extreme programming. Proceedings of 2nd International Conference on Extreme Programming and Flexible Processes in Software Engineering. Villasimius, Sardinia, Italy

  • Cockburn A, Williams L (2000, June) The costs and benefits of pair programming, extreme programming and flexible processes in software engineering. XP2000, Cagliari, Italy

  • Cockburn A (2001) Agile software development. In: Cockburn A, Highsmith J (eds) The Agile Software Development Series. Addison-Wesley Longman, Reading, Massachusetts

    Google Scholar 

  • El Emam K, Fusaro P, Smith B (1999) Success factors and barriers for software process improvement. Better software practice for business benefit: principles and experience. Conference, Location, IEEE Computer Society

  • El-Emam K (2003) Finding success in small software projects. Agile Project Management, Vol. 4

  • Erdogmus H (2005, January) On the effectiveness of test-first approach to programming. Proceedings of the IEEE Transactions on Software Engineering, 31(1). NRC 47445

  • Erdogmus H, Wang Y (2004, August 15–18) The role of process measurement in test-driven development. Proceedings of XP Agile Universe 2004. Calgary, Alberta, Canada. NRC 47454

  • Erdogmus H, Williams L (2003) The economics of software development by pair programmers, The Engineering Economist 48(4): 33. NRC 47101

    Google Scholar 

  • Fowler M (2001) The new methodology [on-line]. Available at URL http://www.martinfowler.com/articles/newMethodology.html [referred on 18.1.2002]

  • George B, Williams L (2003) An initial investigation of test driven development in industry. Presented at ACM Symposium on Applied Computing. Melbourne, Florida

  • Geras A, Smith M, Miller J (2004) A prototype empirical evaluation of test driven development. Proceedings of the 10th International Symposium on Software Metrics (METRICS ’04)

  • Gittins R, Hope S, and Williams I (2001, May 20–23) Qualitative studies of XP in a medium sized business. Proceedings of 2nd International Conference on Extreme Bibliography 149 Programming and Flexible Processes in Software Engineering. Villasimius, Sardinia, Italy

  • Glaser BG, Strauss AL (1967) The Discovery of grounded theory: strategies for qualitative research. Aldine Publishing Company, Chicago

  • Hirschheim R, Klein HK, Lyytinen K (1995) Information systems development and data modelling: conceptual and philosophical foundations. Cambridge University Press, Cambridge

    Google Scholar 

  • Hulkko H, Abrahamsson P (2005) A multiple case study on the impact of pair programming on product quality. ICSE ’05–USA

  • Jeffries R, Anderson A, Hendrickson C (2001) Extreme programming installed. In: Beck K (ed) The XP Series. Addison Wesley, Upper Saddle River, NJ

    Google Scholar 

  • Kauffman DL Jr (1980) Systems I. An introduction to systems thinking. Carlton, Minneapolis, Minn

    Google Scholar 

  • Krzanowski WJ (1993) Principles of multivariate analysis. Oxford University Press, UK

  • Layman L, Williams L, Cunningham L (2004a) Motivations and measurements in an Agile case study. ACM SIGSOFT Foundation in Software Engineering Workshop Quantitative Techniques for Software Agile Processes (QTE–SWAP). Newport Beach, CA

  • Layman L, Williams L, Cunningham L (2004b) Exploring extreme programming in context: an industrial case study. Agile Development Conference. pp 32–41

  • Lehman M (1996) Feedback in the software evolution process, keynote address. CSR 11th Annual Workshop on Software Evolution: Models and Metrics. Dublin, 7–9th Sept. 1994, also in Information and Softw. Technology, sp. is. on Software Maintenance. 38(11): 681–686

  • Lincoln YS, Guba EG (1985) Naturalistic inquiry. Sage, Thousand Oaks

    Google Scholar 

  • Lindvall M, Muthig D, Dagnino A, Wallin C, Stupperich M, Kiefer D, May J, and Kähkönen T (2004, December). Agile software development in large organizations. Computer, IEEE

  • Melnik G, Maurer F (2005) A cross-program investigation of students’ perceptions of agile methods. ICSE ’05–USA

  • Maurer F, Martel S (2002, Jan/Feb) Extreme programming: rapid development for web-based applications. IEEE Internet Computing 6:86–91

    Google Scholar 

  • Müller M, Padberg F (2002, May) Extreme programming from an engineering economics viewpoint. International Workshop on Economics-Driven Software Engineering Research (EDSER), Orlando, Florida, USA

  • Müller M, Padberg F (2003, September) On the economic evaluation of XP projects. European Software Engineering Conference (ESEC). Helsinki, Finland

  • Müller M, Hagner O (2002) Experiment about test-first programming. Presented at Conference on Empirical Assessment in Software Engineering. Keele

  • Nosek J (1998, March) The case for collaborative programming. Communications of the ACM 41(3):105–108

    Article  Google Scholar 

  • Padberg F, Müller M (2003, September) Analyzing the cost and benefit of pair programming. International Symposium on Software Metrics (Metrics). Sydney, Australia

  • Patton MQ (1990) Qualitative evaluation and research methods (2nd edition). Sage Publications, Inc., Newbury Park, CA

    Google Scholar 

  • Paulk MC (2001) Extreme programming from a CMM perspective. Software 18(6): 19–26

    Google Scholar 

  • Reifer DJ (2002, August) How to get the most out of extreme programming/agile methods. 2nd XP and 1st Agile Universe Conference. Chicago, IL. pp 185–196

  • Rumpe B, Schröder A (2002, May 26–30) Quantitative survey on extreme programming projects. Proceedings of the 3rd International Conference on Extreme Programming and Flexible Processes in Software Engineering. Alghero, Sardinia Italy

  • Seaman CB (1999, July/August) Qualitative methods in empirical studies of software engineering. IEEE Trans Soft Eng 25(4):557–572

    Article  Google Scholar 

  • Senge PM (1990) Fifth discipline—the art and practice of the learning organization. Doubleday, New York, USA

    Google Scholar 

  • Sommerville I, Sawyer P (1997) Requirements engineering a good practice guide. John Wiley & Sons Ltd., Chichester

    Google Scholar 

  • Strauss A, Corbin J (1990) Basics of qualitative research: grounded theory procedures and techniques. Sage Publications, Inc., Newbury Park, CA

    Google Scholar 

  • Taylor SJ, Bogdan R (1984) Introduction to qualitative research methods. John Wiley and Sons, New York

    Google Scholar 

  • Wernick P (1996, April) A belief system model for software development: a framework by analogy. PhD Thesis, Department of Computer Science, University College London

  • Wiki (2003) http://www.c2.com/cgi/wiki? [05.11.2003]

  • Williams L, Erdogmus H (2002, May) On the economic feasibility of pair programming. International Workshop on Economics-Driven Software Engineering Research EDSER-4, Orlando, Florida, USA

  • Williams L, Kessler R, Cunningham W, Jeffries R (2000, July–Aug) Strengthening the case for pairprogramming. IEEE Software 17(14): 19–25

    Google Scholar 

  • Williams L, McDowell C, Fernald J, Werner L, Nagappan N (2003a) Building pair programming knowledge through a family of experiments. IEEE International Symposium on Empirical Software Engineering (ISESE). pp 143–152

  • Williams L, Maximilien E, Vouk M (2003b) Testdriven development as a defect-reduction practice. Presented at 14th International Symposium on Software Reliability Engineering

  • Williams L, Krebs W, Layman L, Antón A (2004) Toward a framework for evaluating extreme programming. Empirical Assessment in Software Engineering (EASE). pp 11–20

  • Wohlin C, Runeson P, Höst M, Ohlson M, Regnell B, Wessle´n A (2000) Experimentation in Software Engineering: An introduction. Kluwer Academic Publishers, USA

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ioannis Stamelos.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Sfetsos, P., Angelis, L. & Stamelos, I. Investigating the extreme programming system–An empirical study. Empir Software Eng 11, 269–301 (2006). https://doi.org/10.1007/s10664-006-6404-6

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10664-006-6404-6

Keywords

Navigation