According to the Sacramento Bee, there are some big legacy software problems in the State of California! One of their legacy beasts, the payroll system in this case, is so unwieldy that it can no longer respond to necessary, legislated change in a timely manner.
No wonder there is a gap between what the Governator expects and what the people in the trenches are telling John Chiang. How could it possibly take “at least six months” to make such a trivial change?
Well it may seem crazy, but the estimate doesn’t surprise me. I’ve seen that kind of crazy many times:
- Adding a check-box to a DMV system written in PL/1: 6 months and $100,000.
- Changing the sales tax rate from 6% to 5%: 9 months and $150,000.
Par for the course when your computer system is written in a “Vietnam-era computer language.” Love that turn of phrase!
Shows how bad legacy systems can really get. But it’s not all COBOL’s fault. It’s extremely difficult to prevent computer systems in general from getting worse over time, in the face of constant change. It’s a kind of progressive fossilization that turns nearly any system into a rats nest over 20 or 25 years. We have already had requests to look at systems written in Visual Basic and even Java!
So why are these systems not “upgraded” before they get too hard to change?
One Hundred And Seventy Seven Million Dollars!!! That’s like the annual GDP of a small country. That’s like buying a bright-red Lamborghini for almost two thousand bureaucrats!
This estimate is ridiculous. The article says that this system has “tens of thousands” of lines of COBOL code, making it very small by modernization standards. A few million lines would be more typical. And Gartner suggests that replacing a legacy system can be done for maybe twenty dollars a line. So if the payroll system in question has say 100,000 lines, and Gartner is right, it would be a two million dollar project. So the estimate in this article is inflated by… by… I can’t even compute it in my head… 8850%.
I suppose I can’t blame the incumbent technology people for making estimates like that. We have lived through an era that has “proven” that modernizing a legacy system is an incredibly risky venture. So just like they taught us in Computer Science school, project estimation always involves tripling the initial (science-based) estimate and then adding one to the unit of measure, i.e. 2 weeks becomes 6 months, 4 months becomes 12 years, etc. Better to make the project financially impossible than incur the risk of failure.
So I challenge the technology people in the California government. If we can’t re-architect that system for one-tenth of the current estimate, I will eat your mainframe.
- Tom Metzger, Director of Sales Support @ MAKE


