Different topologies for an org chart, wrong answers only

Monday, March 27, 2023

Traditionally, an org chart is represented as a tree. You start at the top with the root of the tree, probably the CEO. And then everything comes down from there hierarchically.

image of an org chart

It doesn't have to be that way, though! We can imagine other topologies for companies which would work differently. Let's challenge assumptions one by one and see where we end up.

First, we have one person in charge? Clearly not, at least in some of the organizations I've worked with1! If you have multiple leaders at the top who are not accountable to each other, then you can end up with a forest instead of a tree. This can happen in startups where you have multiple founders with different priorities, not reporting to each other, who each head up a different tree in this little forest.

image of an org chart

That can lead to some fun dysfunction since you have multiple distinct organizations now, which somehow are supposed to work together toward common good.

Another assumption here is that you have one boss. That's common, but sometimes you have "dual reporting" where you have multiple bosses. This happens in matrix structures. But it can also happen from just plain old dysfunction! And now the org chart forms a directed acyclic graph, or a forest of such.

image of an org chart

Wait, we just made another assumption. It's a directed acyclic graph? Okay, what if we did introduce a cycle? Now you have a plain old graph.

This could happen if one of the founders of the company controls enough voting shares to control the board. Then you have a cycle: the founders report to the board, but the board reports to that founder, who themselves reports to the board, etc. This could also happen in a very totally normal situation, like if you hire an intern and then have the CTO report to that intern.

image of an org chart image of an org chart

Okay, another assumption that has just gone unstated in here. Every manager has multiple direct reports. We all know that there is a such thing as too many direct reports, because beyond a certain point you don't have the time or energy to help all of your reports. Let's go in the other direction: each manager manages one direct report. Now we've made a linked list for our org chart!

image of an org chart

But okay, there's still a hierarchy. This isn't a radical departure! No, but wait, there's a twist: It's a doubly linked list. Everyone has one "next" direct report and a "previous" direct report (unless they're at the end of the list). Functionally, you're now your boss's boss, so that'll teach you to give me a bad performance review.

You can't fire me, you're fired!

Each person is, transitively, each other person's boss. This keeps the power balance, and there are no problems that could ever arise from this. Only rainbows and unicorns.

image of an org chart

Or we can just lean into it and make it explicit. You want to be everyone's boss? You've got it! And you've also now got everyone as your boss! We make all these connections explicit, and form a complete graph.

image of an org chart

Oh no, chaos! Who could have predicted!

I guess the traditional organization design has a reason behind it. There are legitimate quibbles, and I think there are some interesting ideas. In particular, employee-owned cooperatives give some measure of "the CEO reports to the intern," and I'm curious if there are any other ideas that change the org chart in productive ways. Anyone have right answers here?


In fact, here's the actual-factual org chart for the League of Nations. It has a few trees, some disconnected wholly and some which have dual-reporting shared committees.

If this post was enjoyable or useful for you, please share it! If you have comments, questions, or feedback, you can email my personal email. To get new posts and support my work, subscribe to the newsletter. There is also an RSS feed.

Want to become a better programmer? Join the Recurse Center!
Want to hire great programmers? Hire via Recurse Center!