The Hierarchy of Pain
Over the last few years I’ve given talks several times on what I call the “Hierarchy of Pain”. This pyramid describes the pains felt by most large development organizations and provides guidance in how to address them.
The levels of the pyramid
At the base of the pyramid we have Character, this fundamental concept that is talked about in so many business books. Simply put you cannot have a successful team, division, organization or corporation without making sure you have people of trustworthy character filling roles. This segment covers everything from personal work ethic to honesty, and so much more. If you have problems at this level, fix them now. Mentor, coach, discipline or remove whoever the problem is based on your view of how correctable the problem.
Next we encounter Team, the realm of personal human interaction. Team problems can result from an emotional or motivational problem, leadership or direction problems, and personality problems on the team. Most managers have at some point in their career encountered two brilliant developers who simply cannot work together, that is a Team problem.
Process describes all interactions that are codified into rules, be it SCRUM rules, KanBan rules, Waterfall rules, or just “the things we’ve always done”. In larger organizations this also is the realm of culture. If your process doesn’t match your business, or any of a large assortment of other problems, they fall into Process.
Technology finally there is technology problems, those problems which are exclusively the domain of the software and hardware.
How to solve problems
There are two large mistakes that most groups make, and they compound on one another.
- Most managers are inclined to blame things higher up the tree, than lower down the tree, as the root cause of a problem.
- Most managers believe that a problem is best solved by introducing a fix at the level it occurred, or higher.
If Bob the Developer fails to update the database during a deployment, Fred the Manager might look at that as a failure of Process, the team didn’t follow the process. Unfortunately, Fred is wrong, this is a failure of Character most likely, Bob didn’t follow the process, and he’s fallen victim to mistake #1.
But since Fred things this is a Process problem he decides he is going to purchase a large build and deployment automation tool, aka Technology, to correct this problem. But he won’t be successful. Why? Because since the problem is actually a Character issue, there is nothing but a Character solution which it.
When looking at problems within your organization, remember these basic axioms:
- A problem should be assumed to be at the lowest possible level it could have occurred at. Most of the time, this means Character until it happens consistently enough that it becomes obvious it is really Team or Process.
- Problems can only be solved, truly solved, at the level they occurred or lower on the pyramid.
I’ll likely talk more about this in future posts, but that is your introduction to the Hierarchy of Pain.