In 1968, a certain Melvin Edward Conway – computer scientist and all round clever chap – made one of those startlingly simple observations that has profound implications for the software development industry and well beyond. Hell, it has implications for the future of humanity itself (possibly). In what became known as Conway’s Law, he stated that:
Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations.
In other words, the way you structure your teams, and the relationships between your teams, will have a direct effect on the outputs (software) they produce. Flip that around, and you could argue that to achieve the outputs you require (e.g. a particular architectural style or contract between software components), one of the best places you can start is by focusing on setting up your teams the right way.
Over 20 years in the software development industry, I’ve seen examples of Conway’s Law in action time and time again, from the micro level right up to the macro level. I’ve been banging on about it to anyone who’d listen, long before I realised that the esteemed Mr Conway had already codified it.
There’s something, I dunno, Vonnegutian, about the profound simplicity behind Conway’s Law. As a senior software development professional, I apply it to my teams every day, along with an array of other principles, patterns and techniques, in the hope of making our industry better; more professional; more respected. It’s in our hands; there’s no point in us continuing to bemoan the lack of understanding or support we get from the bean counters when we fail to deliver the goods. Hence the subtitle of my blog: we get the software we deserve. Through this blog, I’ll aim to collect together some of my experiences, insights and flights of fancy. Please feel free to drop me a line and make some suggestions or observations.
Oh, I’ve borrowed one of the images from Mel Conway’s original paper to, erm, brighten up my first blog post. Hope you don’t mind, Melvin, me old mucker. Do yourself a favour and pay his website a visit. Mr Conway, I salute you.