Seven Years of XP - 50 Customers, 100 Projects and 500 Programmers - Lessons Learnt and Ideas for Improvement

Over the last seven years we have been using eXtreme Programming (XP) in two commercial software development settings within the University of Sheffield. The detailed performance of a variety of different project teams has been analysed by the Sheffield Software Engineering Observatory - a joint research project between the Department of Computer Science and the Institute of Work Psychology - during this period, based on empirical data collected from these projects. A number of research questions have been investigated: the comparison between XP and a traditional software development approach in terms of product quality and the impact on quality of the number of XP practices used etc. Problems associated with some aspects of XP have been identified and adaptations and development of the XP methodology have been introduced. Other issues studied in the Observatory include the relationship between methodology and individual well being; the impact of personality on project outcomes; the level of conflict in different groups; the relationships between customers and programmers and issues relating to testing. The possible benefits of XP have been assessed alongside the problems with implementing the methodology in a variety of settings. ’People’ issues are a major determinant in successfully adopting the XP approach in a sustainable way. This paper is a brief review of some of this work.

[1]  Marian Gheorghe,et al.  Practice Makes Perfect , 2003, XP.

[2]  A. J. Cowling,et al.  Using ethnographic methods to carry out human factors research in software engineering , 2006, Behavior research methods.

[3]  Matthias M. Müller,et al.  Experiment about test-first programming , 2002, IEE Proc. Softw..

[4]  A. J. Cowling,et al.  A study of the effect of disruptions on the performance of software engineering teams , 2005, 2005 International Symposium on Empirical Software Engineering, 2005..

[5]  Laurie A. Williams,et al.  Strengthening the Case for Pair Programming , 2000, IEEE Softw..

[6]  Michele Marchesi,et al.  Extreme Programming and Agile Processes in Software Engineering , 2003, Lecture Notes in Computer Science.

[7]  Anthony J. Cowling,et al.  A follow up study of the effect of personality on the performance of software engineering teams , 2006, ISESE '06.

[8]  Pekka Abrahamsson,et al.  Does Test-Driven Development Improve the Program Code? Alarming Results from a Comparative Case Study , 2008, CEE-SET.

[9]  Walter F. Tichy,et al.  Case study: extreme programming in a university environment , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[10]  Marian Gheorghe,et al.  A formal experiment comparing extreme programming with traditional software construction , 2003, Proceedings of the Fourth Mexican International Conference on Computer Science, 2003. ENC 2003..

[11]  Marian Gheorghe,et al.  The Impact of an Agile Methodology on the Well Being of Development Teams , 2006, Empirical Software Engineering.

[12]  M. Holcombe,et al.  Using a formal method to model software design in XP projects , 2005 .

[13]  J. S. Karn An initial observational study of the effects of personality type on software engineering teams , 2004, ICSE 2004.

[14]  David S. Janzen,et al.  Test-driven development concepts, taxonomy, and future direction , 2005, Computer.

[15]  W. Holcombe,et al.  Applying XP Ideas Formally: The Story Card and Extreme X-Machines , 2003 .

[16]  David S. Janzen,et al.  An empirical evaluation of the impact of test-driven development on software quality , 2006 .