June 2021
Intermediate to advanced
352 pages
10h 22m
English
Viewed from a sufficiently great distance, the Earth looks serene and peaceful, a beautiful arc of sea and cloud and continents. The view at ground level is often anything but serene; conflicts and messy trade-offs abound, and there are few clear answers and little agreement on the path forward.
Software architecture is a lot like this. At the conceptual level presented by many authors, it seems so simple: apply some proven patterns or perspectives, document specific aspects, and refactor frequently, and it all works out. The reality is much messier, especially once an organization has released something and the forces of entropy take over.
Perhaps the root problem is our choice of using the “architecture” metaphor; we have a grand ...