Domain-Driven Design in Software Development: A Systematic Literature Review on Implementation, Challenges, and Effectiveness
Domain-Driven Design in Software Development: A Systematic Literature Review on Implementation, Challenges, and Effectiveness
Ozan Özkan, Önder Babur, Mark van der Brand
AbstractContext: Domain-Driven Design (DDD) addresses software challenges, gaining attention for refactoring, reimplementation, and adoption. It centers on domain knowledge to solve complex business problems. Objective: This Systematic Literature Review (SLR) analyzes DDD research in software development to assess its effectiveness in solving architecture problems, identify challenges, and explore outcomes. Method: We selected 36 peer-reviewed studies and conducted quantitative and qualitative analysis. Results: DDD effectively improved software systems, emphasizing Ubiquitous Language, Bounded Context, and Domain Events. DDD in microservices gained prominence for system decomposition. Some studies lacked empirical evaluations, identifying challenges in onboarding and expertise. Conclusion: Adopting DDD benefits software development, involving stakeholders like engineers, architects, managers, and domain experts. More empirical evaluations and open discussions on challenges are needed. Collaboration between academia and industry advances DDD adoption and knowledge transfer in projects.