Healthcaregov problems What 5 million lines of code really means

pPhoto by Denis BelyaevskiyiStockThinkstockppLast weekend some anonymous specialist told the New York Times that 5 million lines of software code may need to be rewritten in order to fix the mess that is healthcaregov The good news according to the source is that the project has a total of 500 million lines of software code so only 1 percent has to be rewritten So the codes 99 percent goodor somethingppI dont mean to jump back on my hobbyhorse of complaining about lack of knowledge in tech journalism but printing a claim like that is egregiousppWhy Well heres a line of C codeppppThe close curly brace signals the end of a block of code It could be put on the same line as the previous more substantive line but for the sake of cleanliness programmers tend to put it on a line of its own When it comes to coding in HTML Perl and AJAX different programmers have different styles Some will split code up into many lines others will compress it into a handful of lines Ive seen nearly identical segments of code written in 10 lines or in 50ppHeres another line of C codepp TODO make sure this code doesnt crashppThats a comment It doesnt do anythingthose two slashes at the beginning tell the compiler which converts code into actual computer instruction to ignore the line Its there to explain things to people reading the source code or in this case to remind the programmer to fix whatever lies immediately below Ive written cryptic bits of code that required more lines of comments than lines of actual code simply to explain what on earth was going onppOn the other hand heres a line of APL A Programming Language codeppRRRR1ιRppThat code prints out all the prime numbers from 1 to R APL is a notoriously terse and nightmarish language I have successfully avoided ever coding in it One single line of APL code could contain half a dozen bugsppSo not all lines of code are created equal As a programmer I had weeks where I produced 1000 lines of code I had weeks where I produced 20 Usually the latter weeks were more grueling because any 20 lines requiring that much time and effort are going to be a important b complicated and c bugprone The 1000 lines were far more likely to be simple stuff that I could code by rote I even had weeks where I removed 2000 lines of code by removing redundancies between similar blocks of code Those were the best weeks of all because less code means fewer bugsppProgrammers who do user interface codewhich is responsible for the visuals and input components of softwaretend to produce far more code than other programmers because user interface code requires a lot of boilerplate I knew programmers who wrote 10000 good lines of user interface code in a week Many of them were copied and slightly modified from other projects or example codeppConsequently its rather silly to say as the Times article does that a large banks computer system is typically 100 million lines of code Investment banks have far more complex code than commercial banksthey need more in order to do all their clever sneaky trading Assuming the Times is referring to commercial banks there is such variety among implementations and coding standards that speaking of an average amount of code is meaningless Bank code written in FORTRAN will be far longer than bank code written in Python Does it make a difference Not reallyppBut while the numbers in the Times article dont tell us much about the healthcaregov codebase itself they do tell us something about the specialist sources that inform the article The sources are not programmers because programmers would not speak in terms of lines of code with no further context We hear that disarray has distinguished the project in part because government officials modified hardware and software requirements for the exchange seven times The officials probably modified them 70 timesrequirements for any software project are constantly in flux and its expected that project managers and software engineers will adapt Modifications alone do not signal a project in disarrayppWe hear that the Centers for Medicare and Medicaid Services CMS lacked the expertise to link the individual pieces of healthcaregov together That does not explain why the data hubthe single component provided by Quality Software Services Incproved to be a particular source of trouble something I had surmised two weeks ago If individual contractors were producing garbage CMSs expertise or lack thereof wouldnt have made a difference to the final productppThe sources also say that CGI Federal which won the 90 million contract to develop healthcaregovs back end was asked to replace the data hub though this approach was abandoned as too risky Thats a hint that the articles sources seem eager to shift the blame to CMS to the White House and to QSSI and away from CGI The Times claims that CGI was not responsible for healthcaregovs integration but the Washington Posts Lydia DePillis reports that CGI Federal was in fact responsible for knitting all the pieces together making Quality Software Services data hub work seamlessly with Development Seeds sleek user interface and Oracles identity management softwareppI have no idea who the Times sources were but they sure sound like employees of CGI Federal Because they almost certainly arent programmers Id guess they are probably mid or highlevel managers who are trying to salvage CGI Federals reputation They may well be specialists but their specialty is more likely the art of procuring government contractsppThis is to be expected Whats less expected is that such anonymous sources would be treated with this degree of credulity by national reporters who lack technical understanding of their subject matter and are thus more likely to parrot whatever a specialist tells them The Times has a great tech reporter Natasha Singer who has done wellinformed work on consumer profiling taking little for granted They should put her on this storyppSlate is published by The Slate
Group a Graham Holdings CompanyppAll contents
2025
The Slate Group LLC All rights reservedp