Mark Windholtz on Domain-Driven Design (DDD) episode artwork

EPISODE · Aug 20, 2020 · 58 MIN

Mark Windholtz on Domain-Driven Design (DDD)

from Elixir Wizards · host SmartLogic LLC

Domain-driven design and extreme programming can help bridge the gap between development and business, and today we invite Mark Windholtz from Agile DNA to talk about how! Mark starts out by telling us about his early work in extreme programming before agile was a term and how he switched from Rails to Elixir after realizing its power for implementing domain-driven design. We take a deep dive with him into what these concepts mean, hearing him weigh in on how DDD can help architecture accommodate both development and business oriented complexities. For Mark, development and business teams must get a better understanding of each other’s jargon, and DDD is a way to accomplish this. The goal is to find a way of building a solid software core and to move away from features to systems thinking, whereby flexible software can make it more possible to do agile on the business side. We chat about some of the practices and principles that come into play when implementing DDD for Mark, and he details concepts like ubiquitous language, bounded contexts, and how to focus on the core domain by exploring models using tactical and strategic patterns. Along with this, Mark discusses users not being a domain concept, the challenges of getting new terms to stick in teams’ minds, and the task of refactoring code to reflect updated glossaries. Near the end of our conversation, Mark drills down on how DDD can optimize team efficiency. In closing, we get to know Chris Bell from ElixirTalk a little better in this week’s edition of Pattern Matching with Todd! Key Points From This Episode: Thoughts on SpaceEx and their approach to engineering: system versus feature optimization. Mark’s background in extreme programming, how he got started with AgileDNA, and the work they do there. A definition of extreme programming that adds engineering practices to Scrum. Elixir’s superior ability to do DDD compared to Rails and how Mark got started using it. A brief introduction to domain-driven design, an approach to simplifying complex software. How architecture needs to accommodate essential as well as accidental complexity. Elixir’s ability to accommodate the building of domain models with well-separated code chunks. Principles of ubiquitous language and bounded contexts that make up DDD for Mark. Ubiquitous language helps devs and businesspeople understand each other. Bounded contexts: ‘Within this space, this world means this thing.’ Shifting focus from trying to make not all software, but core software, good. What patterns are applied to use principles of ubiquitous language and bounded contexts. Finding and focusing on the core domain by exploring models and how to do this using tactical and strategic patterns. The consequences of users not being a domain concept which demands having a clearer language. Challenges of getting language and concepts to stick in business people’s minds. Refactoring code to reflect updated glossaries: Technical challenges teams doing DDD face. Switching paradigms from feature-based optimizations to building an amazing code core. Approaches to modeling: the value of exploring multiple models. How teams can become more efficient using DDD and extreme programming. Final plugs from Mark and how Agile DNA can help use Elixir to implement DDD. Pattern matching: Todd gets to know more about Chris Bell from ElixirTalk. How Chris got into programming, what he’d do if not be a programmer, and more! Why Chris loves history, dream pop, and what movie he’ll watch over and over. What project Chris is most excited about next: Building Settlers of Catan using LiveView. Links Mentioned in Today’s Episode: Elixir Wizards Listener Survey — https://smr.tl/podcastsurvey SmartLogic — https://smartlogic.io/ Mark Windholtz on LinkedIn — https://www.linkedin.com/in/mwindholtz/ Mark Windholtz on Twitter — https://twitter.com/windholtz Agile DNA — http://www.agiledna.com Chris Bell on Twitter — https://twitter.com/cjbell_?lang=en ElixirTalk — http://elixirtalk.com/ Chris Keathley — https://keathley.io/ Elon Musk — https://www.forbes.com/profile/elon-musk/#5bbe73cc7999 The Everyday Astronaut — https://www.youtube.com/channel/UC6uKrU_WqJ1R2HMTY3LIx5Q Rob Martin — https://www.linkedin.com/in/version2beta/ Perhap — https://github.com/Perhap/perhap Andrew Hao — https://github.com/andrewhao Fred Brooks — http://www.cs.unc.edu/~brooks/ The Mythical Man-Month — https://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959 Zach Thomas — https://github.com/zdcthomas?language=elixir&tab=stars 1917 — https://www.imdb.com/title/tt8579674/ Real Estate — https://www.realestatetheband.com/ Galaxie 500 — https://pitchfork.com/artists/1673-galaxie-500/ Star Trek: First Contact — https://www.imdb.com/title/tt0117731/ Star Trek: The Wrath of Khan — https://www.imdb.com/title/tt0084726/ LiveView — https://hexdocs.pm/phoenix_live_view/Phoenix.LiveView.html Lonestar Elixir — https://lonestarelixir.com/Special Guest: Mark Windholtz.

