Events
Software Architecture as Complexity Containment
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
Additional Resources
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)
Errata
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.