Teams that practice evolutionary design start with “the simplest thing that could possibly work” and evolve their design from there. But what about the components that make up a deployed system? Applications and services, network gateways and load balancers, and even third-party services? Those components and interactions form your system architecture. Is it possible for them to start simple and evolve from there? Doc Norton joins us to explore this question further.
Doc Norton is passionate about working with teams to improve delivery and building great organizations. Once a dedicated code slinger, Doc has turned his energy toward helping teams, departments, and companies work better together in the pursuit of better software. Doc is co-founder of OnBelay, a consultancy that focuses on helping companies get better at delivering software.
📖 Evolutionary System Architecture
🎙 Discussion prompts:
How have you seen teams approach designing system architecture?
Architecture is as much a factor of organizational design as system design, as Conway’s Law reminds us. How have you seen organizational structures affect system architecure, either for good or for ill?
It’s often easier to make overly-complex architectures than simple ones. What are some examples of complex architectures that could have been simplified?
What are your preferred techniques for improving an existing system architecture?
About the Book Club
From October 2021 to August 2022, I hosted a call-in talk show based on the second edition of The Art of Agile Development. The series used the book as a jumping-off point for wide-ranging discussions about Agile ideas and practices, and had a star-studded guest list.