DDD is an approach to software development for complex needs by connecting the implementation to an evolving model.