Set of patterns and good practices of software development; ▪ Big ball of mud problem; ▪ Strategic design (why, what) - Bounded contexts, subdomains, ubiquitous language and context maps; ▪ Tactical design (how) - Entities, services, repositories, value objects, aggregates, events, factories, etc.; ▪ Architecture - Hexagonal, Layered, CQRS; ▪ Refactoring toward deeper insight / Iterative by nature; ▪ Eases communication / Encourages talking to domain experts; ▪ Good for complex domains; ▪ DDD-Lite; ▪ Not a silver bullet; Domain-Driven Design