Skip to main content

'Hierarchy' the dirty word

Modern human resource departments dread the word "hierarchy", companies happily boast of their "flat structure" in job advertisements, and national leaders are disparaged as being out of touch. However, when is a bit of hierarchy actually good? When is it worth it?

My personal issue isn't with hierarchy. It's with excess, unneeded hierarchy. Hierarchy can be good as it means the higher up the individual goes, the more responsibility they have. Problems arise in organisations where individuals in higher levels of a hierarchy do not have much responsibility and thus do not do much work.

Hierarchy of fruit. Source Wikimedia Commons

An example where heirarchy is needed is when a large organisation has many systems that integrate together, but no individual or team that is able to understand how these systems integrate, or a situation where team members are unsure of where to raise issues.

In these situations, people are left stranded. There is no one actually responsible for the wider system (what if one isolated change breaks other sub-systems?), and no one visible that has authority to help people out if they have any specific issues.

This problem can be solved by having a (low granularity) hierarchy, as it solves the following two problems:

1. Protection of the Team

Some of the best managers I've worked with are those who were able to protect the team. They would absorb all the pressure from executives and stakeholders, and be able to prioritise and present urgencies in such a way that didn't put excessive amounts of pressure on the delivery team.

2. Technical Decissions

While it's ideal that teams 'self-organise', and come up with solutions and decisions to technical problems. Often the time associated with making these decisions based on consensus isn't worth the decision itself. Examples of this include: authentication mechanisms (oath vs saml vs jwt), contracts, protocols, infrastructure (Linux, Windows), and tech (C#, Java).

Finally, having an excessive hierarchy isn't a good idea for many reasons. Many of which have been articulated in other places. However, having a degree of hierarchy can actually be quite useful as it makes decision making quicker and helps protect teams from outside pressures.


  1. Well said! To me hierarchy is about responsibility, what makes it dirty is the privilege, false prestige, and unbalanced benefits that is usually associated with it, wrongfully. Control that, and you get yourself a healthy hierarchy.


Post a Comment

Popular posts from this blog

from zero to production in eighty days

When I mean zero, I literally mean zero. A brand new project, a PO that's new to IT, no existing processes in place and a small team of four including myself and the PO.

The departmental organisation we were working for doesn't have any developers, scrum masters, product owners working for them. Everything they did was either done by another department or outsourced completely.

This is a story how we went from zero to production in eighty days.

My first time speaking at a conference

Since time immemorial we humans have valued the art of public speaking. Today, I want to share with you my experiences in speaking at conferences for the first time. Recently, I spoke at both DDD Melbourne and DDD Perth. Both of which were positive experiences that I learnt a lot in.

Have You Ever Produced Negative Value in a System!?

As developers we encourage our product owners to order the priority of their backlog in order of value. However, every time a new feature is implemented by a development team, there is a certain degree of risk associated with the introduction of that new code. Namely, risk of breaking another part of the product and maintenance cost. When a development team pulls in a new feature to implement there is a certain acceptance of this risk. In many cases, the risks that arise due to additional code complexity doesn't justify the value added by the new feature itself, so the development team can start implementing it.

Are there scenarios where the value added to a software product can be negative though?