There's two particular observations I want to share about the way businesses are structured.
In the ideal scenario, a business with
N employees can be visualized as a single Directed Acyclic Graph (DAG) with
N nodes. [A Directed Acyclic Graph is similar to a Tree... but each connection is directed and a node can connect to more than one parent. So I'm going to say DAG instead of Tree, but you can picture a Tree if it's more natural to you.] So.. I was saying... a business can allegedly be represented by a single canonical DAG.
C report to
D reports to the
Well, here's my first observation: Each of the "corporate services" have their own "Canonical DAG".
"Corporate services" are those parts of a company that cost money but (hopefully) keep the other parts of the company functioning, i.e. Human Resources, IT Services, Finance, Building services.
Human Resources will publish one (or many) Org Charts. To them, this is The Canonical DAG. This is the true structure of the company.
The IT department maintain a very complex Active Directory, with users, groups and nested groups. Forget the Org Chart, to them *this* is The Canonical DAG. Active Directory looks at the Org Chart and says, "That's Cute".
The Finance Department have a book of accounts, identified by cost codes, with different cost codes "rolling up" into higher cost codes. To them, *this* is The Canonical DAG. The Finance department look at the Org Chart and Active Directory and say "That's Cute," while fanning themselves with a wad of notes.
Building services divide the corporation into buildings, buildings have floors, floors have workstations and workstations have various resources (broken chairs, broken projectors, broken people, broken printers, broken monitors). To them, *this* is the Canonical DAG.
And so on for every other Corporate Service.
Now, none of these DAG's are as simple as you'd want them to be. There's orphaned branches. There's dotted lines (multiple parents to a single node). There's time-dependent edges (Jill reports to Amy on Monday and Wednesday and to Fred on other days). And a whole lot of other complex modifications*. But it gets a lot worse.
Here's the second observation. The real structure of the company isn't stored in any of these systems.
The real structure is the friendships, rivalries, favors, grudges and slights that are accumulated over years. The social/antisocial network of associations that isn't written down, and makes all the difference in whether an idea will succeed, a directive will be followed, a permission will be granted, a bonus given.
And this network of associations is uniquely perceived by each node within the graph. (And every node within the network will strongly deny that they themselves have any rivalries, grudges etc... this is a crucial part of the way power structures are enforced.) (You might think you can "detect" these structures by looking at who calls who, who emails who, and by detecting tone etc., but the real stuff is never written down or even hinted in writing: that's what gives it power).
Note that the relationship between A and B is different, depending on whether you're looking from the point of view of A or B.
So for a graph with N nodes (people, nodes are people) there are N graphs (most of which have less than N nodes, thankfully).
So, yeh, good luck with that restructure. I'm sure this new (centralization|decentralization) will make a world of difference.
There's a book called Moral Mazes that exposes how companies really work. It's quite dry and academic, but with more twists and betrayals than Game of Thrones. Recommended.
* "Job sharing" is a particularly funny business. If Bill and Bob share a role, we can't represent it as a non-directed relationship "Bill shares in a symmetric manner with Bob" (as our graph is directed), nor can we represent it by two separate and directed relationships "Bill shares with Bob, and Bobs shares with Bill" -- as this is cyclic and makes computers blow up, so instead we have to introduce the concept of roles: "Bill has a role, and Bob has the same role". But now we've made every single node in the entire organization at once more flexible and much much more complex. Good luck with that. We can instead create a virtual person, BillBob, and both Bill and Bob report to the virtual BillBob, who reports to whoever Bill and Bob used to report to. That localizes the complexity somewhat, but also confuses the living hell out of building services and payroll, who assign BillBob a desk and a paycheck, which somehow ends up in the bank account of 'Directed Acyclic Graphs Are Hard, Incorporated.'
(This article has been in my backlog for five years now! Wow. Every single time I've gone to publish it there has been some restructure happening in a company I work with, and I've avoided publishing it for fear it could be interpreted as relating to a current restructure. So I finally thought I'd just publish it with this note saying "No, this does not relate to current events. This relates to eternal events.")