Tag Archives: organization

Conway’s Law, communication & architecture

When designing an architecture, one should respect Conway’s law. Respecting it does not mean reversing the BAPO model, and deriving the architecture from the organization. Rather it means taking the organization and its adaptability into account when designing. Even if the architecture is perfectly aligned with business, but the architect doesn’t have the means to influence the process and the organization accordingly, there will be architectural drift caused by the mismatch with the organization.

And when we can, we try to define teams according to the architecture. Often with the premise of reducing the communication overhead in the organization, we try to break down the system into cohesive subsystems and corresponding, ideally two-pizza-sized teams. The math behind is explained simply in The Mythical Man-Month that the number of necessary communication channels grows quadratically in relation to the team size.

But, communication is essential in software development. Why do we want to reduce it?

Continue reading Conway’s Law, communication & architecture

BAPO imbalance

All parts of BAPO[1]BAPO model explains how the business, architecture, process and organization should play with each other in a SW organization. I like it personally, as it helps me explain several things such as … Continue reading have a home turf of problems/aspects/challenges it can address efficiently. For instance, maintainability is best addressed in the architecture, rather than some complex maintenance processes or special teams designated in the organization. In most cases, modifiability is best first addressed in the business, where only the essential modifiability is prioritized and rest is eliminated to save on complexity. Knowhow management and regulations etc. are mostly best addressed in the organization and process areas. While some technical risks are best addressed in the architecture, I was surprised to hear of a case where the business people covered against a risk by just arranging an insurance, thereby relieving the architecture of the complexity. Continue reading BAPO imbalance

Footnotes

Footnotes
1 BAPO model explains how the business, architecture, process and organization should play with each other in a SW organization. I like it personally, as it helps me explain several things such as Conway’s Law being an inverse interaction of architecture and organization. Check out the following document for details, or just Google it: Obbink, H., Müller, J., America, P., van Ommering, R., Muller, G., van der Sterren, W., & Wijnstra, J. G. (2000, August). COPA: A component-oriented platform architecting method for families of software-intensive electronic products. In Tutorial for the First Software Product Line Conference, Denver, Colorado.