I'll start by introducing myself, because it has some small relevance to the topic: Hi, I'm Welt, long time lurker, very occasional poster and I almost never write diaries. I'm a software engineer that has been in the industry for 15+ years. Having cut my teeth during the crazy days of the dotcom bubble, I've worked at quite a few places. From giant chip manufacturers to mom and pop startups. Five of my fifteen years were spent working on an earmark funded defense industry related startup. Hindsight being 20/20 it was a project destined to fail from day one, for a variety of reasons, none of them being technology. While this is neither here nor there, because of my time in the defense sector (so to speak), I look at much of our defense budget as wealthy white guy welfare.
I recently stumbled upon this write-up on some of the stumbling blocks that Healthcare.gov went through that has some excellent specifics about the process failures in government contracting that lead to the failures of Healthcare.gov (and plague the government):
If you want an IT project to fail, allocate a bunch of dollars to it. If you want it to be a total disaster, do that, plus let Congress design the requirements and set the deadlines. The disconnect between Congress’ view of software and the developer’s view of software has never been more vast. Then you have a force multiplier: Congress’ seemingly willful ignorance over how the procurement process actually works.
If you'll join me below the fold, I'll give you my somewhat snarky take on what I believe is wrong with the process:
Imagine doing your job while reporting directly to 536 bosses. Each is the equivalent of a VP level position and they each have a staff of workers who exist for no reason other than to help their boss advance within the company (i.e. they are not there to directly assist you in your job, they are only staff that exist to support their boss's job). About half of those 536 bosses are directly at war with one another. Everything in your job requirements is put together by a bare majority consensus of the group of warring bosses, and thus the process creates extremely vague requirements that do not in any way to take the process of actually doing your job into account.
Now add to that not only will every piece of your work will be checked by those bosses, but also every step you took towards making the work happen will be checked, and every step along the way will be scrutinized to make sure it was the most efficient possible way to make that step and followed company procedures with zero deviation. Not only will all of the bosses be scrutinizing your work, but the staff of all those bosses will be scrutinizing your work AND the staff's job is to find things wrong in your work and they are rewarded only for finding problems in your work (either the process or the end product, wherever they can find issues, it doesn't matter).
Further, each of your bosses has one to many other people who are vying for that bosses position. And each of those new job candidates has THEIR OWN staff that exists to scrutinize your work to make sure it doesn't reflect poorly on ANY ONE of your bosses. Also, each of your bosses and each of those people looking for your bosses' jobs has a budget (ranging from thousands to millions of dollars) that exists ONLY to look for issues with your work, no matter what you cannot tap into that budget to help your project.
Now finally imagine that your job is working with computers, and you have to do all of the above described work while following thousands of company guidelines and best practices, most of which were created before computers were common place (and many of which were created before computers existed).
All of the above may come off as a condemnation of the government and a call for privatization, but that couldn't be further from the truth. The private sector is no less prone to systemic failures of this kind than the public sector. I believe as long as we have polarized politics gnawing away at our government, it will be almost impossible for good people to get good things done. That is not to say "both parties do it!" or anything of the like, there is clearly one group of anarchists that want to get in the way of progress, but we need to prepare ourselves for fiascos like Healthcare.gov's rocky launch for as long as we have these anarchists in our midst doing everything they can to destroy government.