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. :-)
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.
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.
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.
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.
Recorded at CRAFT 2014, Budapest