Skip to main content

Laws of Agile - Conway's Law

More Laws of Agile, today is everyone's favourite, Conway's Law. “Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization’s communication structure.”


I have certainly experienced and witnessed this one but why is this a problem?  A study by MacCormack, Carliss, and Rusnak at Harvard verified that a loosely coupled organization produced a software design whose components were less tightly coupled than designs produced by a more traditional tightly structured organization.

Tightly coupled components are typically single purpose, highly dependent and not easily reusable. This means harder to diversify, pivot, enhancements and maintenance are more costly.

To start to understand how to overcome Conway's Law this article on The Inverse Conway Maneuver is a good place to start.




Comments

Popular posts from this blog

Increasing Analytical Thinking in Agile Teams

Shameless promotion alert! I did a talk this week with the Agile Auckland meetup that was about increasing analytical thinking in Agile Teams. Agile Auckland kindly filmed the virtual session and its uploaded to YouTube here. If you are passionate about analysis and improving the quality of it in your Agile team, please go and check out the video. A link to the Youtube video is below

Misusing the word Requirements

The more I think about the word #requirements the more I think it is and has been misused for decades, by myself included. Imagine I have a bunch of nuts, I don’t know what size the nuts are which means I don’t know what size spanner I need. I could write a BABOK format Requirement that explains that “The solution shall have a spanner that loosens a nut easily” but no one can build anything from it because we don’t actually know what size spanner to build. We don’t need a requirement. We need more information. How about a hypothesis instead? I believe that if I test a range of spanners on the nuts I will find the right size, I will know when I am successful as the nut will be turned by the spanner without slipping. Now this tells me what I need to do and how I know I will have found an answer. Let’s imagine the result is that we discover we need a 10mm spanner for our 10mm nut. Now I can write a requirement that says The solution shall provide a 10mm spanner that can turn a 10mm nut co...