Skip to main content
QUICK REVIEW

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

Ozan Özkan, Önder Babur|arXiv (Cornell University)|Oct 3, 2023
Software Engineering Techniques and Practices4 citations
TL;DR

This systematic literature review analyzes 36 peer-reviewed studies on Domain-Driven Design (DDD) in software development, identifying its effective implementation in microservices architecture, key challenges in onboarding and expertise requirements, and limited empirical validation in existing research. The study concludes that DDD enhances system design and complexity management but calls for more rigorous evaluations and industry-academia collaboration.

ABSTRACT

Context: Domain-Driven Design (DDD) has gained significant attention in software development for its potential to address complex software challenges, particularly in the areas of system refactoring, reimplementation, and adoption. Using domain knowledge, DDD aims to solve complex business problems effectively. Objective: This SLR aims to provide an analysis of existing research on DDD in software development, paint a picture of DDD in solving software problems, identify the challenges encountered during its application and explore the results of these studies. Method: We systematically selected 36 peer reviewed studies and conducted quantitative and qualitative analyzes to synthesize the findings. Results: DDD has effectively improved software systems, with its key concepts. The application of DDD in microservices has gained prominence for its ability to facilitate system decomposition. Some studies lacked empirical evaluations, highlighting challenges in onboarding and the need for expertise. Conclusion: Adopting DDD benefits software development, involving stakeholders such as engineers, architects, managers, and domain experts. More empirical evaluations and open discussions on challenges are needed. Collaboration between academia and industry advances the adoption and transfer of knowledge of DDD in projects.

Motivation & Objective

  • To analyze existing research on Domain-Driven Design (DDD) in software development.
  • To identify how DDD is applied in practice, especially in complex systems and microservices.
  • To uncover challenges in adopting DDD, including onboarding difficulties and expertise requirements.
  • To evaluate the effectiveness of DDD through synthesis of empirical findings.
  • To highlight gaps in empirical validation and call for enhanced collaboration between academia and industry.

Proposed method

  • Systematic literature review (SLR) methodology applied to identify and select relevant peer-reviewed studies.
  • Inclusion criteria focused on studies discussing DDD implementation, challenges, or effectiveness in software development.
  • 36 studies were selected after screening and quality assessment using predefined criteria.
  • Quantitative and qualitative synthesis techniques were used to analyze findings across selected studies.
  • Thematic analysis was applied to extract recurring patterns in implementation, challenges, and outcomes.
  • The review followed PRISMA guidelines to ensure transparency and reproducibility in study selection.

Experimental results

Research questions

  • RQ1How is Domain-Driven Design (DDD) implemented in real-world software development projects?
  • RQ2What are the primary challenges encountered during the adoption of DDD in software teams?
  • RQ3What evidence exists on the effectiveness of DDD in improving software system quality and maintainability?
  • RQ4To what extent are empirical evaluations present in current DDD research?
  • RQ5What role do domain experts, architects, and developers play in successful DDD adoption?

Key findings

  • DDD has been effectively applied in microservices architectures, enabling better system decomposition and alignment with business domains.
  • Key DDD concepts such as Ubiquitous Language, Bounded Contexts, and Aggregates significantly improve software design and maintainability.
  • Many studies lack empirical validation, with only a minority reporting measurable outcomes like performance gains or defect reduction.
  • Onboarding challenges are frequently reported, particularly due to the need for deep domain knowledge and cross-functional collaboration.
  • Expertise in DDD is a major barrier, with teams often struggling to find or train personnel with sufficient experience.
  • There is a notable gap in long-term, large-scale empirical studies, suggesting a need for more rigorous evaluation in industrial settings.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.