Are you interested creating deeper models to increase your enterprise business agility? Join Alberto Brandolini for this intensive 3 day Domain Driven Design workshop to find the strategy that works for you!
Large scale software development projects often fail to deliver the expected value. Release after release, the resulting stack becomes unsafe and harder to change. Even worse, the fragility of the existing system pollutes the ecosystem: relevant business requests might be procrastinated due to lack of safety, while good developers might be tempted to leave.
Domain-Driven Design attacks these problems from the source, by promoting a tighter alignment between business stakeholders and software practitioners, and a different approach for critical software development.
Join DDD expert Alberto Brandolini on this intense and interactive three days workshop and he will show you how to find the sweet spot between strategy and implementation. You will discover new ways to collaborate with stakeholders and discover how to develop software and best practices to design performing and robust architectures.
Learn how to:
- Choose if, when and where to apply Domain Driven Design in your own development scenarios
- Correctly structure your domain models
- Choose the most suitable implementation strategies for the different problems at hand
What the community says
"Great experience sharing."Carlos Esteban Raffellini, Codurance on 26th Jun 2017
"I really enjoyed his ability, keeping the group focused on the topic."Suen Linstaedt, Kuehne + Nagel on 24th Apr 2017
- Domain Driven Design at the state of the art. What matters now and why.
- A different approach to software development: a new mindset makes DDD a perfect match for critical projects.
- Exploring large and complex domain with Big Picture EventStorming. See and touch how different subdomains cooperate and how a business-driven structure for the software infrastructure spontaneously emerges from stakeholder collaboration.
- Strategic DDD: the big picture. Where and when we should approach a complex software development process with Domain-Driven Design. Core Domain, Supporting Generic Subdomains. Strategic Distillation.
- Core Domain Strategies: managing collaboration between developers and other key stakeholders. Debunking myths about the Domain Expert. DDD as an approach to software development process: ubiquitous language and Whirlpool model. How DDD meets Agile, Lean and Theory of Constraints.
- Discovery of the system’s behavioural model. Using Design-Level EventStorming to model critical processes and understand stakeholders needs and motivation.
- Conceptual CQRS: how to ask the right questions and understand the most suitable architecture for the domain under investigation.
- Aggregate emersion. Evolution of different implementation strategies since 2004. Which are the best strategies given our current technology stack?
- Which architectures for DDD? Different implementation approaches: DDD by the book, Hexagonal (AKA ports and adapters), Event Sourcing and CQRS. How does it match with current software architecture paradigms?
- Managing Bounded Contexts: how to make multiple models co-evolve and cooperate, without trade-offs that we’ll one day regret.
- Brownfield Context Mapping: how to quickly read the implementation scenario, and how to choose the best strategies to lead implementation. Context Mapping Patterns. Reading organisations structures and limitations.
- Greenfield Context Mapping: strategies to manage models of growing complexity. Why, when and how to split our models. The three archetypes and their implementing patterns.
- Event Driven Modelling: modelling a complex architecture outside-in. Patterns for discovery and modelling of a Domain Events based system.
- Modelling our way out of the legacy: how common flaws in past approaches to modelling paved the way to repeatable strategies for large system refractoriness in the sweet spot.
- Aggregates: boundaries and implementation strategies. Polyglot persistence.
- Q # A: topic marketplace on the hottest topics, managed in a Kanban fashion.
If you are a Programmer, Software Developer, Tester, Business Analyst or Software Architect that wants to learn the foundations of DDD then this course is for you!