old interface new interface

Not many people like dealing with 10 year old code bases. I don’t mind it. When you have the proper tooling around the project - like a CI process, unit tests, and automated browser tests - it’s no different than working on modern code. It is different than writing a greenfield project, but anybody can do that.

At FER, I was helping to maintain their legacy code base. I started by introducing Jenkins as a CI server. This allowed us to reduce deployment times from 6 months to 2 weeks. Yes, they were doing classic waterfall 5 months of dev and 1 month of testing releases.

After some problematic releases, I teamed up with the Customer Service department to implement an automated testing suite based on Selenium and Selenese Runner.

When all that was done, and releases were running smoothly with no surprises, I decided to tackle the look and feel. For 10 years everybody thought updating the look was not worth the effort. They were expecting 6 months of just updating the look - I got the majority of work done in 3 weeks. It took another 3 to find all the old javascript and update that as well (there were 7 different versions of jQuery in use). But, in just under a 2 months (mostly part time work) we had the entire application updated, tested, better documented, and ready to go.

Updating the look actually caused quite a political whirlwind, and the new look and feel didn’t get released for - you guessed it - 6 months.