There are a lot of interesting software engineering lessons in the troubles that the healthcare.gov is experiencing, as described by internet pioneer Clay Shirkey:
(Note: the article and this blog post are not about the politics of Obamacare, but rather the design and engineering issues around complex software systems.)
Some of the lessons learned included:
(1) Bad news early is good because it allows a team to respond to and fix problems earlier in the software design cycle.
(2) Accept the reality that things might fail. By insisting that "failure" was not an option, senior managers made the web sites failure more likely by creating an environment where news about site problems was suppressed rather than used to quickly respond to and address design and implementation problems.
(3) Testing a working version of the software from the earliest stages of its development allows for continuous integration and testing to keep software functional and working throughout its development phases.