A great talk about Conway's law: The Only Unbreakable Law.

Conway's law suggests that organizations inherently replicate themselves in the systems that they create. In other words, the structure of the organization (its hierarchy of teams and committees etc.) is mirrored in the system that is created.

Casey (the speaker) further expands on Conway's original point: systems not only mirror the current organization, but also all of the ones that might have existed before.

He uses Microsoft's Windows project as an example, talking about how a single volume slider can be replicated across many different teams, each looking and behaving differently because the teams were not able to work communicate with each other rapidly (or at all).

The main takeaway is, if we want to build well-designed systems, we have to create structures that are both lean and flexible. When it comes to software, this applies to both the organization and the codebase.

Casey points out the rather extreme viewpoint that this even applies to "the things in code that restrict its ability to be optimized together, such as encapsulation or using a library...".

If we could 'magically' get past using these constructs, we would end up with a better design.

I'd say the main thing I'm starting to think about after watching this talk is whether I should be striving so hard to be DRY all the time. Perhaps a bit of repetition can lead to flexibility which can then lead to better design. Time will tell.