How extreme does extreme programming have to be? Adapting XP practices to large-scale projects

The need to develop software at Internet speed and accommodate changes during the entire software development life cycle has made lightweight or agile development methodologies like extreme programming popular. However, such methodologies have been considered to be beneficial for small and medium sized projects, with small teams. In this paper, based on a case study in an organization that develops large-scale, complex software using a modified form of extreme programming, we highlight the key differences between agile principles proposed in prior literature and the agile practices that are suitable for large-scale, complex software development. Based on these differences, we propose general guidelines on tailoring agile development methodologies to make them suitable for the development of large, complex software systems.

[1]  Agile Manifesto,et al.  Manifesto for Agile Software Development , 2001 .

[2]  Alistair Cockburn,et al.  Agile Software Development , 2001 .

[3]  J. Rasmussen,et al.  Introducing XP into Greenfield Projects: lessons learned , 2003 .

[4]  Donald J. Reifer XP and the CMM , 2003, IEEE Softw..

[5]  C MartinRobert eXtreme Programming Development through Dialog , 2000 .

[6]  Alistair Cockburn,et al.  Agile Software Development: The Business of Innovation , 2001, Computer.

[7]  Orlando Murru,et al.  Two Pilot Projects Assessing Xp at a European Internet Company , 2003 .

[8]  Gregory Schalliol Challenges for Analysts on a Large XP Project , 2001 .

[9]  Henk Sol,et al.  Proceedings of the 54th Hawaii International Conference on System Sciences , 1997, HICSS 2015.

[10]  Mark C. Paulk,et al.  Extreme Programming from a CMM Perspective , 2001, IEEE Softw..

[11]  Amr Elssamadisy XP On A Large Project – A Developer’s View , 2001 .

[12]  A. Cockburn,et al.  Agile Software Development: The People Factor , 2001, Computer.

[13]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[14]  Jim Little Up-Front Design Versus Evolutionary Design in Denali's Persistence Layer , 2001 .

[15]  Barry W. Boehm,et al.  Get Ready for Agile Methods, with Care , 2002, Computer.

[16]  Martin Fowler,et al.  Planning Extreme Programming , 2000 .

[17]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[18]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.

[19]  K. Beck,et al.  Extreme Programming Explained , 2002 .

[20]  Jan Pries-Heje,et al.  Is Internet-Speed Software Development Different? , 2003, IEEE Softw..