Domain-driven design (DDD) is a methodology for developing complex software systems. It prioritizes the core domain and domain logic, encouraging collaboration among both technical and non-technical stakeholders to create a shared understanding of domain concepts.