This session will introduce the concepts, approaches, and considerations that DDD brings to the table. We will define the concepts, understand the terminology, and explore the role that DDD plays in developing a software solution. In the follow-on discussion, we will be able to discuss issues such as "when is DDD appropriate for a software solution?" and "is it possible to use just *some* of the DDD concepts effectively without applying them all at once?".