I have worked for a number of government agencies and large contractors. This story does not surprise me in the least. What WOULD surprise me is to find a story where one of these large scale IT projects actually got completed on time and on budget. Now there's a story.
Probably a rehash for some but here is, in my opinion, the reasons these projects continue to fail:
1) The procurement and bidding process is flawed, particularly at the federal level. Many firms are forbidden to place bids on projects because that lack this or that credential. As a result, it's the same old players time and time again. IBM. Deloitte. Oracle. Honeywell. Lockheed Martin. Both the Democrats and Republicans know that it's broken and both of them have had a chance to fix it but don't.
2) Governments insist on doing "fixed bid" (i.e. flat rate) projects. In my experience, fixed bid projects almost always turn out poorly, Particularly for large scale projects. What ends up happening is that the project (for whatever reason) falls behind. But the deliverable dates stay the same. Eventually the contractor has to either go back and ask for more money, do the work at a loss, or start cutting corners.
3) Government managers, by and large, don't understand the concept of a budget. Often there are no consequences for finishing late or going over budget. They will still have a job tomorrow.
4) This one happens every time...you go into the project as 50/50 partners with a commitment from the client that they will devote X number of hours per week to the project and hold up their end. The problem is that the government managers have other stuff to do and can't devote X number of hours per week. If you're lucky you get X/2 hours per week. So critical decisions have to wait and delays occur.
5) For some government managers, big big projects are something they have no experience with. Last week they were trying to decide what color coffee maker to get for the break room. This week, they are installing SAP.
6) From the article..."It was supposed to replace 54 separate, antiquated computer systems used by state Social Security offices to process disability claims.". That is not a misprint. 54 antiquated systems. That is a huge undertaking. I would be willing to bet that at least a few of them have no documentation whatsoever. And the only person that knows how to run it retired a few years back. Good luck trying to unravel that mess.
7) The magic bullet theory. Time and time again I hear these management bozos (not just government ones either) spout off about how 'Software package X' is going to revolutionize how you do business..massive efficiency...streamlined processes. Bullshit. The software is only going to be as good as the decisions that are made along the way. And if you make mistakes on a few major decisions these really large software suites (SAP, etc.) can be nearly impossible to change once you start using them.
8) Team members that don't have a stake in the success of the project. Joe in accounting has been using the old antiquated system for the past 23 years. He's retiring in a few years. Do you really think that Joe wants to learn a brand new system? Not fucking likely. He won't get a raise or a bonus for all the extra work and he'll end up having to train his replacement. Meanwhile, his government manager has limited options for those that don't want to play.
9) Managers are unwilling, or unable, to change their convoluted business processes that are the root cause of these un-maintainable systems in the first place. Politics.
10) Lack of documentation. More than once I have been on projects where there is not a single page of documentation describing how the current systems works or what to do if something goes wrong. So you have to sit down and figure it all out yourself and that can take a lot of time.
Typical client exchange:
Me: "So tell me, why do you process Voucher payments in this fashion?"
Client: "Cause that's how Joe showed me to do it when he trained me."
Me: "And why did Joe do it that way?"
Client: "Beats me."
Me: "Is Joe around? Can we meet with him?"
Client: "Nope...Joe retired 2 years ago."
Me: 'Hmmmm...did he leave any notes or documentation?"
Client: "Are you kidding? He wasn't exactly a go-getter if you know what I mean."
Me: "Didn't his manager ask him to document things before he retired?"
Me: "Looks like it's going to be a long night...."