Monday, October 14, 2013

Healthcare.gov: Not Good Enough For Government Work

As a professional software developer and having spent over nine years in the field, I am mildly amused that Healthcare.gov is having so much trouble with their “services.”  Having lived on the rim of insanity most of my life and seeing so many people work for the Federal government either directly or indirectly through contracting, it comes as no surprise that a government-created website would fail.

I do not work for a government agency or contractor.  I never have worked for a Federal government contractor nor agency.  I sometimes wonder what it would be like to earn six figures and have less knowledge and experience than I do now.  But I remember that the Federal government basically runs a series of Ponzi schemes and engages in massive wealth redistribution and it’s better that I not infect others with my awesomeness through the USGov machine.

On why it has failed, I can think of a few reasons, given my own experience:

  • There was no testing done with the website.  At least no adequate testing.  What is more than likely to have happened is that the developers simply cobbled together a website and ran it on their local machines.  No performance testing was done.  No extensive quality control.  I’d be surprised if they had set up automated unit tests to ensure that their business rules weren’t broken when they made changes.  What probably happened is that the developers ran the website and just made sure it was functional.
  • The business requirements of the website were more than likely extreme and absurd.  This is to be expected when it comes to government requirement.  My guess is that Baby-killer friend Kathleen Sibelius herself was involved in many of the user requirements when it was designed.  In any case, the business logic of the website appears to be complicated and overdone.  The thing about websites and software development is, the simpler it is, the less likely it can go wrong.
  • There was probably very little design that went into development.  More than likely, the developers got the user requirements and just started throwing together a website.  While I don’t think they should have spent a whole lot of time on the design, they definitely didn’t do much of one.
  • Lack of third-party tools is another big fail.  In a system that registers users, a CRM base would have been easily used.  More than likely, however, is that the entire system was built from scratch.  This is not a good way to go about developing, especially when you’re going to have a larger pool of money than a private business.  I suspect, however, that there are certain requirements when it comes to developing software for government though and that my have prevented key third-party tools from being used.
  • More than likely, the Department of Health and Human Services dragged its feet on getting this website development going.  This meant that the developers had a limited timetable to get the website done.  Although I can’t imagine it taking more than a few months to complete.
  • More than likely, the developers were not experienced in developing websites for clients who had high traffic volumes.  If the website was solidly built, then fixing the high-volume traffic would be a simple matter of moving the site to a server system that can support it.  If that were the case, the site would be working.
  • The developers themselves were incompetent.  I’ve seen this happen before.  Basically, the developers were hired because of their credentials and because they are here on a work visa.  This is not to knock foreigners when it comes software development expertise, but when you have a solid professional working for less than the median average because you could deport him or her at any time, you are not going to get quality work.  I’m betting the development company that was contracted out had a slew of these kind of workers and looked at software development as akin to working an assembly line.  It is not.
  • EEOC restrictions probably hampered good development as well.  The Equal Employment Opportunity Commission once visited a company I worked for when they were trying to get a contract with the Post Office (fell through).  After looking over our department, they told my boss that he needed to hire more women.  Never mind that at the time we had only two white men (myself included), a handicapped Ethiopian, a Korean, two Nepalese people (my boss included), and a handicapped Indian.  No, our diversity required women.  My guess is that rather than hiring capable people, this software company probably hired based on race and gender first and foremost.

I’ve talked with seasoned developers during my career.  I can say that government work, be it direct or indirect, is not exactly a rewarding career path.  Sure you’ll probably make well above the median income for what you do, but at the same time you won’t do much.  And when you are doing something, it will either be stripped down or fail.

Good enough for government work, right?