13.4 Summary

Managing complexity is an important task of the architect. The apparent complexity of the system influences how well the system can be designed, tested, operated, and reused. We distinguish between the apparent complexity of the system—how complicated it is—and the essential complexity of the system. The essential complexity is driven by the functionality of the system; the more we ask of the system, the more complexity we drive into it.

The architect must manage the actual complexity of the system by creating representations of the architecture that are understandable and useful to many different stakeholders. The architect can invest in abstractions, hierarchy, decomposition, and recursion, all of which can reduce the apparent ...

Get System Architecture: Strategy and Product Development for Complex Systems, First Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.