Skip to content

Recoding America#

Recoding America is a book written by Jennifer Pahlka reflecting on lessons learned as Deputy Chief Technology Officer of the United States - amonst other related experiences. See Ezra Klein podcast

Key concepts listed include

  • Clutter doesn't scale
  • The waterfall is a pledge not to learn - but modern organisational digital technology use if more procurement than waterfall development. Which is even worse case of waterfall. As the focus becomes procurement and vendor management, rather than service design.
  • Paperwork favours the powerful
  • No more concrete boats
  • Policy vomit
  • It has to make sense to a person

From the Ezra Klein podcast#

Division between policy/ideas and implementation#

Klein

Knowing a lot about policy, having very big policy ideas, that's also very high status. Implementation isn't.

Pahlka

Big ideas get a lot of status in our society.....this idea that's written about the British civil service. That is literally divided between the intellectuals and the mechanicals.... And lots of interesting — good and bad — things have come out of that culture, which is really distinct from the culture of government where the intellectuals are at the top and have the power. And the people who write the code or do the designs that implement these programs are really, really, really far down. They’re at the very bottom.

Klein

In a way, they're not even at the bottom. They're outside.

Pahlka

They're outside. This is true.

Implementation is seen as having little value. The focus is on big ideas/policies. Implementation is mechanical. Something that can be out-sourced, purchased, and which is outside what is necessary to considered at the time talking about policy.

Leading to a focus on procurement#

Since (digital) implementation is outside, you need to procure that service. Perhaps showing origins when the focus was purchasing commodities (steel) or services (running concessional stands in national parks). As opposed to create and maintaining/enhancing digital expressions of policy.

But in a the context of the US federal government the rules about procurement become exceedingly complex - a skill in its own right - leading to more compliance that leads to poor decisions.

Pahlka

There’s so much better safe than sorry thinking going on, and I would say with contractors and with people who do the compliance. Those bids that those companies give back, they know they’ll be judged by people who are really just checking boxes.

...So FISMA is a law that covers cybersecurity. And it has these 300 controls in it. So 300 different things that you, according to law, could do to secure an application.

Klein

So it's like a menu, not 300 mandates

Pahlka

It’s a menu. But in practice, if you ask pretty much anybody who does software in government, they have to do all 300. And it’s because I think it’s evolved such that in order for people to cover their butts, they have to explain why you didn’t do numbers 138 through 192 or something. And it’s really hard to do that. In fact, it’s sometimes easier just to do the controls than it is to explain them. But the people in the middle who are doing the compliance have no idea if, for your application, numbers 35 and 95 are the two really, really important ones, and you should spend the rest of your time on the thing that’s most important to security, which is testing. All they know is that they will be responsible if anything bad happens. And if it was control number 96 that got you, it’s their butt on the line. So they will insist on all of them. And if you go talk to the people who wrote FISMA, they will say, we never intended that.

Unable to deal with change and uncertainty#

Uses the story of the Trump administration's "Family-Separation Policy" as an example of how the government when about developing digital systems was unable to deal with policy change.

The original digital system for processing illegal (sic) immigrants assignment them an Alien Number (A-Number). Originally, families were assigned an a-number and kept together. Trump's policy was to separate families. Requiring each family member to receive a separate a-number. The digital system was not designed to handle linking multiple a-numbers together. i.e. there was no way to track families.

Pahlka

But essentially, the way we think about software in government, it’s a project. You start it. You finish it. And then there’s a little bit of money trailing around for you to keep it up and running. So when you have a change like this, that’s frankly incredibly urgent, you don’t have people who work on that software day to day, week to week that are there ready to change it and know how the code base works.

So in contrast, Google didn’t create Search and then lay off 95 percent of the staff and keep just a skeleton crew around it to keep it up. The way things that really work in the real world are staffed is on an ongoing basis, not only to make sure that changes in some connecting database somewhere can be updated so the thing doesn’t crash, but also because we live in a dynamic world. We can’t expect there not to be policy changes that have to be incorporated.

And frankly, we should be constantly looking at the software and saying, is it doing what it could be doing as well as it could? There’s constant improvements in the consumer products that we use. So the curve of staffing in a consumer product is it starts really slow, and then as the product becomes more and more clearly valuable and popular, the staffing goes up and up and up. It’s just this constant curve up. That’s how the software is constantly better and more usable and more valuable to us.

In government, it’s this weird, like, there’s nothing, then you hire all these people, and then there’s this couple-year period where lots of people are working on it, and then it drops to almost zero. So after almost zero, you have no capability to change that software. You have acquired software, but you have not acquired the capability of doing what that software is supposed to do, of performing the function on an ongoing basis that that agency is responsible for.