Wednesday, November 4, 2009

massive software design fail and why a $1.2T health care bill is doomed to the same thing

I found out about the existence of this project when the company I work for was tasked to do some clean-up work on the training videos (note: the opinions expressed here are mine and mine alone and not those of my employer). For some background on AHLTA, I'd point you to this article. While the author wants to pin the blame on the "Bush administration", it's really the same story that's been played out time and time again in the quixotic quest to develop an electronic medical records system for a government run health care system (the military). The "Obama administration" is just as likely to launch the same failures (if not larger ones due to the increase in willingness to expand federal spending by adding to the deficit and creating more bureaucracies).

Today it was finally announced that the Army is halting deployment of the system, and my guess is that it's going to be scrapped.

Bottom line: around $30 Billion and almost 5 years for something that has absolutely zero utility, is completely user hostile, and cannot be re-used in any way. The money and time spent on the project are just gone. Poof. Game over, man. Game over.

The reason this boondoggle got to be so bad? Each time someone stepped up and said, "This is crap and it doesn't do what it's supposed to do" they were stamped back down by superiors who were afraid of how it would look if they admitted defeat and wrote off the money already spent on the project. Yeah, I'd be pissed off (as a taxpayer) if they had canceled the project in Sept 2008 when the price tag was $20 billion... but at least they would have saved a year and $10 billion off the effort.

But here's the problem. Technically, nothing went wrong with the development process of this system. Studies were done, requirements were gathered, development schedules were created, and contract officers signed off that the requirements were met. The contractors did exactly what they were told to do and produced exactly the software that the Army asked for.

Not the software they needed.

This is a $30B illustration of the absolute failure of old design philisophies, specifically the ones that rely on the end user to know both what their requirements are and what the language should be to describe them. Agile development techniques have cropped up in the private sector over the past decade and have found success in smaller businesses (or divisions inside of larger organizations) where the developers can maintain contact with the end users and subject matter experts to address design issues. Requirements-based development, however, forces developers to guess on design issues, or worse, leave the question to be hashed by a committee of people who won't be using the system, don't know the subject matter, and commonly don't even use the same terminology for the various parts of the system .

Because government contracts (and large enterprise projects) are so large and so much money is at stake, the decision to use agile development techniques is usually discounted. The bias seems to be, "Well, that's not the method we used to develop this other $10 billion project" and completely ignores the fact that that other project also failed to deliver software that the users truly need and has only succeeded because employees were ordered to use it and work around the problems.... if the project is lucky and isn't scrapped entirely after launch.

AHLTA isn't the first example of this, either. The FBI was forced to give up on a $10 Billion project to improve their information infrastructure. The IRS blew $20B. Even the concept of electronic medical records itself isn't new... it's been attempted many times under many different initiatives by various groups in the DoD since at least the 1980's.

The endemic problem here isn't the contractors, it's the fact that there is a bureaucracy that's left in charge of the project. There is no single person with the power to say, "This is fail. Try again," until the project is completed and the money is spent. Both structure of the contract -- and in the case of government project, laws -- prevent shifting the focus of software development from simply implementing a laundry list of pre-determined features into a user-needs oriented development model. That's why I believe it's a fallacy to pin it on any "administration". It's the mid-level officials who keep the same jobs between administrations that are jacking things up and sheltered from the consequences of failure to act.

What I find truly scary about all this is that we now have a bill sitting in Congress that allocates $1.2 Trillion for spending on health care for the public. A large portion of that money is meant to fund a switch to EMR for the public and its premise is that we can reduce the cost of health care if we can reduce the cost of managing health care information.

If we can't get this right for just dental coverage of 3 million people in the Army, how in the hell is this method supposed to work for 330 million across 50 states? Just at the IT level... forget the adminstrative stuff.

No comments: