Developers work in all kinds of organizations as software development is a core skill needed in many places. Some might even argue that every business is a software business these days. For this reason, developers often exist within an organizational structure, unless you are going at it indie style and you are the organization. For the purposes of this post, I'll focus on organizations with multiple people as that leads to structures and all kinds of organizational friction.
Sources of organizational friction
Organizational friction is related to process friction, and it has more to do with the way an organization is structured to work and how people work within the organization. It is within these interfaces that you encounter friction. What makes organizational friction difficult is that it can even be cultural. Typically, organizations have their way of working, and it's not always the most efficient one, at least from the point of view of a developer.
Depending on your organization, there are likely some kinds of structures in place with some form of hierarchy and ways of working together. Often hierarchies come with incentives, permissions, and ways to perform decision-making to further the goals of the organization. Friction occurs when teams feel like they cannot make decisions fast enough or priorities shift without a clear reason, ownership is fragmented, or developers have responsibility without any authority to act. These issues can lead to decision latency, misaligned incentives between teams, blocking work, and even demotivation due to not understanding why something is happening. Therefore, organizational friction can be dangerous as it may harm the organization in the long run.
How to reduce organizational friction
Most of the ways how to reduce organizational friction have to do with understanding the situation and then addressing it. I've listed several ways to reduce organizational friction below:
- Clarify how decisions are made and who can do it.
- Align ownership with responsibility. If you are responsible for something without having true ownership, that can lead to trouble as you would have to seek permission elsewhere.
- Make sure priorities are explicit and well understood, so work is not put into areas that are not considered important.
- Consider how approvals are set up and why they have been set up that way. For example, pushing even the smallest purchases through the highest levels of a company can be considered wasteful in terms of time usage.
- With delegation, consider accountability and how it has been set up so that people remain accountable for their decisions.
- Instead of focusing on activity, for example producing lines of code, focus on outcomes instead.
Practical advice
To sum up, there are several ways you could try to address organizational friction:
- Look at the organization and identify where developers are waiting for decisions or permissions. Match permissions with responsibility.
- Clarify who owns each system and related responsibility.
- See if your approval steps are actually doing what they are supposed to. Are they reducing risk or simply moving responsibility?
- If priorities within an organization change, make the reason behind this visible, so there is less guesswork to do.
- Consider incentives within the organization. It is easy to reward local optimization at the cost of the whole system so find ways to address these kinds of situations.
Conclusion
Out of all the types of frictions covered, organizational friction is perhaps the most nebulous one since it's difficult to avoid, and often we cannot do so much about it ourselves. That said, organizational friction is worth addressing as it affects our wellbeing.
You can refer back to the anchor post of this series for more ideas related to friction.
Top comments (0)