Skip to main content

Five principles for any government IT effort

3 min read

Summary: Change the culture, serve the people first, engineer simplicity, solve for actual needs, and build a platform. An organization’s principles are the underlying assumptions that constrain all decisions, so before you focus on the code, ask whether you’re solving for the right thing.

Three years ago to the day, the first class of Presidential Innovation Fellows were sworn in. Being part of the inaugural class was a lot like founding a startup: we had to define our problem space, figure out basic mechanics like where to work or how to get laptops and servers, and most importantly, had the opportunity to create our own culture around how we approached problems.

Well before we wrote our first line of code, we defined a set of guiding principles. The principles helped us lay the blueprint for how to deliver on the Project MyGov charter:

To reimagine how citizens interact with government through an experience designed around their needs rather than a confusing and fragmented bureaucracy.

Looking back three years later, many of those principles still remain valid guideposts for any reform effort in government:

  1. Change the culture. The PIF program, 18F, USDS… half of what they deliver is code. Only half. The other half of their product, the value they provide to government, is leaving their agency partners with a better understanding of and appreciation for what modern software development looks like, and disrupting bureaucracies and challenging assumptions in the process.

  2. Serve the people first, and the government second. Reform efforts in government often confuse stakeholders with customers. The customer, the end user of the product or service being reengineered, is always going to be the American people. It may be developers, it may be veterans, it may be retirees. Despite the intermediary steps, the customer is rarely, if ever, a government bureaucrat. Optimize accordingly.

  3. Engineer simplicity. Citizen-centric design means reducing the cognitive burden required to use government services. It means using technology to absorb the complexity of bureaucracy on behalf of the public. A user shouldn’t need to study the org chart to know where to submit a form and they definitely shouldn’t have to tell the government the same information twice, especially information it should already know.

  4. Solve for actual needs, not perceived ones. Between interest groups, the media, and Congress, it’s all too easy to be perpetually beholden to the squeakiest wheel. Data-driven decision-making can often solve for this request whack-a-mole. At the FCC, for example, we used analytics to show that lawyers and lobbyists were actually a tiny subset of visitors to fcc.gov, and the use cases the site was optimized for shifted accordingly.

  5. Build a platform. We’re well past government as a platform. Government is a platform. Heck, most tech companies today are platforms (see, for example, Google, Apple, and Microsoft). If you’re not building a platform first and a site, app, or workflow second, you’re engineering from the outside in. Be lean, be modular, be decentralized. Expose APIs. Encourage reuse and collaboration through interoperability. Grow an ecosystem. Eat our own dog food.

An organization’s principles are more than mere words. They’re the underlying assumptions that constrain all decisions. In government, it’s all too easy to focus on the code, on the concrete deliverable. After all, RFPs rarely, if ever, mention culture or customers or citizen-centricity. As the MyGov principles ask, “are [you] solving for the right thing”?

H/T @californiakara, the author of the original post, and whose Tweet led me to rediscover it.

Keep reading

Ben Balter

I'm Ben Balter, and I write here about developer platforms, product and engineering leadership, open source, and showing your work. I spent over a decade building developer platforms at GitHub. For five years I was a product manager for trust and safety, shipping 500+ features and the API endpoints behind them to 50M+ developers. I also led a bottom-up rewrite of GitHub Pages and wrote the open source library behind GitHub's license detection, and my open source projects have hundreds of millions of downloads. I wrote Open and Async, the playbook for remote and distributed teams, and shipped a Model Context Protocol (MCP) server alongside it so agents can query it directly. More about the author

Follow along: Bluesky LinkedIn

Originally published August 23, 2015 View revision history

This page is open source Help improve this article on GitHub

Keyboard shortcuts

Search

  • / or ⌘ K Open search
  • ↓ or j ↑ or k Move through results
  • Enter Open the selected result
  • Esc Close search

Go to

  • g then h Home
  • g then p All posts

This page

  • y Copy link to this page
  • ? Show this list