Dear Todd Park,
The technical failure of Healthcare.gov has received considerable media attention over the past week. Everyone has an opinion about why the health exchange failed, and while it’s easy to blame individual agencies or contractors or even pieces of technology, there’s a much more systemic issue at play here. To paraphrase the old Clinton campaign slogan, “It’s the code, stupid.”
As you know, Healthcare.gov is predicated upon 500 million lines of code—five times more than a large bank’s computer system, according to the New York Times. This staggering amount of code highlights the root cause of many software project failures. With traditional code-based development, the process of translating user requirements to software is too complicated, too lengthy, and too risky. Mission owners (or business stakeholders) and software developers simply lack a common ‘language’, which in turn, becomes a barrier to iterative, collaborative development that allows for quick results. As a result, functionality cannot be developed fast enough; the product cannot be reviewed and tested by users throughout the process; and changes cannot be introduced easily, without derailing the entire project.
While straight-up software code has been the foundation of millions of systems for decades, the failure of Healthcare.gov makes painfully clear how risky such projects are (according to the Standish Group, 94% of large IT projects are in trouble or fail altogether) and just how much times have changed. Project timelines are shorter, requirements routinely change, systems are more interconnected, users expectations are higher in our always-on economy, and IT and government/business must work together more than ever. As a result, government agencies and businesses that continue to rely on traditional code-based development will end up among the 94% of distressed IT projects.
One language for all
The Healthcare.gov fiasco could have been avoided—and hundreds of millions of taxpayer dollars saved—because times have also changed from a technology perspective. Over the last few years, visual, model-driven development has emerged as the new application development paradigm because it breaks the decades-old business-IT divide, improves project success rates dramatically, and delivers working applications in a fraction of the time. In contrast to old, code-based methods, model-driven development allows all parties involved in the project to understand and speak the same language. They can see results quickly (in days not months or years) and then jointly identify and make adjustments. Consequently, the risk is removed from the process and the outcome is far more successful.
Interestingly, this new approach in many ways harkens back to the founding principles and beliefs of this nation.
Applications by the people, for the people
When you replace code with visual models that can be understood by all, the application development process is democratized. Suddenly, everyone—even non-technical project participants —can take part in the process. The entire team can collaborate on, and review, the application model, quickly understand the functionality, and easily identify course corrections. And because the model is not only a visual model, but at the same time the actual running system, nothing gets lost in translation.
Unfortunately for Healthcare.gov, we have seen yet again the common disconnect between user requirements, software development, and deployment of all the pieces in the real world. What was needed was a better mechanism for the development team to respond to changing requirements quickly and to align and engage all stakeholders throughout the development process. By having a common language and a way to collaborate and communicate in real time, the pitfalls that come with the old code-based approach could have been avoided.
I invite the White House and Centers for Medicare and Medicaid Services (CMS), as well as other government agencies and private sector companies who may be shying away from development projects because of Healthcare.gov, to take a few minutes to learn more about this next generation model-driven development approach. It’s an entirely new way of developing software applications that allows all stakeholders – users, mission owners, business, process experts, and software developers – to design a system jointly, using a visual model everyone can understand, make changes as needed, and build a complete application without things getting lost in translation. As a result, you get the system you need – at a fraction of the time, cost and risk you have learned to live with.
Before anyone invests hundreds of millions in the next highly-publicized failure, remember, “It’s the code, stupid.”
CEO and Co-founder, Mendix