Training: The Art of Visualising Software Architecture by Simon Brown

On September 29, the day after the Agile and Software Architecture Symposium, we're hosting a training with our keynote speaker Simon Brown. This training will take place in Arnhem and costs € 400,-.

The Art of Visualising Software Architecture - Simon Brown

Software architecture diagrams are a great way to explain and document how a software system works. Static diagrams, whether drawn on a whiteboard or with a general purpose diagramming tool such as Microsoft Visio, tend to get out of date quickly and often don't reflect the structure of the code. On the other hand, automatically generated diagrams, such as UML class diagrams created by reverse-engineering the code, typically show far too much detail, limiting their usefulness.

Ask somebody in the building industry to visually communicate the architecture of a building and you'll be presented with site plans, floor plans, elevation views, cross-section views and detail drawings. In contrast, ask a software developer to communicate the software architecture of a software system using diagrams and you'll likely get a confused mess of boxes and lines. I've asked thousands of software developers to do just this over the past decade and continue to do so today. The results from these software architecture sketching workshops still surprise me, anecdotally suggesting that effective visual communication of software architecture is a skill that's sorely lacking in the software development industry.

Of course, as an industry, we do have the Unified Modeling Language (UML), but asking whether this provides an effective way to communicate software architecture is often irrelevant because many teams have already thrown out UML in favour of much simpler "boxes and lines" diagrams. Abandoning UML is one thing but, perhaps in the race for agility, many software development teams have lost the ability to communicate visually. This workshop explores the visual communication of software architecture based upon my experience of working with software development teams across the globe. We'll look at what is commonplace today, the importance of creating a shared vocabulary, diagram notation, the value of creating a model plus how to use tooling and static analysis techniques to automate diagram generation.

The 1-day "The Art of Visualising Software Architecture" training course covers the same content you'll find in the book, The Art of Visualising Software Architecture. This hands-on session, primarily aimed at software developers and architects, is about improving communication. You'll see some patterns and anti-patterns related to "boxes and lines" diagrams, and you'll learn some lightweight techniques for communicating software architecture using simple sketches and the "C4 software architecture model".

Space is very limited and tickets are available here.