In order to create something, you must first understand what are you trying to create! DDD describes the process of consulting and deciding on explicit definitions of each piece of the domain that you are trying to mimic. It is a set of functionality that lies outside of your application. That is why you will want to assign a Domain Expert, most likely, it would be your client.


TDD is the process of testing code before writing it. It is based on a particular desired pieced of functionality, letting them fail. To simplify, you write the least amount of code possible to make the test pass, then write another test. Cycle that over and over until you have finished a feature and then go back and refactor.

DDD and TDD fit together quite well!

DDD lives mostly in how you research before coding, how you name things, and how you interact with the client. On the other hand, TDD is the process of actually writing your code.

Implement TDD and DDD techniques in a team!

TDD and DDD are key skills for team members of highly effective, performant teams.Pim has already done dozens of smaller and larger projects using TDD and DDD. He would love to share these good (and bad!) experiences with you! Asking the rights questions, writing useful tests and creating meaningful code. We can’t wait to help you grasp TDD, DDD & Teamwork details!