Simon is an independent consultant specialising in software architecture, and the author of Software Architecture for Developers (a developer-friendly guide to software architecture, technical leadership and the balance with agility). He is also the creator of the C4 software architecture model, which is a simple approach to creating maps of your code. Simon is a regular speaker at international software development conferences and travels the world to help organisations visualise and document their software architecture.
Session: Maps, travel guides and source code
”We value working software over comprehensive documentation” is what the manifesto for agile software development says, with the typical misinterpretation of these few words being ”don’t write documentation”. Of course, that’s not what the manifesto says and ”no documentation” certainly wasn’t the intent. It seems that many software teams have lost the ability to communicate what it is they are building and it’s no surprise that these same teams often seem to lack technical leadership, direction and consistency. Join us for a journey, as we navigate through maps, travel guides and source code to visualise, document and explore our software.
Workshop: Visualising software architecture with the C4 model
It’s very likely that the majority of the software architecture diagrams you’ve seen are a confused mess of boxes and lines. Following the publication of the Manifesto for Agile Software Development in 2001, teams have abandoned UML, discarded the concept of modelling and instead place a heavy reliance on conversations centered around incoherent whiteboard diagrams or shallow ”Marketecture” diagrams created with Visio. Moving fast and being agile requires good communication, yet software development teams struggle with this fundamental skill. A good set of software architecture diagrams are priceless for aligning a team around a shared vision and for getting new-joiners productive fast.
This hands-on workshop explores the visual communication of software architecture and is based upon a decade of my experiences working with software development teams large and small across the globe. We’ll look at what is commonplace today, the importance of creating a shared vocabulary, diagram notation, and the value of creating a lightweight model to describe your software system. The workshop is based upon the ”C4 model”, which I created as a way to help software development teams describe and communicate software architecture, both during up-front design sessions and when retrospectively documenting an existing codebase. It’s a way to create maps of your code, at various levels of detail. Static structure, runtime and deployment diagrams are all covered, so you’ll be able to tell different stories to different audiences. We’ll wrap up the day by looking at the tooling landscape and diagram automation to keep your diagrams in sync with your source code.Book your seat