Experiences of Using Extreme Programming to Support a Legacy Information System Migration Project

In the recent years, the software engineering community has been showing a growing interest in agile development methodologies. These have emerged out of the need for faster, more flexible and efficient processes for software development. Currently the best known agile method is extreme programming (XP). XP addresses issues concerning changing requirements and their cost by simplifying management tasks and project documentation. XP uses an iterative and incremental software process executed in relatively short cycles. Traditionally this type of approach would yield an increased management overhead because the management activities related to the ending and starting of iteration have to be executed for every iteration, while in the XP process these activities are minimized. Currently, there are lots of experience reports available on applying the XP method to different types of software projects. However, there exist very few experience reports of XP projects where the database is the most central issue of the project. Thus, the objective of this paper is to report and examine experiences and empirical data while using XP practices to support a legacy information system migration project. The work was performed during 4 months, with a total effort of 1056 hours. The project followed the agile methodology principles by applying a series of XP practices (e.g. planning game and small releases). Two previous migration attempts had failed. These efforts had followed the traditional waterfall approach, finishing already in the design phase, producing mainly design documents, but no description of the technique for transferring the data. In addition, the design documents produced were highly complicated and did not completely correspond to customers' needs. This paper attempts to understand the reasons for these failures, while also compiling a list of lessons learned. This study brings empirical data supporting the idea that XP practices and documentation for need are applicable not only to pure development projects (where source code is the most important result), but also for other types of software projects, where the main activities may be design (not product) oriented. The project was an engineering success, managing to find solutions to migrating data to the format required by the new information system. The migration itself is planned to be carried out in the near future.

[1]  Graham Wright eXtreme Programming In A Hostile Environment , 2002 .

[2]  Pekka Abrahamsson,et al.  New directions on agile methods: a comparative analysis , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

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

[4]  Peter Schuh Agility and the Database , 2002 .

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

[6]  Kent L. Beck,et al.  Embracing Change with Extreme Programming , 1999, Computer.

[7]  Pekka Abrahamsson,et al.  On-Site Customer in an XP Project: Empirical Results from a Case Study , 2004, EuroSPI.

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

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

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

[11]  Charles J. Poole,et al.  Using Extreme Programming in a Maintenance Environment , 2001, IEEE Softw..

[12]  Ron Jeffries,et al.  Extreme Programming Installed , 2000 .

[13]  Laurie A. Williams,et al.  The xp programmer: the few-minutes programmer , 2003, IEEE Software.

[14]  Pekka Abrahamsson,et al.  Extreme programming: first results from a controlled case study , 2003, 2003 Proceedings 29th Euromicro Conference.

[15]  Scott Ambler,et al.  Agile Database Techniques: Effective Strategies for the Agile Software Developer , 2003 .

[16]  Scott W. Ambler,et al.  Lessons in Agility From Internet-Based Development , 2002, IEEE Softw..

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

[18]  Robert C. Martin Agile Software Development, Principles, Patterns, and Practices , 2002 .

[19]  Torgeir Dingsøyr,et al.  Extending Agile Methods: Postmortem Reviews as Extended Feedback , 2002, LSO.

[20]  Pekka Abrahamsson,et al.  Extreme programming: a survey of empirical data from a controlled case study , 2004, Proceedings. 2004 International Symposium on Empirical Software Engineering, 2004. ISESE '04..

[21]  Pekka Abrahamsson,et al.  Self-Adaptability of Agile Software Processes: A Case Study on Post-iteration Workshops , 2004, XP.

[22]  Pekka Abrahamsson,et al.  Improving requirements management in extreme programming with tool support - an improvement attempt that failed , 2004, Proceedings. 30th Euromicro Conference, 2004..

[23]  Peter Bailey,et al.  Managing XP with Multiple or Remote Customers , 2002 .