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 talk 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.
YOU MAY ALSO LIKE:
- Software Architecture for Developers Workshop with Robert Smallshire (in London on 9th - 10th September 2019)
- Extracting software architecture from code - Part 01 of 02 (SkillsCast recorded in June 2015)
- WebAssembly Deep Dive with Brian Sletten (in London on 8th - 9th July 2019)
- SC London 2019 (Software Craftsmanship London) (in London on 3rd - 4th October 2019)
- Keynote by Iris Classon- Core and More: 30 Things You Should Know (in London on 28th August 2019)
- User-First Internationalisation (SkillsCast recorded in June 2019)
- Getting Into the Zero Downtime Deployment World (SkillsCast recorded in June 2019)
The Art of Visualising Software Architecture
Simon Brown is the founder of Coding the Architecture and either a software architect who codes or a software developer who understands architecture