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. 
 
eXPerience Software |