Building an Incremental Architecture (Feb 8–10)
3 half-day remote hands-on workshop.
February 8–10, 2023
You can’t simultaneously fight your code and be Agile—it slows you down too much. Your code’s design must evolve incrementally along with your understanding of the product. In this workshop, you’ll learn everything you need to create highly adaptable designs literally as you implement them. Along the way, you’ll also experience Event Storming and other Domain-Driven Design techniques.
5 slots remaining
A big-up-font design is a sure way to build the wrong thing. We learn as we work, and the things we learn impact our architecture. In a modern, agile, world we design systems incrementally as the system evolves rather than in one giant up-front phase. The architecture grows incrementally, a little at a time. Nonetheless, our designs must still be coherent and able to easily stand up to the stress of changing requirements. Certain architectures are particularly suited to this task (e.g. DDD-focused monoliths and microservices). The techniques we’ll learn in this class are essential for microservice development, in fact.
This practical hands-on workshop shows you how to design a system that can evolve incrementally. You’ll learn:
- the SOLDIER principles (Simple, Obvious, Lightweight, Domain focused, Independent, Essential, Refactorable)
- architectural patterns appropriate for incremental development
- how to create strictly-isolated highly decoupled subsystems
- domain-focused architectures (including DDD)
- how to use the domain to maintain system coherence as the architecture grows
- how to identify key abstractions, bounded contexts, entities, aggregates.
- how to use events and messaging instead of declarative interfaces and APIs
- event storming as both an analysis and design tool
In all, you’ll learn how to build a coherent and highly maintainable system and architecture that can easily accommodate changing requirements and grow incrementally as the system evolves.”
Hands-on workshop. Feb 8–10, 8AM-12PM US-Pacific time (San Francisco/Los Angeles).
Time converter at worldtimebuddy.com
We may go overtime. Class is taught in English. You must enable your video during class, and please use a headset or a good-quality microphone. We will contact you a few days prior to the first day of class with additional details about connection, software, etc. Classes are taught using a mixture of Zoom.com and Spatial.chat, and we use Mural.co for shared whiteboards. We will email details to you a few days before class.
Once the COVID situation allows, we will be happy to present this class in-house as full-day sessions. (3-partial-day remote classes are 2-full-day in-house classes). You can optionally add additional days for more in-depth hands-on work. All in-house attendees must provide proof of vaccination and follow CDC masking guidelines. Please contact Allen (email@example.com) for pricing and other details.
Allen Holub (http://holub.com, @allenholub, firstname.lastname@example.org) is an internationally recognized software architect and consultant/trainer focusing on organizational agility. He speaks all over the planet on these topics and agile-friendly implementation technology like microservices and incremental/evolutionary architecture, but his bread and butter is helping you create or improve highly functional Lean/Agile organizations, and helping you design and build software architectures suitable for agile environments. He provides both in-house training and consulting services. Allen started his career as a hardware engineer, but after being pressed into writing a compiler and real-time operating system for the robot his team was building, ended up a developer. He's helped with many commercial applications, web based and otherwise, and has served twice as a CTO for early-stage startups.
Allen is widely published (10 books, many hundreds of articles both in print and online) and was a Contributing Editor at both Dr. Dobb's Journal and JavaWorld. His many video classes have been published by Pluralsight (Swift in Depth, Picturing Architecture, Object-Oriented Design), LinkedIn Learning (Architecture Fundamentals, and Domain-Driven Design), and O’Reilly (Design Patterns in the Real World). Allen taught for the University of California, Berkeley, Extension for many years, and is the current Chan-Norris Distinguished Professor of Computer Science at Mills College.
If you'd like to bring Allen in house for keynotes, consulting, or training work, set up a chat to discuss your needs.