April 11, 2007
We’ve recently been talking about the next round of under-the-covers clean up work at Trade Me.
In the last couple of years we’ve migrated all of our sites from VBScript to ASP.NET and made some pretty major changes to our development and testing process. It’s been a lot of hard work, but the results have made it well worthwhile.
However, the ground is constantly shifting. There are always further improvements to be made. You’re never finished. Sometimes it can feel like you need to run just to stay still.
In all of this I was reminded of an excellent 37signals post which contained this insight:
The business is not going to slow down to allow you to clean all these things up one wonderful day. It just won’t happen.
Sometimes the amount of work involved in these sort of improvements is daunting - for example, thinking about adding automated unit tests to a large code base that has never been written with testability in mind can seem like an impossible challenge. But, unless you change the way you are working now the gap between where you are and where you want to be is only ever going to get bigger and bigger.
To make an application more capable over time it’s important to include enough time in the schedule to remove scar tissue. But you also need to stop cutting yourself.