Domain-Driven Design in Software Development: A Systematic Literature Review on Implementation, Challenges, and Effectiveness

📅 2023-10-03
🏛️ arXiv.org
📈 Citations: 5
Influential: 1
📄 PDF

career value

193K/year
🤖 AI Summary
This study addresses the lack of empirical evidence and unclear practical efficacy of Domain-Driven Design (DDD) in complex system development. We conducted a systematic literature review (SLR), synthesizing 36 peer-reviewed studies using a mixed-methods approach combining quantitative statistical analysis and qualitative thematic coding. Our work provides the first quantitative validation that three core DDD practices—ubiquitous language, bounded contexts, and domain events—significantly improve system maintainability and business alignment. We further uncover synergistic mechanisms between DDD and microservices architecture, particularly in boundary definition and loose coupling. Key implementation barriers identified include scarcity of DDD expertise and high team competency requirements. Based on these findings, we propose a collaborative industry–academia–research pathway for pragmatic DDD adoption. The study establishes an empirical foundation and methodological framework for scientifically evaluating and engineering DDD at scale.
📝 Abstract
Context: 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.
Problem

Research questions and friction points this paper is trying to address.

Analyzes Domain-Driven Design implementation in software development
Identifies challenges in applying DDD to complex systems
Evaluates effectiveness of DDD in improving software quality
Innovation

Methods, ideas, or system contributions that make the work stand out.

Systematic review of Domain-Driven Design applications
Quantitative and qualitative analysis of 36 studies
Focus on microservices decomposition and stakeholder collaboration