A friend of mine introduced me to the concept of Conway's law, and it triggered a classic aha! moment for me, so now I am looking for more opinions to challenge my psyched bias.
So let's share experiences. :)
If you do not know Conway's law, here is the gist of it grabbed from Wikipedia.
Conway's law is an adage stating that organizations design systems that mirror their own communication structure.
I've been learning to be a team/tech lead the past year and I have struggled with it since at my core I am a web application architect, I solve code problems, not organization problems.
I feel Conway's law is a really good new perspective for me.
Not to blame' everyone else, but as a tool to recognize when communication breaks down and how it reflects on the code/architecture.
Fx. some features got implemented really badly, how did that come about? What part of the decision making failed.
It's easy to blame developers for fx. not testing enough, but I find often bad code happens when developers are not working the same way, have decent specs, or when they are working too many domains at once.
I've been fretting about teaching my colleagues/juniors how to use the tools we have efficiently, but maybe what I should have been doing is limiting the domain that we work with to make sure we get good at one thing at a time.
This is definitely something I will try and apply in the future as well as looking at previous problems through this lens.
What are your thoughts on Conway's law?
- What are your experiences with Conway's law?
- How have you used it, or seen it applied?
- And do you have any advice on how to apply it from a team/tech lead perspective?
let's discuss it! :)
Keep your eye on the birdie!