Entities, Repositories and Value Objects. Three of the least important things in Domain-Driven Design yet the three everybody seems to care about the most! It's time to move away from the tactical and focus on the strategic and collaborative aspects of Domain-Driven Design.
First we must start by actually collaborating with domain experts to understand the problem domain. Yes - understanding the problem space is actually really important to DDD. So we need to spend time with domain experts drawing lots of crazy diagrams on the wall, understanding the language they use, and most importantly doing lots of pretentious arm waving.
As we start to understand the problem space we can create a strategy for implementing our solution. We can start breaking the system down into smaller chunks, aligned with the problem domain (bounded contexts). We can then organise our teams around these bounded contexts to optimise for learning and delivery. As part of our strategy we can also start to design the system, using specialised Domain-Driven Architecture diagrams that communicate how our solution aligns with the problem domain (reinforcing our conceptual model).
In this session, we will explore all of these ideas.
Nick is technical leader and consultant who works with a range of organisations in a variety of domains. He specialises in modelling and designing sociotechnical systems - finding boundaries in software and organising teams to optimise speed of delivery, team autonomy, and business outcomes.