Jul 6, 2020
In today’s episode, Jeffrey Palermo is speaking with Simon Brown! Simon is the author of Software Architecture for Developers; a developer-friendly guide to software architecture, technical leadership, and the balance with agility. Simon is also the creator of the C4 software architecture model and the founder of Structurizr; a collection of tools to help software teams visualize, document, and explore their software architecture.
In their discussion today, they will take a look at architecture for developers. The topic of architecture is something that all developers need to know about, and there is no better guest than Simon Brown to discuss all things architecture! He shares his experience with practical architecture for developers, his advice on how developers that are new to the industry should begin thinking about architecture, how a development team should go about designating someone for the architect role, and shares some additional resources to explore on the topic of architecture! Simon also gives a rundown of C4, his software architecture model, and Structurizr, his collection of lightweight developer tools.
Topics of Discussion:
[:38] Be sure to visit AzureDevOps.Show for past episodes and show notes.
[1:22] About the recent Microsoft Build Conference and The Azure DevOps Podcast.
[1:44] About today’s episode with Simon Brown!
[2:14] Jeffrey welcomes Simon to the show!
[2:35] Simon speaks about his background and what led to what he’s currently doing.
[3:38] How would Simon encourage developers that are relatively new to the industry to think about architecture?
[6:05] Regardless of what the architect role is called, there should always be someone on the team with a wider perspective on the project or goals.
[6:38] As someone who has coached a lot of people through this, what would Simon say is the right approach to getting started with architecture?
[7:41] How does diagramming fit into architecture?
[9:24] Simon shares why he created C4 (a software architecture model) and why developers should be using it!
[11:48] Contrasting Simon’s C4, Jeffrey and Simon discuss the 4+1 architectural view model.
[14:10] A word from Azure DevOps Podcast’s sponsor: Clear Measure.
[14:37] Jeffrey shares some quick announcements.
[16:26] Simon discourages developers from installing Viseo, and offers an alternative.
[19:03] If general-purpose diagramming tools are not good for software architecture, what does Simon recommend?
[20:32] Simon speaks about the essence of his Structurizr tooling: lightweight developer tools that are developer-friendly.
[21:47] The stored format of the different views/diagrams is text and therefore would naturally go into the source control repository. So, what does Simon see when he looks in the source control?
[22:58] Simon gives a rundown of what context diagrams, containers, components, and classes are, and when developers should be doing those things.
[29:16] Simon answers the question, “Should we treat our assemblies as containers?”
[29:41] Simon mentioned that, at the class diagram level, you should not do it by hand. Was he alluding to the fact that there are some generators that he likes to use to generate it? When’s the last time he actually did that level?
[31:09] For developer teams that are struggling with how to organize themselves, what does Simon recommend regarding how to designate the architect role? How does Simon coach his clients on this?
[34:54] For those who want to learn more, which resources does Simon recommend listeners to check out after listening to this podcast?
[37:02] Jeffrey thanks Simon for joining the podcast!
Mentioned in this Episode:
Clear Measure (Sponsor)
.NET DevOps for Azure: A Developer's Guide to DevOps Architecture the Right Way, by Jeffrey Palermo — Available on Amazon!
bit.ly/dotnetdevopsebook — Click here to download the .NET DevOps for Azure ebook!
Jeffrey Palermo’s Twitter — Follow to stay informed about future events!
Jeffrey@Clear-Measure.com — Email Jeffrey for a free 30-point DevOps inspection (regularly priced at $5000!) — Spaces are limited!
The Azure DevOps Podcast’s Twitter: @AzureDevOpsShow
Software Architecture for Developers: Technical Leadership and the Balance with Agility, by Simon Brown
Want to Learn More?
Visit AzureDevOps.Show for show notes and additional episodes.