I had a good time at Devopsdays. It’s been a few weeks, and two things are still near the surface of my thoughts.
- Conway’s law
“Organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations.” — Melvin Conway
- The Shirky principle.
“Institutions will try to preserve the problem to which they are the solution.” — Clay Shirky
This leads me to the following:
Organizations have many teams and departments, each ostensibly required to build a complex system. These sub-divisions function to preserve themselves.
These two principles work together to produce something that’s very resistant to change. It’s even worse when the entrenched org prevents meaningful change in something new – such as a move to the cloud, adoption of devops or agile.
Put another way :
Companies build machinery (structure, people and tooling) to create software that become inflexible because the people that are the machinery hang on to their cog.
There is another factor keeping systems and organizations static:
“It is difficult to get a man to understand something, when his salary depends on his not understanding it.” — Upton Sinclair
Change is hard, but change is inevitable. Thinking on and trying to understand why it’s hard has helped me.
The catalysts for these thoughts:
Dan Slimmon‘s talk on Conway’s Law: The Skeleton Of Devops
Ian Malpass‘ talk on Fallible humans: dealing with failure in the absence of scapegoats
Does this imply the machine can not create incentives for the status quo to be challenged?
I believe it does, do you disagree?
This was actually my biggest takeaway: the current org struct is an artifact of the previous success, thus misconfigured for the future success.
Or do I misunderstand your message here?
You were spot on then, and still true today.