Update - Permanent Link
Here's a scenario where a company takes the all to common expert advice on technology. The advice I'm talking about comes from an analyst report dated September 27th - Leading Programming Languages for IT Portfolio Planning - but the advice is certainly not to this report of the authors of this report:
We recommend that enterprises consider a migration to Microsoft or Java languages and technologies. A qualifying factor in their assessment would be the degree to which their vendors align their strategies with Microsoft or Java
I've read the entire report; the reasoning used to justify this boils down to "Everyone else is using Microsoft or Java - you should as well!". I seem to recall a thing or two my mother said about "things everyone else does" - I'm sure you do as well. In a serious vein, what they don't talk about are the truly critical things you should look at in any large scale effort like the ones they advise:
- What is the business value of the migration?
- What are the risks inherent in the migration?
Those are the interesting issues, and the report ignores them. Perhaps that's due to the numbers that they themselves have turned up. Let's look at the two main issues by going through an example. I'll posit an IT shop with a large application, into which 1000 man years of effort has been spent to date. Now, let's posit that the developers will be equally productive in (insert popular technology here) as they are in (insert non-favored technology here). This is granting a lot, but it's very illustrative of the problem.
|Time to rewrite application||1000 man years|
|Cost per man year (US)||$140,000 (fully loaded)|
|Cost per man year (outsourced overseas)||$50,000 (fully loaded)|
|US based cost||$140,000,000|
Now, that's a lot of money. And bear in mind, at the end of the exercise, the IT shop has the same application they started with, with the same features - i.e., they spent all that money to stand still. If the customer used consultants for this task, the costs could go even higher - the hourly charges (using a mainstream consulting firm) could easily top $100 per hour. But at the rate of $100 per hour (2000 hours per year), the cost using consultants could easily reach or exceed $200 million USD.
Can someone explain the business value of following this advice? I'm not seeing it. The costs are enormous even if we assume a 100% success rate in such migrations, and the customer will end up with the same functionality they started with.
But it gets better. If you look at the success and failure rates - from these media reports: 40% of all IT projects fail, but that 70% of Java projects fail. And according to that article, the expectation is that .NET projects will fail at the same rate. So let's go back to the example:
- The recommendation is that you migrate a large (successful) application
- The cost of migrating will be at least $50,000,000.
- In attempting this migration, you are only 30% likely to succeed
That's right - the expert advice is suggesting that you spend truly enormous amounts of cash in an effort that is only 30% likely to succeed. I'll ask the question again - where's the business value?
The interesting thing is that I'm not the only one who has expressed this opinion on rewrites. Joel on Software has done so here and here. There are at least two very large, very public examples of companies following the advice laid out in the report:
- Netscape, with the Javagator project
- Corel, with the WordPerfect to Java project
All the things I said above applied - and both projects crashed and burned. Netscape actually didn't learn, and rewrote from scratch in C and C++ - and their market share went from 50% to 3% during the four years that they released no new versions. Corel nearly died in their attempt, and was severly weakened.
I've seen this in my customer base as well - many attempts to migrate existing, working Smalltalk applications to Java. Some succeeded, most failed. Even the successful ones spent huge sums of cash, and ended up with exactly what they started with. The opportunity cost of that is huge - what new value could their IT shops have been providing had they not been on a project to duplicate existing functionality?
That's quite a ramble, but my question is the same - What is the business value derived from following the migration advice?