Domain Driven Design
DDD is a software development approach guided directly to the domain (the problem we are trying to solve) and creating a model that reflects that understanding and solution. Furthermore, it is a philosophy that says communication between different times and technical and non-technical people should be encouraged and facilitated. Briefly, DDD is not an architecture but always goes together with some.
The language of common understanding of business rules and developers.
Contexts with well-defined boundaries and responsibilities and a ubiquitous language related to them.
It's the problem we're trying to solve. It is the central focus of the development process and the main source of complexity and technical challenges.