Agility is about moving fast, and this requires good communication. But it's surprising that many teams struggle to effectively communicate the architecture of their software. As an industry, we do have the Unified Modeling Language (UML), yet many people favor informal boxes and line-style sketches instead. The problem is that such diagrams rarely make any sense, usually need a narrative to accompany them, and ultimately slow the team down. While one can argue whether or not UML offers an effective way to communicate software architecture, that's often irrelevant because many teams have already thrown out UML or simply don't know it. Abandoning UML is one thing, but in the race for agility, many software development teams have lost the ability to communicate visually. The code might well be the architecture, but at some point in time you're going to have to explain how it works, and that's when the whiteboard pens make an appearance. Where do you start, though? Should you use UML or block diagrams? How much detail should you include? Should you include technology decisions or omit them? In this tutorial, you'll design a software system and practice communicating your vision through a series of simple software architecture sketches. You'll learn about some of the patterns and anti-patterns related to using informal sketches. And you'll learn how to communicate software architecture in an efficient and effective way.
Simon Brown | 06 June 2013 | Software Architecture Summit 2013 | Berlin, Germany