To get technology done right, the folks ‘commissioning’ it need to understand a little bit about what it takes to do it right. Case in point, the U.S. Affordable Care (ACA) website. This has generated a lot of heat, and little light due to the political stakes and opportunities associated with this particular issue. So lets ignore the politics.
Information Week points out that 40% of major IT projects fail, and I’ve heard higher percentages. And many of these projects totally fail, not just “can’t handle the traffic”, etc. In short, the expectation that this site would work was optimistic.
CNBC reports that the security for the web site may not be sufficient and MIT Technology Review points out that the complexity of the project (interoperability with 1000’s of insurance company sites, real time integration with IRS, and ‘last minute’ requirements changes) with no phased in testing process were complicating factors as well.
Software projects, particularly large scale ones with highly visible deadlines and significant social impact require extra consideration on the part of those commissioning the production. There is an emerging awareness of the need for software engineering as a recognized (and licensed) professional skill. (See IEEE Institute article.) The ACA project is just one of many where this skill set, well established and documented by the IEEE Computer Society, is essential.
So we know how to do this, but then it requires an essential understanding on the part of the people involved. Software engineering training, certification, licensing and capability maturity models can only take you so far. You need people who understand these things as well as how and when to apply them. And these people need to be on the “commissioning” side of the activity as well as execution side. Corporate or governmental leaders who think, “oh that’s a simple matter of programming” ..don’t get it. Failure to have clearly defined and comprehensive requirements is a critical part of project success. Systems like the FBI Case File point this out clearly (a contributing factor to that 100 million dollar failure was a continuously fluxuating set of requirements.)
Given the ACA challenges it was non-trivial that the site has become even partially functional.
If we can look beyond the political muck-raking, and consider the lessons to be learned from this situation we just might be able to find our way to a more satisfactory approach to applying technology to meet social objectives.
Your examples are solicited as comments below!