Ultimately, just one fundamental metric matters when evaluating the competence of software architects: the ability to identify, assess and ultimately contain complexity.
Recently, I had the distinct pleasure to present once again for my hometown technology user group on a topic that is near and dear to my heart - Software Architecture as Complexity Containment.
From the Presentation
The Sources of Complexity
- Technological Complexity
- Integration Complexity
- Organizational Complexity
- Operational Complexity
- Market Complexity
Complexity Containment Strategies
- Identify Capabilities
- Enforce Constraints
- Clarify Communication
- Commit to Vigilance
Righting Software, by Juval Löwy (ISBN-13: 978-0136524038)
Exploring Requirements, by Gause and Weinberg (ISBN-13: 978-0932633132)
Software Fundamentals, Collected Papers by David Parnas (ISBN-13: 978-0201703696)
Simple Architectures for Complex Enterprises, by Roger Sessions (ISBN-13: 978-0735625785)
All mistakes are my own and not the responsibility of any authors or practitioners mentioned during the presentation.
- When referring to a 7 node, acyclic graph, I stated that it allows for 5,040 combinations. This actually applies to the 7 node network with no constraints on connections between them.
Please contact me if you find any other errata from the presentation.
Be sure to Subscribe via RSS to keep up to date with the latest content!
Looking for more?