Here are some tips for DDD newbies.  It’s easy to fall back to doing ‘what you know best’, so use these tips to stay focused. Hopefully your design skills will get better (and faster) as a result. :)

  1. Don’t start with the User Interface
    Instead of asking “How will the user solve this problem?“, ask “What is the problem?
  2. Design Domain Models, not database schemas
    Most business users don’t understand database schemas – so don’t make them
  3. Design your Domain Model incrementally
    Defining too much detail early on is the fastest way to get side-tracked
  4. Get constant feedback from your Domain Experts
    Take advantage of TrueView’s auto-generated prototypes to get instant feedback
  5. Separate business concerns from technical concerns
    Writing technical infrastructure code can be counter-productive during the modelling phase
  6. Unit testing wisely
    Focus on testing non-trivial behaviour and complex business logic, possibly using BDD
  7. Think agile, be agile
    Your clients don’t have time to wait, so don’t make them