Domain-driven design and extreme programming can help bridge the gap between development and business, and today we invite Mark Windholtz from Agile DNA to talk about how! Mark starts out by telling us about his early work in extreme programming before agile was a term and how he switched from Rails to Elixir after realizing its power for implementing domain-driven design. We take a deep dive with him into what these concepts mean, hearing him weigh in on how DDD can help architecture accommodate both development and business oriented complexities. For Mark, development and business teams must get a better understanding of each other’s jargon, and DDD is a way to accomplish this. The goal is to find a way of building a solid software core and to move away from features to systems thinking, whereby flexible software can make it more possible to do agile on the business side. We chat about some of the practices and principles that come into play when implementing DDD for Mark, and he details concepts like ubiquitous language, bounded contexts, and how to focus on the core domain by exploring models using tactical and strategic patterns. Along with this, Mark discusses users not being a domain concept, the challenges of getting new terms to stick in teams’ minds, and the task of refactoring code to reflect updated glossaries. Near the end of our conversation, Mark drills down on how DDD can optimize team efficiency. In closing, we get to know Chris Bell from ElixirTalk a little better in this week’s edition of Pattern Matching with Todd! Key Points From This Episode: Thoughts on SpaceEx and their approach to engineering: system versus feature optimization. Mark’s background in extreme programming, how he got started with AgileDNA, and the work they do there. A definition of extreme programming that adds engineering practices to Scrum. Elixir’s superior ability to do DDD compared to Rails and how Mark got started using it. A brief introduction to domain-driven design, an approach to simplifying complex software. How architecture needs to accommodate essential as well as accidental complexity. Elixir’s ability to accommodate the building of domain models with well-separated code chunks. Principles of ubiquitous language and bounded contexts that make up DDD for Mark. Ubiquitous language helps devs and businesspeople understand each other. Bounded contexts: ‘Within this space, this world means this thing.’ Shifting focus from trying to make not all software, but core software, good. What patterns are applied to use principles of ubiquitous language and bounded contexts. Finding and focusing on the core domain by exploring models and how to do this using tactical and strategic patterns. The consequences of users not being a domain concept which demands having a clearer language. Challenges of getting language and concepts to stick in business people’s minds. Refactoring code to reflect updated glossaries: Technical challenges teams doing DDD face. Switching paradigms from feature-based optimizations to building an amazing code core. Approaches to modeling: the value of exploring multiple models. How teams can become more efficient using DDD and extreme programming. Final plugs from Mark and how Agile DNA can help use Elixir to implement DDD. Pattern matching: Todd gets to know more about Chris Bell from ElixirTalk. How Chris got into programming, what he’d do if not be a programmer, and more! Why Chris loves history, dream pop, and what movie he’ll watch over and over. What project Chris is most excited about next: Building Settlers of Catan using LiveView. Links Mentioned in Today’s Episode: Elixir Wizards Listener Survey — https://smr.tl/podcastsurvey SmartLogic — https://smartlogic.io/ Mark Windholtz on LinkedIn — https://www.linkedin.com/in/mwindholtz/ Mark Windholtz on Twitter — https://twitter.com/windholtz Agile DNA — http://www.agiledna.com Chris Bell on Twitter — https://twitter.com/cjbell_?lang=en ElixirTalk — http://elixirtalk.com/ Chris Keathley — https://keathley.io/ Elon Musk — https://www.forbes.com/profile/elon-musk/#5bbe73cc7999 The Everyday Astronaut — https://www.youtube.com/channel/UC6uKrU_WqJ1R2HMTY3LIx5Q Rob Martin — https://www.linkedin.com/in/version2beta/ Perhap — https://github.com/Perhap/perhap Andrew Hao — https://github.com/andrewhao Fred Brooks — http://www.cs.unc.edu/~brooks/ The Mythical Man-Month — https://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959 Zach Thomas — https://github.com/zdcthomas?language=elixir&tab=stars 1917 — https://www.imdb.com/title/tt8579674/ Real Estate — https://www.realestatetheband.com/ Galaxie 500 — https://pitchfork.com/artists/1673-galaxie-500/ Star Trek: First Contact — https://www.imdb.com/title/tt0117731/ Star Trek: The Wrath of Khan — https://www.imdb.com/title/tt0084726/ LiveView — https://hexdocs.pm/phoenix_live_view/Phoenix.LiveView.html Lonestar Elixir — https://lonestarelixir.com/Special Guest: Mark Windholtz.

