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 is seldom constructive.
Therefore the architects focus should be on the boundaries and interfaces when a large problem is partitioned, and later integrated into a working whole. At the end, the systems internal integrity and quality depends on this.
To help guiding the partitioning the following heuristics might help:
Choose the element so they are as independent as possible, or in other words choose elements with low external complexity (simple) interfaces and high internal complexity. Expressed in the language of a software developer strive for 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