Conception pilotée par le domaine (DDD)
La conception pilotée par le domaine, ou DDD (Domain-Driven Design) est une approche du développement logiciel axée sur le domaine ou la sphère de connaissances des utilisateurs. Elle s'intéresse aux besoins complexes des utilisateurs du logiciel : on ne gaspille pas ses forces à des choses inutiles. Ce type de conception intéresse souvent les entreprises d'une certaine taille.
Avant d'adopter cette optique de conception, il convient de définir le domaine de compétences de l'entreprise, notamment ce qui en forme l'essentiel et ce qui est accessoire. Dans une entreprise, le domaine principal est unique, il est au cœur de l'exploitation. Il monopolise donc la majeure partie de l'attention, du temps et des ressources du processus de développement. Les domaines accessoires sont d'ordre général, il s'agit par exemple d'argent, de service ou de temps. Ces domaines sont décrits verbalement puis traduits en code. Si un domaine n'est pas aisément énoncé, il est encore trop tôt pour le coder. Tout changement dans un domaine de l'entreprise entraîne généralement une modification correspondante dans le code.
Eric Evans a introduit ce concept dans son livre Domain Driven Design. Cette approche s'inspire de l'analyse et de la conception orientée objet. Elle facilite la communication sur le projet en cours et se circonscrit aux besoins qui sont au cœur du domaine. En même temps, cette conception DDD exige une connaissance approfondie d'un domaine et ne convient pas aux projets hautement techniques.