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
Filed under software, work
I like ant particularly after recently working in the embedded device world where 15 year old make files are still being used to coax binaries out of toolchains older than I am.
I have horrid memories or a time less than a year ago when everyday I’d see output from a linker that was dated the year I started kindergarten. If that sweet innocent little me had realized that some punter in California was working on an that insidious product that would later torment me… The primary function of this junk wasn’t eating C and turning out elf binaries, but rather in teaching users the full meaning of white space, and where thou shalt place a tab and thou shalt not use eight spaces. Verily spaces are an abomination that displeases the grey bearded unix gods. Don’t even ask about how many spaces are in a tab.
Today I had the best idea for extending ant. I want the fail task to randomly pop up a picture from the fail blog
Everyone has that stack of CD-Rs in their drawer. Admit it. You do, and most aren’t labeled. The few with labels are uber-descriptive: “Stuff”, “Junk”, “Backup 3/4/1999”. I just looked at one of those unlabeled nuggets.
Pure gold. It’s one of the uncountable CDs made in the late 1990’s and early 2000’s during times of uncertainty at work. It was a hobby at one job – keeping your resume up to date by the second and copying your stuff to CD-r. By stuff I mean mame roms, mp3s and the like. I found this gem:
It hung in my office for years. I swear it’s not a joke, this was a real deal slide in an exec’s powerpoint.
5 beers to the person that can explain it to me. I think the cornflower-blue ‘efficiencies & cost savings’ arrows are some how key…. I’d have added a third one, at a 45 degree angle. Just for good measure.
And then worked in a “PHASE 3: PROFIT!”
Best out of office reply from a co-worker:
“I’m riding a bike. I don’t know exactly where I am, but in a week’s time, I expect that I’ll be back. Look for me on July 30.”
He’s riding RAGBRAI. At my last gig they rode snow mobiles.