← Back to writing

Habits of high-functioning teams

A note up front: These are excerpts from other people’s writing that resonated with me — not my own words. I’m collecting them here because they capture ideas I want to keep close, not because I want to pass them off as mine.

High psychological safety

A few behaviors I’ve come to associate with healthy teams:

One small idea I keep returning to: a feedback week. Once a quarter, everyone — including the team lead and PM — is randomly assigned to collect feedback on someone else’s behalf.

Good hygiene practices

As the complexity of a system increases, the accuracy of any single agent’s own model of that system decreases rapidly. — Woods’s Theorem

Good development hygiene means taking a bit of extra time to record present-day context. In practice that looks like:

Hygiene is empathy in disguise. Cleaner artifacts let teammates absorb context faster and spend less energy spelunking. It also pays to empathize with your future self.

Active redistribution of experience points

I like the framing that every new piece of work is an enemy that, when delivered, spreads domain context and confidence around your team.

If your team has plenty of senior engineers — Great Knights and Paladins, in JRPG terms — you should resist the temptation to always send them after the difficult stories. On healthy teams, part of the senior role is context redistribution: making sure a less experienced engineer can take a swing at the hard problem and earn some XP. The whole team’s productivity and morale rise when everyone feels at least somewhat equipped to tackle whatever comes through the door — knowing they can always ask a Falcon Knight to adjutant in if needed.

Communicating generously

Be conservative in what you send, be liberal in what you accept.

Robustness as an interpersonal principle. The corollary is the principle of charity: assume the best interpretation of what someone has said. High-performing teams seem to do this almost reflexively.

The teaching analogue I keep coming back to: assume that every student you interact with has limited information, but infinite intelligence. That places the onus on the mentor to make sure their explanations make sense — which, given the inherent asymmetry between teacher and learner, is a fair way to distribute the emotional labor. Translated to a team setting: assume your peer is competent, intelligent, and reasonable, and that they’re asking because they’re missing context they’ve already tried to find on their own.