Rewriting code can be startup suicide

Programmers and architechts love to rewrite code. To finally get it right. 100% right. But it seldom happens. Rewriting code often kills startups. So be warned!

A post from VentureBeat by Steve Blank has the whole story. Here is the last part:

CEO’s face the “rewrite” problem at least once in their tenure. If they’re an operating exec brought in to replace a founding technical CEO, then it looks like an easy decision – just listen to your engineering VP compare the schedule for a rewrite (short) against the schedule of adapting the old code to the new purpose (long.)
In reality this is a fools choice. The engineering team may know the difficulty and problems adapting the old code, but has no idea what difficulties and problems it will face writing a new code base.
A CEO who had lived through a debacle of a rewrite or understood the complexity of the code would know that with the original engineering team no longer there, the odds of making the old mistakes over again are high. Add to that introducing new mistakes that weren’t there the first time, Murphy’s law says that unbridled optimism will likely turn the one-year rewrite into a multi-year project.
My observation was that the CEO and VP of Engineering were confusing cause and effect. The customers aren’t asking for new code. They are asking for new features and platforms – now. Customers don’t care whether it’s delivered via spaghetti code, alien spacecraft or a completely new product. While the code rewrite is going on, competitors who aren’t enamored with architectural purity will be adding features, platforms, customers and market share.
The difference between being able to add them now versus a year or more in the future might be the difference between growing revenue and going out of business.
Perhaps the most dangerous side-effect of embarking on a code rewrite is that the decision condemns the old code before a viable alternative exists. Who is going to want to work on the old code with all its problems when the VP Engineering and CEO have declared the new code to be the future of the company?  The old code is as good as dead the moment management introduces the word “rewrite.”
As a consequence, the CEO has no fallback. If the VP Engineering’s schedule ends up taking four years instead of one year, there is no way to make incremental progress on the new features during that time.
I suggested that this looked like a failure of imagination in the VP of Engineering  - made worse by a CEO who’s never lived through a code rewrite – and compounded by a board that also doesn’t get it and hasn’t challenged either of them for a creative solution.
My suggestion to my friend? Given how dynamic and competitive the market is, this move is a company-killer. The heuristic should be don’t rewrite the code base in businesses where time to market is critical and customer needs shift rapidly.”Rewrites may make sense in markets where the competitive cycle time is long.
I suggested he lay down on the tracks in front of this train at the board meeting. Force the CEO to articulate what features and platforms he needs by when, and what measures he has in place to manage schedule risk. Figure out whether a completely different engineering approach was possible. Making the wrong choice on this sort of matter can crater a company. This was something that was worth the brawl at the board meeting.

Populære innlegg fra denne bloggen

Predicates in Core Data

InvestorForum by VentureLab in Oslo a success story #startups

How To Disable Google’s Personalization Of Search Results