Conway calls it like he sees it
Stupid coffee. Don’t you know I have to wake up and go to work tomorrow? Oh well, I guess this will happen then.
It seems the more I look at applying best practices of modular code and domain driven design the more I run into Conway’s Law (http://en.wikipedia.org/wiki/Conway’s_Law). Simply put the pieces of the system are a reflection of the communication of the organization. If you have three separate locations then odds are they will each build their own piece of the application and try to integrate those into one. Unfortunately that runs counter to domain driven design where you have a cohesive view of the domain.
The question I have is why that is allowed to happen. It is only natural that it would happen but why is the teams’ communication so poor that they don’t all share the same vision of the system. Why isn’t there someone who is cross boundary and able to bring a cohesive system view to all of those involved? Can no one herd the cats productively?
Maybe this isn’t a problem for agile teams or more product focused development shops but it certainly seems like enough of an issue that there should be a relatively simple non-technical solution involving more open communication.
Break down the walls.