Once, as an employee at a contracting company, I and several teammates were contracted out to a large telecommunication company.
After a few weeks embedded on a large, established team, it was time for the retrospective meeting. Everything felt familiar so far: the board room table covered in sticky note pads and sharpies, a whiteboard with columns on it, a group of people ready to reflect.
One of my teammates wrote a card about the wide variation in code style between files (and even within files). He made a brief case about how a linter can remove the debate about style, and how a consistent style can make it a little easier to read the code.
Kaboom!
Several of the most tenured folks quickly shot the idea down. It was more or less done politely, but it was a definite “no”.
The retro ran its course, we went to lunch, and the day went on as usual.
But later that day, I noticed an email thread with “code linters” in the subject line. One of the more senior team members had taken it upon themselves to write several paragraphs about how absolutely foolish linters are, and how no sensible software developer should ever use them. A second senior team member had replied to all and included several links where well-known authors in the field have stated that they also think linters are a bad idea.
Wow.
It was a surprising use of their power, when a simple, “we really don’t like linters” in the retro was more than enough to shut down the suggestion. (Or, you know, actually consider the suggestion.) However, it blew over, and time went on. I ended up assigned elsewhere, and a few months later I was checking in with my teammates who were still part of that team.
Hey, how are retros going? I remember the linter incident.
This was almost a decade ago for me, but I vividly remember the response.
Oh the retros are fine as long as you know what things not to bring up.
Everything is fine as long as you know what not to bring up
Throughout my career, each team I have been a part of has different topics which must not be spoken of. In some teams, the response would be hostile – like at that telecom company’s retro – and others it would be polite but strong dissent. At yet others, silence – you just couldn’t get anyone to be interested in talking about that thing.
A taboo is a socially enforced ban
Here’s how Wikipedia defines “taboo”
A taboo is a social group’s ban, prohibition or avoidance of something (usually an utterance or behavior) based on the group’s sense that it is excessively repulsive, offensive, sacred or allowed only for certain people. Such prohibitions are present in virtually all societies. Taboos may be prohibited (explicitly, for example, within a legal system or religion, or implicitly, for example, by social norms or conventions followed by a particular culture or organization).
The taboo in Cowslip’s warren in Watership Down
Watership Down is a children’s novel about a group of rabbits on a grand adventure to make a new home for themselves after their warren is destroyed.
In Watership Down, we find what is to me the most chilling example of a taboo.
After wandering alone for a while, scared and uncertain of the future, the rabbits meet Cowslip – another rabbit – who invites them to come stay (or live permanently) in their warren.
At the start, we read about an almost idyllic home that these rabbits have. Food is plentiful, and — unlike all the other rabbits we have met so far — they have time and skill to create art. The group of five rabbits splits up, several of them meeting different rabbits from Cowslip’s warren, exploring in wonder this incredible life that the rabbits here have. And the travelling rabbits have been invited to live there! This life could be theirs, too!
And then, a few of them start to notice some oddities beyond the art and plenty. When they try to ask “where is so and so” or any question about the past, they are scolded sharply. When they press, they are ignored. The rabbits of Cowslip’s warren refuse to talk about the past or about the location of any other rabbit.
The tension mounts as the travelling rabbits explore and disagree, each of them having a different level of concern about the mystery. Some are indifferent, some think they should leave immediately.
And then, in a moment of crisis, one of the travelling rabbits is caught in a snare. We learn that the plenty and safety of the warren are because the neighboring farmer feeds the rabbits, kills the predators, and sets traps around the warren.
This community of rabbits has learned to live with this peril and plenty by enjoying it while they can, and never answering “where is So and So”. They don’t talk about the snares, and they don’t talk about their lost friends.
The travelling rabbits — along with one more from Cowslip’s warren who runs away — flee, putting as much distance as they can between themselves and the cursed warren that promised safety and plenty but instead was a den of traps.
How taboos in software teams help us cope with peril
Oh the retros are fine as long as you know what things not to bring up.
At work, we learn there are certain issues that are outside our control — or so they feel — and the best way to keep the peace and do good work is to not address those topics. When a group all learns that lesson together, a workplace taboo is born.
How taboos in software teams increase our risk
The problem with taboos about peril is that they mask a real issue.
Newcomers reveal the taboos
When outsiders join your team — like the travelling rabbits in Watership Down — the taboos come to light. The newcomers haven’t yet learned about the taboo, and something must happen to teach them. It might be a helpful teammate who quietly warns them, or the newcomer might find themselves on the receiving end of a needlessly hostile email from the leads about how absolutely foolish was their linter suggestion. But whether quiet or dramatic, the newcomer bumps into the taboo.
Some newcomers accept the taboos
We’re here to do good work and pay the bills. If that means not talking about linters, we can work hard and not talk about linters.
This is a reasonable response. There is no need to make a fuss about something outside our control.
What if the tabooed problem is not outside the newcomer’s control?
Other times, the newcomer arrives with either skills or authority (or both) which allow them to tackle the problem that is tabooed.
Tackling tabooed problems
A newcomer who has the gumption to tackle a tabooed problem is facing a possibly thankless task, fraught with hazards. But also, you may be the one to save the organization from a threat that nobody thus far has been willing to address.
Here are some things that can help:
-
get lots of advice, but be choosy about which advice you follow
- even if we haven’t been talking about the problem, we’ve almost certainly been witnessing the problem for a long time
-
find some allies who feel the pain but respect the taboo
- probably there are others who would love to see the problem solved but don’t have the energy to speak up about a taboo. They will be full of insight and encouragement
-
go slowly to earn trust
- the taboo maintains the peace, and many of us like the peace. Anything that rocks the boat is scary, because not talking about that thing makes it possible for us to do good work in peace
- by proceeding slowly, you can address the pain of the tabooed problem without setting off our alarm bells about the breaking of the taboo
-
focus on the facts of the pain points
- in software development (and probably other fields as well), we pride ourselves on our logic. You can bypass a lot of emotional obstacles by drawing out simple statements of fact.
- By gathering statistics or observations about the consequences of the tabooed problem, you can start to build a case for why this is worth tackling. At a certain point, the evidence outweighs the social force of the taboo, and a broader group is ready to work the problem with you
-
look for small wins
- working with a few invested peers or on a small narrow scope, find a way to demonstrate what it could be like if we solved the tabooed problem
-
avoid mockery
- from the outside, a taboo can seem absurd. From the inside, it feels essential. You can respect the experience of those who tolerate or uphold the taboo by proceeding without mockery.
-
choose the right time to make change
- right before a critical release, nobody is interested in challenging their deeply held assumptions. Find the right time to make progress on this so that folks are more likely to receive challenging ideas well