Tech Companies, Not Consulting Firms, Should Build Government Websites
Updated February 7, 2014
Much of the current discussion around healthcare.gov concerns whether Accenture, a technology consulting firm, can deliver on its $45 million contract to fix a codebase that is already riddled with errors. But the discussion ought to be about whether the government should have hired Accenture’s IT consulting competitor, CGI, to build the site in the first place.
Instead of working with a consulting firm, the government should have partnered with a tech company or start-up capable of providing heathcare.gov as software-as-a-service. Tech companies have far better track records in terms of producing consumer-facing websites, and the healthcare.gov debacle is just the latest example of how consultancies can fall short. In an earlier job building a health care registry for the Canadian government, for example, CGI performed so poorly the government fired them.
Google, Facebook, Instagram: these sites set the standard for what users expect. They are intuitive, elegant, and rarely malfunction. Not only are they among the best available consumer-facing websites, they are also among the most highly visited. They rank first, second, and forty-first on Alexa, which ranks sites by volume of traffic.
By contrast, Accenture—a consulting firm that typically works on back-end technology implementation—may not be the best choice to deliver a front-end user experience that will satisfy the general public. CGI certainly was not. If the government expects millions of people to use healthcare.gov to select insurance plans, the website needs to have a look and feel that parallels what people can access for free on the Googles and Facebooks of the world. Basic functionality isn’t enough.
Why did the government outsource the development of the website in the first place? One reason has to do with salaries and perks for the software engineers who make sites like Google and Facebook so seamless. The government simply cannot offer the six figure and occasionally eye-popping seven figure salaries that top software engineers command, or even the free smoothies and beef jerky, shuttle buses, and heavily discounted massages that make technology companies such pleasant places to work. Neither can IT consulting firms. In Glassdoor’s annual survey of the top 50 places to work, 22 were tech companies. That’s hard for the government—or IT consulting—to compete with.
But culture is arguably more important than perks or salary. And the federal government lacks the open, flexible culture that allows good software engineers to both work effectively and have good work recognized, according to a recent Quora post by Kevin Borders, a former NSA software engineer. For their part, IT consultancies lack the equity sharing plans that reward software engineers when their products, and by extension their companies, do well.
It’s not just bureaucracy and lack of performance-based incentives that software engineers find off-putting. Many would be turned off places that are meritocratic but more strictly hierarchical, like finance. The most common employers of graduates from top computer science programs, like the University of Washington, are prominent software companies like Microsoft, Amazon, and Google. Consulting and financial companies rarely make the list.
So, what should the federal government have done? One model is the Department of Defense’s relationship with Palantir, a Silicon Valley company that creates tools for the federal government to track terrorists using techniques integrating structured and unstructured data analysis. Palantir won its contract over more traditional IT consulting firms and contractors. This software-as-a-service project more closely resembles a partnership than a classic contracting relationship, and its most successful elements should be incorporated into any serious discussion of contracting reform.
If the federal government continues to expand its engagement with citizens on the internet, it will have to learn how to build and maintain excellent websites in collaboration with top-tier Silicon Valley companies, not consultancies. Innovative tech firms are the only companies that can deliver what users (i.e., citizens) expect. Otherwise, the Federal government will continue to face charges of ineffectiveness and incompetence.
The authors writes:
I shared my recent blog post with several friends who are software engineers. One even wrote a response blog post. It turns out I got some things right—the government can’t build software, and software engineers don’t want to work for the government—and others wrong—most software engineers don’t have equity and don’t demand a huge upside: they just want an intellectual challenge.
A few others shared their thoughts with me via email and agreed to let me reprint them, edited only for clarity:
Chris, former Microsoft Software Engineer, writes:
“I don’t claim to know much about IT consulting firms (which alone says something) but I cannot imagine that they know much about shipping software. It is very different than advising a company about the latest tech trends and then patching said company’s existing legacy infrastructure with the newest product (made by a real software company). For example, I imagine Accenture’s role in moving companies to the cloud is a lot of ‘Let’s stop running those servers you’ve got in the basement and we’ll outsource that IT problem to some other company (Amazon, Box, etc.)’ and not a lot of ‘Let’s design, program, and implement a cloud solution from scratch.’
I could be wrong, but what did we get with healthcare.gov ? 500 million lines of code? Really? Sounds like a lot of gluing and not a lot of building.
My point? Shipping software is difficult. So I don’t think it’s so much about getting a consumer web company to make the government’s consumer web product (although the expertise would help), but it’s more about getting a team on board that has actually shipped something. They don’t necessarily have to be the developers, but they need to be running the show. The most important lessons I learned at Microsoft were in the last five months of shipping Windows 8. It’s madness getting a product that size out the door. Things get cut, compromises are made and a whole lot of buffer is built into the ship cycle to make sure it is ready when promised. I doubt an IT consulting firm would know what to promise the government in terms of a release date and feature set. These are not skills you pick up in college or when gluing together a solution for a consulting case.
How do you get a tech company to go after a project of this scale? The incentives have to be there and I don’t think the government can offer the right price. Perhaps we need to search for other, nonfinancial incentives.
I also don’t think design firms are the right fit for healthcare.gov (unless I’m misunderstanding their expertise). There is a lot more going on with a project of that size than CSS and HTML. It’s a hacker’s delight. A database complete with the country’s Social Security numbers and health records? I think you’d want some security experts and backend specialists to design the appropriate, secure, redundant data farm. I don’t think the government should be hosting their site on Amazon Web Services.”
Jas, former Microsoft Program Manager, writes:
“Chris is right—although the user experience (UX) of healthcare.gov is really important, the majority of the heavy lifting is on the backend. Payment Card Industry compliance and HIPAA compliance require a great deal of thought on the security side of things to limit liability for everyone involved. Moreover, you’re talking about massive scale issues with the number of people they intended to have using the site concurrently (the Congressional hearings about the lack of foresight/planning on that are ridiculous to hear).
UX matters, too. Outsourcing to an IT consulting firm is probably a bad idea in that respect. Small firms are great, but there are plenty of larger firms that have the capacity to take on a project like this and would die for this project. Can you imagine having healthcare.gov in your portfolio? Incentives are in the secondary effects, like publicity, not in the primary fee.
I think you’ve also misrepresented the majority and focused on a small minority of engineers that live in the Bay Area. Engineers are paid a lot, this is true, but relatively so (depending on where you live and work). Moreover, most aren’t partners/owners where they work (read: everyone at Google, Facebook, Microsoft, etc.), so beyond a bonus they aren’t incentivized for “good work,” per se (at least not directly). In my experience, many engineers don’t feed off of being the best paid; they instead feed off working on something intensely interesting. The payoff is in being fulfilled intellectually (see this Dan Pink talk on YouTube ).
Finally, you don’t need a team of great engineers to build a website (even at the scale of healthcare.gov). You need a few great engineers (who can be paid silly amounts of money) able to harness the energy of a team of good engineers (slightly less silly amounts of money). The initial failure of healthcare.gov wasn’t due to a lack of talent, in my opinion—it was a lack of planning and leadership. Web programming isn’t rocket science, but it turns into a mess if isn’t planned correctly. What’s needed is a combination of an understanding of the engineering challenges, great project management, and solid experience of the product development lifecycle.”