The website I’ve been working on for the last two years started life as a green field replacement for an existing system which was considered too inflexible and expensive to change. It was no doubt also significant to the decision that it was written in VB/classic ASP and no one wanted to work in them anymore. The sad truth is it took over a year to replace the system, was significantly late and over budget and in many ways actually had less functionality than the website it replaced. That’s not to say I’m not proud of the work we’ve done and it’s now an excellent platform for any future development, but I’m confident it would have been far more cost effective to have looked at ways to add the new functionality around the existing website, slowly chipping away at it the old code when it was justified by business needs.
Rather than explaining why else I think rewriting a legacy system is generally always the wrong strategy see what Bob Martin, Chad Fowler and Joel Spolsky have to say.
But anyway, what’s this got to do with Real Options analysis and planning? Taking a Real Options approach would very rarely if ever end in the decision to go ahead with a massive rewrite. The calculated risk level to return on investment involved is highly unlikely to be favourable due to the protracted timescale (compared to the incremental addition of features which will be adding value in a short period of time). Also, if you were pursuing multiple options concurrently – aware that one would be dropped once there was a clearer idea of the most appropriate strategy – you’re less likely to get into the situation where you’ve invested so much into one option the momentum and expense (with nothing to show) make it difficult to admit defeat and drop it. With Real Options you’d never put all your eggs in one basket, which is exactly what the “Big Rewrite” does do.
“Real options recognize that today’s investments give investors the choice of pursuing further investments later, if conditions appear favorable, or abandoning the project if the environment has deteriorated. The capital investment made today provides future flexibility that can and must be valued, but is often missed by traditional DCF or ROI measures. Borrowing from both finance and strategy, real options can provide a way to analyze the value of investing in initiatives made under uncertainty.” – Dave Latimer, the Global Financial Services Sector Lead for the Institute for Business Value
Real Options resources:
Wikipedia: Real Options Analysis
“Real Options” Underlie Agile Practices – Chris Matts and Olav Maassen
Calculating value during uncertainty: Getting real with “real options”(pdf) – Dave Latimer
blog.mattwynne.net : My Real Options Story

February 20th, 2009 at 3:32 pm
We did rewrite TargetProcess two years ago (v.1 to v.2). It took several months and results were good. I can’t even imagine how it was possible to refactor it. Architecture was bad, too limited, etc. I still think it was right decision.
March 10th, 2009 at 3:24 pm
Hi Rob
Not sure what a Real Option analysis would suggest. Probably that you go rewrite components in order of riskiness. Ideally from a risk perspective, you would implement each component at a time to mitigate the risk to the current business model. I would need to understand more detail to determine the approach I would go for. However you have more information which means you are likely to make a better decision than someone with none (i.e. me). Hopefully we can discuss at XTC this evening over a beer.
April 4th, 2009 at 11:50 am
[...] The “Big Rewrite” & Real Options analysis [...]