← All resources
Domain-Driven Design cover image

Book

Domain-Driven Design

Tackling Complexity in the Heart of Software

Complex software should be shaped around the domain it serves. Domain-Driven Design introduces practices for aligning code, language, models, and collaboration around shared business understanding.

Find this book ↗

Eric Evans presents a strategic and tactical approach to software design centered on the domain model and ubiquitous language. The book remains foundational for connecting software architecture to human expertise and organizational meaning.

Software systems often fail because technical structure drifts away from domain understanding.

Domain-Driven Design addresses this by placing the domain at the center of software work. Evans argues that teams need a shared model expressed in a shared language. That language should appear in conversations, diagrams, and code.

The model is not merely documentation. It is a working understanding of the business reality the system supports.

DDD also recognizes boundaries. Different contexts may need different models.

This makes the approach deeply sociotechnical.

The quality of the software depends on the quality of collaboration between technical experts and domain experts.

Why this belongs here

Knowledge Flow depends on shared models that connect language, system behavior, and domain understanding. DDD belongs here because it treats software design as a knowledge practice.

When concepts drift or remain implicit, software encodes confusion. When domain understanding is made visible and shared, systems can preserve meaning across teams and time.

Connected through people and ideas

Book

Complex Adaptive Systems

An Introduction to Computational Models of Social Life

Complex adaptive systems are made of agents whose interactions create large-scale patterns. Miller and Page introduce computational models for understanding adaptation, emergence, and social complexity.

Knowledge Flow

  • Sociotechnical Systems

Book

Complexity

A Guided Tour

Complex systems produce surprising patterns from many interacting parts. Complexity introduces the science of complex systems across computation, biology, evolution, networks, and adaptation.

Knowledge Flow

  • Sociotechnical Systems

Book

Design Unbound

Designing for Emergence in a White Water World

A systems-oriented exploration of design as an adaptive, participatory practice for shaping complex living environments rather than controlling static objects.

Knowledge Flow

  • Sociotechnical Systems