Domain-Driven Design (DDD) is not a technology or a methodology, but a software development practice with complex needs