How to fuck up the Starship Enterprise

or: how to fuck up a functioning dev team

This is not about any team in particular. These are patterns observed from ten years of working in development and talking with developers.

My ideal model for a functioning dev team is Star Trek: The Original Series.

In TOS, we almost exclusively observe the captain and bridge officers. The main duties of the officers are to 1. find a way to enact what the captain needs them to do and 2. feed pertinent information back to the captain (mainly when asked). This is what developers should be doing.

The captain doesn’t operate any of the consoles. He sits in a big chair where everyone can find him easily, he talks to people, and he makes decisions. He interfaces with other ships (teams) and admirals (bosses). Bridge officers may be present during these interactions, but they must communicate their opinions via the captain. The captain uses his officers' abilities and knowledge effectively to get the mission done. The captain’s main duties are 1. making the right high-level decisions and communicating them, and 2. telling other captains/admirals the right things (including lying or refusing orders to protect his own ship and crew). This should be your team lead.

This situation works great. But let's say Kirk retires. A new captain arrives: Captain Berk.

Berk isn't an old-school captain. He doesn't like all that commanding Kirk used to do. He immediately sets out to get feedback from the crew. He starts asking all his officers what they think of him and what they think he should do, what changes he should make on-board. He encourages all the officers to publicly pipe up with such opinions whenever they feel like it.

Once one person makes a suggestion, everyone else realises - hey, they never really liked that annoying sound the scanner makes. Can we change it? They all pitch in with their complaints. They'd never really spent much time thinking about them before, but now that there are hourly meetings practically every day to discuss such matters, they find more and more of them.

Nothing really ever gets changed, because opinions change every meeting and nobody can agree unanimously on anything. But Captain Berk loves to supervise the meetings. He really feels like he's making process improvements. This ship must have been a mess before he got there, he thinks to himself. Everyone's so unhappy with so many things.

Captain Berk is worried about something. What if Spock dies? Or decides to transfer to another ship? He'd better shuffle everyone around so they can share knowledge. Let’s make Spock run the medbay, Bones can have a go at communications, Uhura can pilot... if everyone knows everything, no knowledge will ever be lost. Plus, planning missions is way easier when you don't have to think about who'll be doing what. Berk notices that crew efficiency is way down, but he thinks that will improve over time, once everyone gets used to performing every role on the ship.

He also decides to make officers volunteer to run the daily meetings. They might as well write the mission plans and take turns ordering people around from the captain’s chair too. He makes sure to give everyone lots of context about what the admirals are up to and what other ships are up to, whether it relates to their work or not. There can never be such a thing as too much context, he thinks.

Berk sees his job as empowering the officers to become captains one day. He thinks he's doing a really great job.

Plus, when missions go wrong, nobody can blame Captain Berk. After all, everyone was in the mission meetings. They all made decisions together. It's a no-blame culture aboard the good old Enterprise.

Captain Berk gets a transmission from an admiral. He sent the admiral the latest mission stats, but it turns out that Starfleet is unhappy with the amount of missions the Enterprise has been completing. The Enterprise's efficiency has been dropping, and it needs to be fixed.

Berk decides to call a bridge meeting to discuss estimates. He can’t say that estimates must be made lower and missions must be executed with less time spent planning, though that is what he has in mind, since he feels pressured by the admiral. A vague meeting ensues where the only agreement that can be made is to add a new 'extra-large' difficulty rating to their mission estimates. Another identical meeting is sure to follow next month, and the next, until the crew gets desperate and decide 'of their own accord' to start cutting corners.

Now that the crew is thoroughly dissatisfied, insecure, inefficient, confused and resentful, Captain Berk detects a problem. Gee, what happened to his crew unity? The solution, he thinks, must be that the crew needs more business context, more knowledge sharing, more effective processes, more opportunities to give their feedback... and so it continues.

Eventually the Enterprise explodes.