A Non-Technical Introduction to Domain-Driven Design

By Ed Schaefer

Elevator Pitch

Unlock the power of Domain-Driven Design! This non-technical introduction will cover the basics - why domain context matters, how we use models, and the value of ubiquitous language. Learn a powerful approach for creating software that matches the business domain and evolves as you learn more.

Description

Have things ever happened to you? You’re talking to a user or business stakeholder about an aspect of an application, but can’t find anything in the code that matches the language they are using? A discussion seems to go around and around in circles. Participants aren’t understanding each other, and can’t seem to get any closer to a solution? Someone uses a word you think you understand only to discover later they were using it totally differently than you thought?

You are not alone, and domain-driven design is here to help! This non-technical introduction will provide a comprehensive overview of the key concepts that you need to know to take advantage of this innovate approach to software development.

We’ll start by exploring how context helps us understand and focus on the core domain space we are working in. Next, we’ll move on to the importance of models and the role they play in knowledge work, like software development. After that we’ll dive into the power of creating ubiquitous language and why semantics matter. Finally we’ll talk about the continuous evolution process that ties them all together and into the software we are building.

By the end of this talk, you’ll have a solid understanding of the foundational mindset behind domain-driven design and some ideas on how to apply it to the work you are doing today. Best of all, you’ll leave equipped with a new set of tools to take your software development approach to the next level.

Whether you’re just starting out with Domain-Driven Design or looking to deepen your existing knowledge, this talk is for you!

Notes

I am an agile coach who always looks for new approaches to help teams be their best and deliver the best possible work. As a result I am constantly finding and experimenting with new tools and techniques to improve the software development process and experience. I learned about Domain-Driven Design through the Denver Domain-Driven Design meetup and found it filled some gaps that Agile, DevOps, eXtreme Programming, and other methodologies and frameworks didn’t really address. I started exploring the process and various tools and concepts and it has really helped the teams I have worked with to be better aligned with the business stakeholders, terminology, and overall context and purpose for the applications they build. Ever since I discovered this approach I have been excited to share and spread the word to help others get better outcomes and results, communicate more clearly, and build applications that more closely match the business domain they are being used in.

I moved to Tulsa in mid-2022 and have been trying to grow in the local tech community - 200OK was the first conference I attended after moving. I moved from the Denver metro area in Colorado where I was (and still am) heavily involved in the agile and devops communities. I am an organizer for the Agile Denver Kanban Community of Practice, recently joined as an organizer with the Techlahoma Tulsa Agile Practitioners, have presented at these meetups, and done a fair amount of internal presenting. I had a CFP accepted to the 2020 Mile High Agile Conference, though was unable to present as this conference was cancelled due to the pandemic. I am looking for opportunities to speak to the community and grow as a professional speaker and IT thought leader and 200OK seems like a great opportunity to get more involved, help build some name recognition in my new home, and most importantly spread some awesome concepts and tools.