A loosely-coupled software architecture and an organisational structure to match is one of the biggest predictors of software delivery performance. Aligning software and teams with the business domains minimises unnecessary coupling resulting in software which more easily accommodates changes and enables domain-focused teams to deliver business value faster and more efficiently.
During this 2 day workshop, you will learn how Strategic Domain-Driven Design (DDD) provides a comprehensive toolbox for collaboratively modelling business domains, creating bounded contexts in software to align with the business architecture, and patterns for organising autonomous teams.
Learn how to:
- Model business domains collaboratively using practices like EventStorming
- Design microservices aligned with the business domains
- Organise autonomous teams to develop and continuously-deliver microservices
- Understand and communicate your organisation's business model
- Create a culture of high alignment between business and technology-minded people
Day One: Domain Discovery and Strategic Design
- Learn how to collaboratively model and understand the business
- Learn how to distill the core business domains
- Learn to understand how technology contributes to business goals
- Learn how to model context boundaries
Day Two: Sociotechnical Architecture
- Learn how to model microservices aligned with context boundaries
- Learn how to design autonomous teams aligned with the software and domain
- Learn why sociotechnical architectures constantly evolve
- Learn how to evolve sociotechnical architectures for business, technical, and social reasons
This course is for:
- Software developers and architects who design and build microservice systems
- Engineering managers and directors who want to organise their teams for more frequent delivery
- Product managers and owners who want to work more effectively with software developers
Attendees should be working in, or have experience working with large development teams of 20+ developers, or have experience working on medium to large (enterprise) software projects, where the teachings in this course are best applied.