"When launching a new product, startup or project, it is tempting to build systems in preparation for inevitable success and scale - technical, and socio-organisational.
But this frequently fosters premature complexity, such as a single team adopting microservices well before they would be useful.
Alternatively, starting simple and hoping you can evolve towards the right design leaves many teams with a tangled mess of technical debt and systems that have long outgrown their original intended use.
This masterclass guides how to manage complexity without sacrificing scalability by imagining the future but building for the now."
Learning Objectives
In this hands-on masterclass you'll get practical experience with a range of different techniques such as Event Storming, the C4 model, Team Interaction Modelling & User Story Mapping. You'll learn about Kruchten's 4+1 views and which techniques are useful in each view, and by considering the 4+1 views holistically, learn how to design more scalable & evolvable socio-technical systems.
Agenda
- Introduction to Socio-technical Systems & 4+1 Views
- Logical View - Domain Modelling with Domain-Driven Design & Event Storming
- Process View (Part 1) - Microservices, Monoliths, Frontends & APIs in the C4 Model
- Process View (Part 2) - Inter-process Communications - Logical vs Physical Communications, Queues vs Streams
- Physical View - Cloud Native Architectures
- Developer View - DDD & Team Topologies Interaction Modelling, Hexagonal Architecture & Vertical/Feature Slicing
- Scenario View - CI/CD, Observability & User Story Mapping
For Who?
This workshop is for Software Developers, Engineers, and Architects.
What participants say about this workshop
"Overall many different tools to improve system design... It was easily the best Masterclass! 5/5"
"I've already been practising and am working on applying the knowledge I have gained from this course, and it's like a light bulb has been switched on."
"I almost wish I'd done this training earlier in my career - super helpful."