I recently followed a discussion about this topic on : http://mervadrian.wordpress.com/2010/06/24/migrate-from-mainframe-to-what/ and could not help thinking back. Last year at a GSE conference in The Low Lands, I again met with a systems programmer who works for a bank. About 5-6 years ago, their management was convinced that migrating to a "more modern platform" would be a strategic move that would help them save a lot of money AND add a lot of business value. The systems programmer and I meet at every GSE meeting so year after year I was informed about the progress.
How did this project end? As you might guess, it was delivered too late, budgets were severely overspent, with an application that could not handle heavy loads and with a server farm and administrators that far outnumbered (both in numbers and in money) what they initially budgeted for. Not to mention the fact that the mainframe had to stay in business about 3 (THREE) years longer than expected. This is not the first time I have seen it and unfortunately, it will not be the last.
What went wrong here? Well, this is what likely happened:
First of all, the reason for the decision --- a "more modern platform". As far as I am concerned, the IBM Mainframe IS a modern platform, unless you do not really KNOW the platform. And as you can see in the blog, sometimes, the modern platform is so modern that adoption of it may not even take place on the scale it was expected/promised.
Second of all, cost. The project mentioned above will not have an ROI of less than 6 years. Too long for a project like this and caused by a few scary assumptions:
- The costs that are in the Mainframe Cost Centre are really JUST mainframe costs (which is NEVER the case in my experience)
- The cost for running the new environment is always initially too low. A complex Mainframe application turns into a very complex distributed application which is complex to manage. No matter what people promise you; managing 1 box is simpler than managing 30-40-50.....
- The cost of re-developing a working Mainframe application is also ALWAYS much higher than expected. Years of knowledge will not transfer as easy as people think.
Thirdly, lack of deep knowledge of what the mainframe really does and why it is so reliable. People who now manage IT Departments of people who give you expensive advice have not grown up with the concept of a Mainframe. The projects they know (Windows, Linux, Web and Server Farms) on what they do not know (the Mainframe) and this simply cannot be done. It's like asking someone who has always built houses to build a complex manufacturing plant. Things are simply too different.... It often simply blows the minds of consultants once they find out what the 4-5 Mainframe Administrators really do. I have seen their faces when they did the calculations in their minds! They simply don't know, because they do not ask and also because it is not in some people's interest to tell them.
In our industry, we often find that we are still in our infancy. Decisions are often still based on emotions and we tend to "stick with our original decision" even though we find new facts while the project evolves. Only when we have facts, should we make decisions like migrating applications to "a more modern platform"... Real facts, not statements we THINK are facts. Do our current IT cost centers really properly reflect the IT costs or do we use "rule of thumb industry standards" that have not changed in the past five years? In other words, we should do our home work better, with less emotion. More modern does not automatically mean "better for the business" and ultimately, that's the only thing that counts.