Anyone who has ever worked on large, complex development projects knows the typical risks/challenges: Lack of overview, no full understanding of interdependencies, misunderstandings (especially between technical experts and the domain experts) and so on.

Domain Driven Design is an approach to create an common overview for people with different backgrounds (domain experts, developers, managers, etc.) and to create a uniform language to avoid misunderstandings and to communicate precisely (ubiquitous language).

It is a very elaborate method, language is specified, business processes are modeled, a uniform language regime is established and so on.

Author

The author is a manager in the software industry with international expertise: Authorized officer at one of the large consulting firms - Responsible for setting up an IT development center at the Bangalore offshore location - Director M&A at a software company in Berlin.