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. We design incrementally as we build. Nonetheless, our designs must still be coherent and able to easily stand up to the stress of changing requirements. This philosophy is particularly true in the microservice and Agile worlds. This practical workshop shows you how to design a system that can evolve incrementally. You'll learn: • the simplicity principle—build the simplest thing that does the job. • several 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 get system coherence over time • 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.
Allen Holub (http://holub.com, @allenholub, firstname.lastname@example.org) is an internationally recognized software architect and expert in Lean/Agile transformation. He consults, teaches workshops, and provides advice and guidance, both on-line and around the world, in-house and at conferences. Allen brings decades of experience to his clients, who call when they are not seeing the results they expect from their organization, especially when it seems they have the people, skills, system, and process needed to accomplish their goals. He is an expert in Scrum, XP, Kanaban, and Lean as applied to software.. He is unique in combining strong organizational and process skills with technical ones. Allen can help you improve organizational effectiveness, but to be fully successful, you need an underlying architecture and technology that supports your way of working. Allen helps on both fronts. Allen is widely published. His works include 10 books, hundreds of articles in publications ranging from Dr. Dobb’s Journal to IBM DeveloperWorks), and video classes for agilitry.com (Agility with Allen) and Pluralsight (Swift in Depth, Picturing Architecture, Object-Oriented Design), O’Reilly (Design Patterns in the Real World, Incremental Architecture), and Lynda/LinkedIn (Software Architecture Fundamentals, Domain Driven Design). If you'd like to bring Allen in house for consulting or training work, set up a chat at https://holub.com/chat to discuss your needs.