Architects focus is on the boundaries and interfaces
Since Lord Nelson destroyed the French and Spanish fleet at Trafalgar in 1805, "divide an conquer" has been the mantra for dealing with complex and difficult problems. The challenge is that its easier said than done, at least if your intension is a working system at the end. Hacking something to pieces does not help solve the type of problems we find in complex systems.
Therefore the architects focus should be on the boundaries and interfaces when a large problem is partitioned into smaller ones that can be solved in isolation, and later integrated into a whole. The systems internal integrity depends on this.
In doing so, experienced architects lend themselves to a set of useful heuristics:
- Choose the element so they are as independent as possible, in other words, choose elements with low external complexity and high internal complexity. Another word for the same idea is high cohesion, low coupling.
By Einar Landre
This work is licensed under a Creative Commons Attribution 3
Back to 97 Things Every Software Architect Should Know home page