GOTO Amsterdam is a vendor independent international software development conference with more that 50 top speaker and 500 attendees. The conference covers topics such as Java, Open Source, Agile, Architecture, Design, Web, Cloud, New Languages and Processes.

Simon Brown, Coding the Architecture

Simon Brown

Biography: Simon Brown

Simon lives in Jersey (the largest of the Channel Islands) and works as an independent consultant, helping teams to build better software. His client list spans over 20 countries and includes organisations ranging from small technology startups through to global household names. Simon is an award-winning speaker and the author of Software Architecture for Developers - a developer-friendly guide to software architecture, technical leadership and the balance with agility. He still codes too.

Twitter: @simonbrown
Blog: simonbrown.je

Presentation: Software Architecture vs. Code

Track: Software Architecture / Time: Friday 10:20 - 11:10 / Location: Glazen Zaal

Software architecture and coding are often seen as mutually exclusive disciplines, despite us referring to higher level abstractions when we talk about our software. You've probably heard others on your team talking about components, services and layers rather than objects when they're having discussions. Take a look at the codebase though. Can you clearly see these abstractions or does the code reflect some other structure? If so, why is there no clear mapping between the architecture and the code? Why do those architecture diagrams that you have on the wall say one thing whereas your code says another? In fact, why is it so hard to automatically generate a decent architecture diagram from an existing codebase? Join us to explore this topic further.

Workshop: Simple Sketches for Diagramming your Software Architecture

Track: Training / Time: Wednesday 09:00 - 16:00 / Location: Mendes DaCosta Kamer

Agility is about moving fast and this requires good communication. A consistent, shared vision is essential in order for teams to push in the same direction, but it's surprising that many teams struggle to effectively communicate the architecture of the software they are building. As an industry we do have the Unified Modeling Language (UML), yet many people favour informal boxes and lines 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. Although we can argue whether 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 too.

This hands-on session is aimed at those involved in the software development process and 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.