I’ve decided to eliminate the “complete overhaul” from my array of options. It’s such a tempting proposition — redesign exactly the way we want it and everything becomes more efficient. The problem is, I’ve never been part of a complete overhaul that worked out that way.
My previous company made its living acquiring and streamlining e-commerce properties. In a few cases, the properties were up for sale as a result of a disastrous complete overhaul. Overhauling a shopping cart consumes development resources, can destroy search engine rankings, breaks external integrations, forces everyone to retrain on a new system, and causes other wrinkles that can take years to sort out.
Even though I had witnessed the follies of complete overhauls second hand, that did not stop me from pursuing them on my own. In a few acquisitions, burdened with unfamiliar legacy code, I decided to just rebuild from scratch. The outcome was invariably less amazing than the vision. I never had a disaster, but I doubt I ever reached a positive ROI on the efforts.
The point of positive ROI brings me to why I think complete overhauls are wasteful. For Internet companies, there is too much uncertainty and change to forecast returns on big efforts now, for years into the future. Chances are that by the time you’ve sorted out the kinks in one overhaul, you’ll be finding reasons for yet another overhaul. Changes in small increments, made as frequently and quickly as possible, seem to be a much better route.