XP Home

A Simple Design is Easier to Maintain

Lessons Learned

 We had to rebuild the VCAPS system at Ford. The original system was using an unsupported version of GemStone for a database. There was no way to upgrade to the new version directly because the system was too complex.
 We created what we called the Replicator to move our data from the old system to the new. Months were invested in it's construction. But the Replicator had a great deal of flexibility and was built as a framework.
 As the new system was being implemented we often had to change the Replicator. But it was so complex that making changes was hard and slowed us down. We had to have someone on the Replicator full time just to maintain it. When ever any team member needed a Replicator change they have to wait until the Replicator guy (a.k.a. Repli-Gator) could do it.
 The only thing to do was get the team together to design a better solution. As we
worked through various ideas we came up with a couple good ones. We did spike solutions to see which would work the best.
We then wrote automated unit tests as we were creating the new Replicator so that we could refactor out complexity when ever possible. When we finished the new design in a few weeks and we had about 1/6th as much code.
 This new system didn't have a framework like base. It just did what it needed to do and no more. We found it to be much easier to maintain and much easier to add just what we needed as we needed it. We found that we could collectively own it as well. Now anyone could quickly change it themselves as needed.

Don Wells
eXPerience Software

ExtremeProgramming.org home | XP Lessons Learned | Next Lesson | Email the webmaster

Copyright 1998, 1999 J. Donovan Wells all rights reserved.