Some thoughts on project code names

A short time ago a friend brought up the subject of project code names. On the one hand, he thought they might be useful for team bonding (“We’re project Dolphin!”). But on the other hand, he was six months into a new job and was still struggling to understand the conversations his team had (“What the hell is project Cuttlefish?”).

I’ve worked mostly on non-codenamed projects. They are called things like “New Templating”, and “Operations Transformation Programme”. You can hear the name and have a pretty good idea about what they’re for, and what the people involved are worrying about. One notable exception was the R2 project at The Guardian. Its name wasn’t very descriptive, but most people’s interpretation that it was “revision 2 of our content management system” was fine. However, in the early days we chose a code name for it, and while that was initially fun, we quickly felt that its connotations weren’t entirely neutral, and we stopped using it.

By coincidence, at the time of our discussion I was reading the utterly engrossing story of Oleg Gordievsky, a KGB spy secretly working for MI6 during the 1970s and ’80s. In that (true) tale code names abound. Every secret operation has a code name; every spy or contact has a code name. The code names change over time as focus shifts. Gordievsky is known to MI6 as PIMLICO, and later renamed NOCTON.

The CIA, KGB and MI6 each has its own list of code names ready to go. In MI6 you would call someone at the relevant desk, and they would pick the next name off the list and give it to you. But sometimes you could fiddle the system, if you didn’t like the name. According to the author, the KGB code-named Michael Foot BOOT (there are no claims he was a spy, but it says they did try to cultivate him in the 1960s, and paid him money); the Foot/BOOT link is clearly not random. MI6’s operation to disseminate information after a successful haul was called OVATION, but they regretted the triumphant tone.

Microsoft and Apple also use internal code names for projects. The Windows Weekly podcast has “code name of the week”, when they discuss the likely meaning behind a Microsoft project code name. In those cases Microsoft and Apple prioritise secrecy over communication. But most organisations I work with win by better fulfilling a need, not by secrecy.

In all the cases above the purpose of a code name is to hide the nature of the subject. MI6 used PIMLICO and NOCTON to hide the subject not just from Gordievsky’s peers, who he was betraying, but also from others in MI6 and from the CIA—the fewer people who knew, the less chance there was that he would be identified.

So code names are useful for hiding intent. But if the priority is communication and delivery, then they will get in the way.

Thanks go to my friend for a good discussion. I asked if I could credit him in this blog post, but he declined, and suggested I use a code name instead.

Photo by Emory Allen