26–28 October 2015
Amsterdam, The Netherlands

Software architecture as code

Simon Brown (Structurizr)
11:00–11:40 Monday, 26/10/2015
Architecture
Location: G 102/103
Average rating: ****.
(4.21, 14 ratings)

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.

Photo of Simon Brown

Simon Brown

Structurizr

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.