NOW PLAYING

Mark Windholtz on Domain-Driven Design (DDD)

0:00 58:51

No transcript for this episode yet

We transcribe on demand. Request one and we'll notify you when it's ready — usually under 10 minutes.

REWIND: The Musician’s Podcast - How to Grow Your Music Career Amit Weiner Welcome to Rewind!An optimistic podcast that will help you in your successful Career in Music!Amit Weiner hosts musicians, composers, professors, and sound wizards, as they share their life stories and career decisions.Stay tuned, it’s gonna be epic! Behind The Irishman Netflix Go behind the scenes of Martin Scorsese’s The Irishman with this official companion podcast from Netflix. Hosted by comedian and The Irishman co-star Sebastian Maniscalco (“Crazy Joe” Gallo), this three-part series features interviews with cast and crew, including Martin Scorsese, Robert De Niro, Al Pacino, and Joe Pesci. Hear the story of Frank “The Irishman” Sheeran from the man he chose to tell it—and how Scorsese and De Niro fought for years to bring that story to the screen. Plus, learn about the brand-new technology the visual effects wizards at Industrial Light and Magic built to bring this epic tale to life. This podcast was produced by Netflix with FannieCo and Crossroad Productions. Thinking Elixir Podcast ThinkingElixir.com The Thinking Elixir podcast is a weekly show where we talk about the Elixir programming language and the community around it. We cover news and interview guests to learn more about projects and developments in the community. Whether you are already experienced with Elixir or just exploring the language, this show is created with you in mind. We discuss community news, Functional Programming, transitioning from OOP, coding conventions, and more. Guests visit the show to help challenge our assumptions, learn about new developments and grow in the process. Subscribe to join us on this journey! The Magic Academy John Fletcher, Russell Earnshaw Supporting coaching wizards! Rusty and Fletch love to hang with rockstars from the coaching world and get them sharing through some pretty cool questions

Frequently Asked Questions

How long is this episode of Elixir Wizards?

This episode is 58 minutes long.

When was this Elixir Wizards episode published?

This episode was published on August 20, 2020.

What is this episode about?

Domain-driven design and extreme programming can help bridge the gap between development and business, and today we invite Mark Windholtz from Agile DNA to talk about how! Mark starts out by telling us about his early work in extreme programming...

Is there a transcript available for this episode?

Yes, a full transcript is available for this episode. You can read the complete transcript on the episode page.

Can I download this Elixir Wizards episode?

Yes, you can download this episode by clicking the download button on the episode player, or subscribe to the podcast in your preferred podcast app for automatic downloads.
URL copied to clipboard!