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.
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
Beck K (1999) Embracing change with extreme programming. Computer 13(10):70–77
Beck K (2000) Extreme programming explained: embrace change. Addison-Wesley, Reading, Massachusetts
Brooks FP (1987) No silver bullet: essence and accidents of software engineering. Computer 20(4):10–19
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
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
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
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
Kauffman DL Jr (1980) Systems I. An introduction to systems thinking. Carlton, Minneapolis, Minn
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
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
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
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
Paulk MC (2001) Extreme programming from a CMM perspective. Software 18(6): 19–26
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
Senge PM (1990) Fifth discipline—the art and practice of the learning organization. Doubleday, New York, USA
Sommerville I, Sawyer P (1997) Requirements engineering a good practice guide. John Wiley & Sons Ltd., Chichester
Strauss A, Corbin J (1990) Basics of qualitative research: grounded theory procedures and techniques. Sage Publications, Inc., Newbury Park, CA
Taylor SJ, Bogdan R (1984) Introduction to qualitative research methods. John Wiley and Sons, New York
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
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
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10664-006-6404-6
Keywords
- Agile methods
- Extreme programming system
- Cause-effect model
- Feedback model
- Developer perception
- Manager perception
- Empirical study
- Stepwise discriminant analysis
- Planning game
- Pair programming
- Test-driven development
- Refactoring
- Simple design
- Common code ownership
- Continuous integration
- On-site customer
- Short release cycles
- 40-hour-week
- Coding standards
- Metaphor