A lot of people are talking about what went wrong with healthcare.gov. A lot of people claim to know. I don't know. There's a long list of possible problems when it comes to any software project, from technical to political. Sometimes honest mistakes are the cause; other times it's just negligence. Software is assembled from myriad components, and whether they're open-source or closed-source, there is room for failure at every step along the way.
What I do know for sure is that no one is proposing the one thing that would actually fix this kind of problem going forward, once and for all. And that one thing involves ending the free market bonanza that has led to the complete waste of billions upon billions of dollars in taxpayer money on failed (or failing) information technology projects.
The one thing is a unified programming framework, and it's something the federal government lacks. The National Institute for Standards and Technology has proposed and implemented standards for all kinds of things in government, but never has it set forth a common standard for government agencies to use when handling IT projects. That's why every federal web site looks and works differently. It's why we pay greedy defense contractors eight or nine or ten digits every year to re-invent the same wheel, in different computer languages, relying on a worldwide (and frequently not American) workforce of people who themselves speak many different languages. CGI Federal, for example, which created healthcare.gov, is based in Montreal, Canada.
Republicans will tell you that the free market solves. They are, unsurprisingly, wrong. Reliable and consistent government information technology is a problem the free market has not solved, because it's in no one's interest but the government's to solve it. What Barack Obama should do is akin to what Franklin Delano Roosevelt did in response to the Great Depression: put young people to work—not at the Tenneessee Valley Authority, but at a Government Technology Authority. By implementing and maintaining technology standards for government projects based on the latest stable open-source technologies, taxpayers would get far less expensive and far more stable software. It would make government sites easier to use. And the creation of a new executive agency dedicated to creating applications based on these standards would eliminate the need for contractors who for decades have been unable to deliver on their promises. This proposed agency would in effect be the IT department for the federal government. Right now, there isn't one.
This is a good idea for three reasons. First, young people who know how to program need jobs, and young people who don't know how to program need an incentive to learn outside of working for large companies that exploit user data. Second, government web sites are almost uniformly atrocious, and where lawyers are involved, skewed to favor lawyers over public access. (This is the main reason why I built PlainSite, which imports government data from several agencies five times a day, automatically. Even more impressive is Josh Tauberer's GovTrack. Both were built with zero government cooperation and zero budget.) Third, it would give the public a sense of what government can actually accomplish when technology is used for good, and not evil—a sense that is completely lacking in this country, but bountiful in Estonia, where technology actually is used in a sensible manner.
Is this likely to happen? No. That's probably because there's almost no one in government who knows anything about computers, with the notable exception of the National Security Agency, where they know too much. Computer scientists in Congress? Zero. Computer scientists in the White House? You must be joking. Chris Hughes—Mark Zuckerberg's non-programmer roommate who provided excellent photo opportunities for Obama's presidential campaign—doesn't count. And the so-called White House CTOs so far have been anything but impressive.
So whether the real problem with the site is missing foreign keys or faulty RAID arrays doesn't really matter. It will happen again unless some serious changes are made. And unless the government takes some responsibility for its own technology infrastructure, it will happen with increasing frequency, at increasing cost to all of us. Computers aren't going away.