Managing the challenges of legacy systems using extreme programming

Updating and maintaining legacy systems creates significant challenges for software developers. Modifying legacy applications can be a time-consuming process, which is fraught with architectural and code minefields. In many instances, the same developers, because of their specialist knowledge, and the same processes, have been used to improve these systems over an extended period of time. Introducing new practices into such an environment presents problems, on both the human and the technological level. This article reports on the experience of implementing a scaled-down version of eXtreme Programming (XP) in a small manufacturing company. How the difficulties in creating the climate for such an implementation were overcome, and the resulting benefits of the experiment, are reported here. Finally, the conclusions and lessons learned offer support and advice to others who may also be considering such an approach. Copyright © 2006 John Wiley & Sons, Ltd.