Over the past few years, I’ve been distilling software architecture down to its essence, helping organisations adopt a lightweight style of software architecture that complements agile approaches. This includes doing “just enough” up-front design to understand the significant structural elements of the software, some lightweight sketches to communicate that vision to the team, identifying the highest priority risks and mitigating them with concrete experiments. Software architecture is inherently about technical leadership, stacking the odds of success in your favour, and ensuring that everybody is heading in the same direction.
But it’s 2015 and, with so much technology at our disposal, we’re still manually drawing software architecture diagrams in tools like Microsoft Visio. Furthermore, these diagrams often don’t reflect the implementation in code, and vice versa. This session will look at why this happens, and how to resolve the conflict between software architecture and code through the use of architecturally-evident coding styles and the representation of software architecture models as code.
Simon Brown is an independent software development consultant specializing in software architecture—specifically technical leadership, communication, and lightweight, pragmatic approaches to software architecture. Simon is the author of two books about software architecture: Software Architecture for Developers, a developer-friendly guide to software architecture, technical leadership, and the balance with agility, and The Art of Visualising Software Architecture, a guide to communicating software architecture with sketches, diagrams, and models. He is also the creator of the C4 software architecture model and the founder of Structurizr, a SaaS product to create web-based software architecture diagrams using code.
©2015, O’Reilly UK Ltd • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • email@example.com