Culture Smells in Software Teams - Part 2
Now that we have visited common characteristics of a culture, we can continue with the smells.
My incomplete list includes smells that are more tangible, smells that come from people (well..) and smells that are more organizational (but still not by rule).
Therefore the conditions I describe below will not worry most of them. They are not reference for you, neither you are for them.
List of Culture Smells
- Dysfunctional Meetings
- Paralyzed Decision Making
- Toxic Interactions Between Individuals
- Bad Coffee, Kitchen and Toilets
- Chairs, Desks, Monitors, Direct Sun Light in the Office
- Submissively Obeying People Higher in the Hierarchy
- Brogrammer, Ninja, Rockstar or Self Proclaimed ‘Hacker’ Jungle
- Common Disrespect and Despise for Competitors and Outsiders
- Everybody Talks Nobody Walks or Bikeshedding Heaven
- Resistance to New Technology Adoption
- Personal Job Security Measures
- Absence of Taking Ownership
- Excelling in Excel
- Addiction to Complexity
- Glorifying Fire Fighting
- Destructive Competitiveness Among Colleagues
- Scape Goat Hunting
- Non Existent Guidelines
- Unreliable Communication Channels
- Boss is First, Principles and Procedures are Second
- Discrepancy Between Reality and Procedures
- Constantly Complaining
1. Dysfunctional Meetings
- Do you often see meetings with many people where only 2-3 people actually speak ?
- Do you keep getting meeting requests even for the stuff you are not primarily involved ?
- Do meetings miss a clear agenda, duration and action points ?
- Do people often continue meetings even after the time is up ?
- Do people skip sending meeting minutes ?
- Are there “follow up meetings” where people just read stuff from powerpoint slides ?
- Is it focused on finding a concrete action for a problem or just empty talk ?
- Do people study the material before attending meetings or do people waste time by going through endless slides and explanations ?
- Are people who try to steal the meeting or disorient the agenda tolerated ?
- Do people use data and concrete arguments or fall back to logical fallacies
The only point for a meeting is to make a decision quickly for stuff that require consensus or alignment between multiple parties. Anything else often wastes valuable time of everybody involved. You should watch out how efficient and fruitful meetings are.
2. Paralyzed Decision Making
- Do privileges go along with responsibilities to make decisions ?
- Is it consensus based or are there some gate keepers ? How fast is it ? Is there working feedback loops ?
- Is it easy to revert decisions or are they treated as stone tablets ?
- Do people tend to take decisions much earlier than they are actually needed ?
- Are there any ivory towers formed ?
3. Toxic Interactions Between Individuals
- Are people friendly and collaborative ? Can they put personal agendas and emotions aside when it comes to work ?
- Are they focused on solving the root cause or throwing shit at fan ?
- Are there very low glass ceilings that is actually used to feed laziness ? (e.g. “That happens only in ideal world”, “It is too advanced”)
- Do people care about sharing the knowledge or hiding it ? Do you see nitpickers or problem solvers ?
- Are they open minded or slave to their prejudices ? - Do they get stuck on things just because it is their precious even though it is not valid anymore ?
- Do they listen or just try to be the who talks most, or last ?
4. Bad Coffee, Kitchen and Toilets
Those are the very first elements that show how a company values their employees in reality.
Engineers spend quite a lot of time at the office, they work hard and many work overtime, some even unpaid in some places.
A good brewing machine and a comfortable, clean kitchen (or restaurant) is a good sign of employees actually being cared.
5. Chairs, Desks, Monitors, Direct Sun Light in the Office
Your health is your most important asset. Without it, you are nothing.
Do not waste your time for a place that does not care about your health by providing ergonomic office equipment and healthy environment.
6. Submissively Obeying People Higher in the Hierarchy
In some places, saying no to someone or objecting an idea or request of a manager is considered unacceptable . In those places you are expected to say yes and do whatever asked. This culture is usually accompanied with regular, excess overtime.
If you get along with this and eventually get promoted, you will find yourself expecting same obedience from people you manage. Congrats, you fit in.
7. Brogrammer, Ninja, Rockstar or Self Proclaimed ‘Hacker’ Jungle, Cowboy Coding
We have seen the rise of the brogrammer in the last decade.
You will notice it by the masculinity of the environment, sexist conversations and extremely biased, rigid and often immature opinions.
Similarly, you may notice people that are completely stripped off from any humble virtues, bully others and create a poisonous environment that despise people who think different. Abundance of such people indicates that the company allows them to flourish, or even attract them.
8. Common Disrespect and Despise for Competitors and Outsiders
Do your colleagues often express disrespectful comments about your competitors ?
Do they consider pretty much everybody outside your organization inferior ?
Remember, the only reason you are not subjected to the same comments is that because you are one of them for now.
9. Everybody Talks Nobody Walks or Bikeshedding Heaven
When you start getting involved in e-mail chains and meetings, you can notice this.
- What is the ratio of bikeshedding vs actual big work completed by the people ?
- How many elephants are they able to fit in a room ?
- Do you see people creating a lot of noise without actually making things happen ?
- Do you notice groups consisting multiple middle level managers, bunch of sales people, few PowerPoint architects and a single lonely engineer trying to create a solution ?
- Do people spend a lot time on things that can be swiftly decided and solved, while trying to stay away from big problems that require strong decisions and hard work ?
Politics are always part of the game. But they are even more important in such places.
10. Resistance to New Technology Adoption
- Do you notice people that reject every change no matter how beneficial it is ?
- Do they come up with ridiculous reasons while resisting ?
- Do they get defensive or are they open to experiments ?
- Do people try to create artificial barriers to prevent even experiments ?
Sometimes this goes hand to hand with the following smell because some people consider new technology adoption is an opportunity for the other people to become “key employee”.
11. Personal Job Security Measures
Especially in countries where job security does not exist, employees who do not have key positions tend to come up with their own job security mechanisms to protect themselves.
This includes but not limited to information hiding, avoiding cooperation and making sure that they are the only available people for certain tasks.
You can not 100% blame them since you are not in their shoes. Nevertheless this indicates that you will have hard time doing your job properly. You might be even considered as a threat by them. Be prepared.
12. Absence of Taking Ownership
- Do people work only when something is explicitly assigned and otherwise sit idle ?
- Do they work on stuff without ever questioning it, regardless whether it is plain wrong or ridiculous ?
- When work is finished, is it done in a way that barely makes the acceptance but in a most shoddy way ?
- When people start something, do they take it to the end ? Do they try to find solutions when they are blocked or just sit and complain ?
- Do they prefer staying silent in meetings, reviews, architectural discussions ?
Software engineering is a business that stands on collective results of the minds. Diversity of voices does not mean cacophony. An environment where only few people take initiatives is destined to fail against organizations whose members proactively get in to engagements.
13. Excelling in Excel
- Do people focus on making up the numbers or changing the reality to make the numbers ? (eg: You need to sell 5 boxes of something and you decide to decrease the box size to make the target)
- Are there people whose sole job is to follow progress of some numbers in some magical excel files ?
- Do people have difficulty in explaining the background of numbers ?
- How many excel sheets do you have to deal with while producing software ?
14. Addiction to Complexity
- Do people like overdesigned, complex solutions over simple ones, mainly because they think complex is more professional ?
- Do you often see PowerPoint slides with tons of shiny, entangled boxes and arrows for things that could be explained much simpler ways ?
- Do people tend to add features that nobody ask, solve problems that nobody complain, all while complaining they have so much to do with so few resources ?
E.F Schumacher famously said:
Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius—and a lot of courage to move in the opposite direction
15. Glorifying Fire Fighting
- Shit sometimes happen. But is the company systematically learning from each them and fix the cause permanently ?
- Or do people spend their whole time putting out fires ?
- Is this praised and encouraged by the managers and leadership, rather than finding solutions to prevent fires ?
The situation in such environments always get worse. Fires get bigger and become more often. Overtimes, lengthy meetings increase, people burn out and turnover rate increase.
Putting out fire solves it only for that incident. This culture smell is one of the fastest ways to go down.
16. Destructive Competitiveness Among Colleagues
Some places promote harsh competition between individuals rather than team working towards a common goal.
- Are you guaranteed to get your bonus as long as you meet your mutually agreed goals, regardless what other people do ?
- Are you threatened with something like a curve system ?
- Do managers ask oblige you to provide negative feedback about other people so that they have ammo during reviews ?
17. Scape Goat Hunting
Every problem can be traced back to some individual not doing the job good enough. The prime responsible is always and undeniably the CEO.
But this does not mean that you have to hunt for the individual for a punishment. Punishments neither improve nor encourage people to become better.
- Are people terrified of making mistakes ?
- Is there a peer pressure for this ? Is it considered shameful to make a bad decision ?
- Do people feel like they have to collect everybody’s approval before taking even simple decisions ?
- When shit happens, do people focus on not letting it splash anywhere near them, rather than solving ?
Such environments create stressful atmosphere where people are frightened of everything. Mistakes will happen, punishments are not the way to prevent them.
18. Non Existent Guidelines
A typical problem for rather small companies.
How does procurement work ? What is the travel policy ? What do you have to do to claim expenses ? How does customer support work ? How are sales offers written ? What is the pricing strategy ?
Guidelines and procedures are essential to make sure that certain repetitive flows happen exactly same way, independent from employees.
When this lacks, you often find yourself trying to figure out how even basic things are supposed to be done. Since there is no standard, everybody wastes time on similar things and mistakes that are easily avoidable happen.
19. Lack of Etiquette in Digital Communications
Effective communication is key for functioning environment.
- How do people handle their emails and tickets ?
- When you send email to people, can you confidently say that each recipient has read it ?
- Are you able to get timely replies from recipients or do you have to ask it over and over ?
- Do people react on tickets, wiki pages mentioning them or just ignore ?
- Do people care about readability and simplicity in writing ?
20. Boss is First, Principles and Procedures are Second
Looks similar to not being able to say no but it is not. In this one, we see an organization that has some guidelines, principles, standards etc all defined well and followed…unless a ‘big boss’ overrules them.
In such environments, the will of the boss is considered a divine order and no matter how much it contradicts with established ways, people are expected to apply.
21. Discrepancy Between Reality and Procedures
On the other corner we have procedures defined but nobody actually follows. They are just there in case somebody asks if they exist.
- Do you see procedures that are well defined but not used at all in reality ?
- Do you see people often not following them due to their “very exceptional” situation, surprisingly happening every now and then ?
- Do people skip improving the procedures when they see they do not work anymore ?
- Do you see problems due to different people each doing something in their own way, ending up different results whereas they should have end up same if they had followed the guides ?
22. Constantly Complaining
- Do you see people often complaining about stuff, without actually trying to solve anything ?
- Do you see same people approaching to solutions offered by other people by replying “Is this the most important thing to do now?”
- Do you see nitpickers simply getting away with it ?
Each and every organization has its own way of working and own culture. This may or may not fit your expectations and personal preferences. It may not be necessarily due to a toxic, unproductive environment. May be it is a simple incompatibility. There is absolutely nothing wrong with this.
If you think that you don’t belong somewhere, you should not wait longer to leave and find another place otherwise it may cost you not financially but also mentally or even physically.
The key here is to be able to identify things you would find uncomfortable for you as early as possible. You should remember that, just because other people are not bothered with something does not mean that you should feel alright.
Know yourself first and then carefully examine the environment you are in.