Whether you’ve tried to enroll for medical insurance or not on the much-maligned Healthcare.gov website, you’re sure to have heard how bad it is. Those who have tried to use the federal site have found the sign-up process long and involved, if it works at all. And news reports have suggested that the code that supports the site runs to 500 million lines.
I’m not a programmer, but I will go out on a limb and say that sounds like a lot of Red Bull, pizza, all-nighters and chair massages at Healthcare.gov code headquarters, wherever that is.
The data visualization site Information Is Beautiful tried to put that mountain of software instructions into context with a graphic that compares that 500 million lines with software that runs other systems we’re familiar with — everything from a typical iPhone app (about 30,000 lines of code) to a cardiac pacemaker (100,000) to a military drone (about 3 million) to Facebook’s back-end code (about 60 million lines) to the genome of the mouse (about 120 million base pairs of DNA).
So: 500 million lines? Yes — that’s a whole mess of code.
But on further review, programmers quoted by other media sources, such as blogger Andrew Sullivan, say the idea that the software driving Healthcare.gov employs a half-billion lines of code is ludicrous. Here’s the reasoning behind one of the programmer critiques whom Sullivan cites:
Over many years of research, programmer productivity in lines of code has been observed to range from 3,200 lines per year for small projects, down to just 1,600 lines per year for very large projects. Using the typical numbers for large projects, 500 million lines of code would require 312,500 man-years of programming effort. If true, that would involve the participation of just about all programmers in the US for a full year, and at an average $100K in salary and benefits, an investment of an amount approaching the entire defense budget!
That programmer also notes that the real scandal behind Healthcare.gov is that “the Healthcare.gov web site is a project of moderate scale and complexity. If it really were such a monster, the failure could be excused – but given the modest scale of the actual project, screwing it up so badly is inexcusable!”