The past couple of weeks have seen a media frenzy over the technical difficulties with the rollout of healthcare.gov. Politicians have jumped on the opportunity to turn what is in essence a botched product rollout into a story about broken promises and failed policy. But is that really what the story is about? I suggest the simple truth is that the process of developing the healthcare portal totally broke a couple of fundamental tenets of product development.
Let’s look at some numbers. Depending on your source, the development of the website and the linking of associated systems and databases is supposed to have taken over a year, cost anywhere between $75 million — $350 million, and involved at least three contracting firms and as many as 55 total sub-contractors. At launch, the site, which was supposed to handle 60,000 planned concurrent visitors, started failing at 1,100 concurrent users. There were a wide variety of issues: login timeouts, people’s plans being cancelled or purchased multiple times or simply dropped, navigation issues, and more.
Compare that to Bright, which has been built at a fraction of the cost of the government site, handles multiple thousands of concurrent users and millions of Bright Score calculations daily, and has a strong uptime record. Zynga, where I worked previously, built Farmville in a matter of months with a 25-person team and several million dollars. It was quickly handling up to 30 million daily users without crashing for more than a few minutes a month on average.
Why are countless tech companies able to handle similar volumes — and a lot of times, similar complexity — with much better performance and at a fraction of the cost? Unlike the healthcare.gov team, they haven’t ignored these fundamental product development tenets:
Tenet #1 – Reduce complexity. Roll out products in phases, starting with a Minimal Viable Product (MVP). That’s how startups stay alive – they don’t have hundreds of millions of dollars to waste and hundreds of people to keep busy. They need to figure out quickly what functionality is most essential, launch with that and then slowly add complexity by iteration. The healthcare site could have started with a simple platform to compare benefits and price ranges for plans in your area instead of attempting to do user creation, pricing, purchasing and plan administration on Day One.
Tenet #2 – Allow room for discovery and testing. With any software development project, especially one that works with existing components or legacy systems, it’s guaranteed that nobody will know all the potential issues up front. A lot of them will be come up during development in a natural process of “discovery”. Because of these moving parts, any product launch, even an MVP, needs multiple weeks of testing and vetting by the whole organization. Yes, that means the politicians who were making claims about how the website would work had to be involved in hands-on testing before it hit the market. Ideally, they could have had a group of early beta users to test it with for a month or more before release, which would have allowed them to catch and decide how to handle issues and dependencies.
Tenet #3 – Don’t let sales drive the product roadmap. “Sales” in this case were the politicians who piled on promises of what the website was going to be able to do. This equates to “feature creep”, which invariably increases complexity and pushes back execution time. According to a news source, the requirements for the site were changed at least seven times in the months leading up to launch, by multiple politicians who had no idea how their promises would translate into executable functionality.
Tenet #4 – Have a product manager. It’s mindboggling that with hundreds of people and several different companies working on the project, there was no central person, like a Product Manager, responsible for how the pieces fit together. You need someone on the ground who is empowered to make quick tradeoffs based on freshly uncovered information. This person is who can decide what modifications are acceptable and which issues are blockers that need resolution before release.
I hope that government can learn lessons from this failed rollout and in the future outsource product development to technology companies who have the process nailed down, like Amazon or Google, instead of trying to do it all by themselves.