Simon Brown Simon Brown

I live in Jersey (the largest of the Channel Islands) and work as an independent consultant, helping teams to build better software. My client list spans over 20 countries and includes organisations ranging from small technology startups through to global household names. I'm 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. I still code too. :-)

A lightweight, pragmatic approach to software architecture

I believe that a lightweight approach to software architecture is pivotal to successfully delivering software, and that it can complement agile approaches rather than compete against them. After all, a good architecture enables agility and this doesn't happen by magic.

The book

Software Architecture for Developers

The C4 model

C4 model

In a nutshell, my lightweight approach to software architecture includes doing "just enough" up front design to understand the significant structural elements of the software, some lightweight sketches to communicate that vision to the team and ensuring that the highest priority risks are identified and mitigated. I use a technique that I call Risk-storming as a visual and collaborative way to identify those risks. The code doesn't tell the whole story, so I deliver a lightweight software guidebook as supplementary documentation. Ensuring an alignment between the software architecture and the code can help massively too, yet the abstractions we draw on our diagrams rarely matches those in the code.

The video of my "Software Architecture & the balance with agility" talk from the "Software Architect 2013" conference provides a good overview of my thoughts on the topic, while my "Simple sketches for diagramming your software architecture" article summarises my "C4" approach to visualising and communicating software architecture.

Software architecture as code

I'm currently experimenting with a way to create software architecture models as code and an open source Java implementation can be found on GitHub. I've also created a simple web-based diagramming tool called Structurizr to visualise the models.

Speaking and Training

I regularly speak about software architecture at conferences, user groups and meetups around the world. I also run training courses about software architecture, technical leadership and the balance with agility.


I've spoken at events, or have clients in, the following countries.
Belgium China Czech Republic Denmark England Finland France Germany Guernsey Hungary Ireland Italy Jersey Lithuania The Netherlands New Zealand Norway Poland Portugal Romania Scotland Spain Sweden Switzerland Ukraine United Arab Emirates United Kingdom United States

Speaking and Training

Agility and the essence of software architecture

Recorded at CRAFT 2014, Budapest

Writing

Writing

My Software Architecture for Developers e-book, a developer-friendly guide to software architecture, is available to buy from Leanpub. You can read a sample online.

I also write about software architecture on the Coding the Architecture blog and write articles for places like InfoQ, Methods & Tools, etc.