Monday, October 21, 2013

ObamaCare has HOW MANY Lines of Code?

Healthcare.gov continues to amaze.

This morning's headlines contained this gem:
5 million lines of software code needs to be rewritten...
That link takes us to a National Review site that then cites this New York Times article which, among other things, says:
One specialist said that as many as five million lines of software code may need to be rewritten before the Web site runs properly.
Five Million?  Really?  It gets better:
According to one specialist, the Web site contains about 500 million lines of software code. By comparison, a large bank’s computer system is typically about one-fifth that size.
The mind boggles.  I've only been writing code since 1962 so maybe I don't have the experience necessary to judge the veracity of these estimates.  But, why not let an old guy supply a memory dump at this point.

  • In the early spring of 1972 I decided to leave graduate school at the University of Minnesota and go to work for a living.  I interviewed for a job at a company in St. Paul running ads in the Minneapolis paper.  The name, long forgotten.  They had at least one programming standard: "nine hundred lines of debugged code per programmer per month."  Lines of Code (LOC) is probably the worst measure even introduced to any discipline (discipline is a term I use cautiously when discussing programming.)  See this for a discussion.  I drove home laughing.  "Wow, are those people going to get some big programs!"
  • When IBM introduced the System/360 in the early 1960s the Operating System and other software was almost an afterthought.  Well, not quite.  It was a collection of programs designed to fulfill all of those Marketing promises.  "Yes, we have a COBOL compiler that will run on your 32K, multiprogramming, IBM 360 model 30."  IBM nearly went bankrupt, more than a few developers suffered nervous breakdowns and Fred Brooks was able to distill it all down into a single classic book on managing software development.  By the way, nobody ever compiled COBOL on a 32K System 360.  And nine women still can't produce a baby in one month!
  • My only personal contact with System 360 software development came in the early summer of 1967.  I was interviewing for a job with IBM near San Jose, California.  After flying in to SFO, I rented a car and drove down the uncrowded freeway south past the cornfields to pick up my interview schedule from Personnel (Human Resources hadn't been invented yet).  One session was at the site where the 360 Assembler was being supported.  I'm sure the facility was temporary and has long since been abandoned.  The hiring manager showed me what took place.  Problems with the assembler from the field were sent to this facility.  He picked one up.  A large plastic bag contained a listing on 11"x14" green-bar paper, a deck of punched card wrapped with a rubber band and a two page problem description.  His staff read and analyzed the contents of these bags which were abends from the field that couldn't be handled at the local offices.  How many were there?  I didn't ask - I should have.  It would make an interesting historical footnote.  But I did realize that this converted warehouse or aircraft hanger had a lot of cubicles.  At one point, I stood on my tiptoes and looked out above the six-foot partitions.  It was cubicles as far as the eye could see.

    It wasn't this building at Moffett Field

    But it might as well have been.
I think of that interview any time I read about a major-league software disaster or drive anywhere in San Jose area.

So:
I wish I had a nickle for every development tool and technique that "reduced coding effort to a fraction of its previous size."  Third-Generation Languages - Fourth-Generation Languages - CASE Tools - Object-Oriented-Programming.  The list goes on and on.

But, apparently, the standard productivity output remains less than a thousand lines of debugged code per programmer per month.  But after fifty years of progress, it now takes 500 million lines to build a system instead of a few thousand.  Here's to progress!



No comments:

Post a Comment