Jiri Knesl

Posted on 30th July 2020

Responsibilities graph instead of hierarchy

news-paper Inside Flexiana | News |

At Flexiana we don’t build hierarchies. We work in small autonomous teams that are senior-only. Each team and individuals have responsibilities and wide autonomy to achieve these responsibilities.

Flexiana has worked in this mode since it’s beginning in 2016. We have learned a lot about this mode of operation and made a couple of adjustments along the way. One of these adjustments is connected with responsibilities and the way we are accountable to each other.

Now, let’s get back to the third year of Flexiana’s existence where the company grew from 20 to 47 people. Some of the issues became imminent and we had to address them.

Without the managerial layer, you don’t only reduce hierarchy. You also reduce people who are supposed to communicate and facilitate responsibilities and act, when these responsibilities aren’t fulfilled, deadlines aren’t hit, etc.

When you get rid of management, the thing you’re missing is not hierarchy. The thing you are missing are managerial skills.

It became a source of frustration because change management, alignment and overall goal achievement were slower than needed for a still small company. It was all amplified by the fact that Flexiana in this time was an asynchronous, stream-oriented organization, where you consume a stream of needs and emit results & streams of needs for others. We were as async as you can get.

All this was also in the environment, where almost all responsibilities were on teams, almost no responsibilities were on individuals.

So you had Team A sending needs to Team B. Team A and Team B had independent methodologies, independent prioritization and asynchronous means of communication. Often, we ended with a scenario where Team A did something in sprint 25, emitted need to Team B, which was delivered in sprint 26 so team A in sprint 27 proceeded and finished its work. In the meantime, teams worked on tasks that had dependencies resolved. The issue is that the task for team B was easy to do. In fact, one could do the whole thing in one day.

Responsibilities graph with sprints
  • Person A (2 hours of work)
    • Person B (3 hours of work)
      • Person A (2 hours of work)
  • Time needed: 7 hours
  • Cycle time: 3 weeks instead of 1 day

Second thing is that team responsibilities are a procrastination-causing environment. When you have personal responsibility and something is supposed to work (and it doesn’t) or something is supposed to be finished soon (and it isn’t) you know it’s your time to shine. With team responsibilities, with no team leaders (remember, no hierarchy) and no project managers (remember, only streams, no projects), deadlines were often slipping. With our clients, they are always in a mode that is deadline & hierarchy oriented, so we were using these signals as a source for our decision making. It did help, but not always. It helped for our deliveries because the external “clock” gave us what we needed to deliver well.

But there were no internal clocks for internal projects. There was nobody setting the tempo, giving feedback on how much should be spent doing something.

So even when in theory, having only teams, no bosses,and full autonomy, seems like an ideal thing, because everybody can use their talents to give the best, with steady but maintainable peer pressure, it harms prioritization, ROI & overall time to market.

In fact, simply sometimes having a deadline, synchronized cooperation and somebody who is responsible for somebody else, will probably improve your productivity and shorten your cycle time and often by an order of magnitude.

So one of our changes is having a responsibility graph. This graph shows who is responsible to whom for what. The responsibility tells, what is it, how is it managed, how is it controlled and whether there is any cyclicality (in our case, these are usually weekly sprints), calendar (need to sync & deliver to given date) and KPIs.

Normally, companies have responsibilities mapped on hierarchy and it’s a tree. So on top of it is CEO, then, you have CXO, then you have middle management, etc.

At Flexiana, we have informal titles and anybody can use any title they wish (as long it doesn’t scare or confuse clients or colleagues). There is nothing you can map responsibilities onto. It has a couple of great advantages:

  1. As we build wide managerial skills (we have to as described above), responsibilities are fluid and people can take or give them to others (and they do)
  2. We can have cyclical relations where I am responsible to you for A and you are responsible to me for B. It gives us the ability to build.

So this is how it looks:

Responsibilities graph with Jiri
Responsibilities graph with Hana

As you can see, each person has (or will have soon):

  • responsibilities – activity, process, internal system, product, etc.
  • objective – part of the company strategy they fulfill
  • meetings – meetings they attend & where we control their progress
  • relations (lines between people) – who is responsible for whom
  • KPI – how do we track the success

We might get responsibility centric but Flexiana is a human-centric organization, so we shuffle responsibilities around, not people. With changing responsibilities, these are mostly slight adjustments that respect one’s skills, it doesn’t change the cooperation graph very much anyway.

Internally we manage all this in one large Miro board that’s accessible to everybody at the company.

When anybody is moving their responsibility, they need somebody to take it. And the map is updated. Also, almost all of our responsibilities have some weekly check (in form of meeting, written check, or at least as part of 1:1) so there is always a point in time when a person is accountable for delivering on their responsibility.

Also, and it is for a different article, we have a Mission Control team that goes across the whole organization and resolves long term or urgent issues company-wide. So now you can see there’s a control connected with responsibilities without having hierarchy in place.