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:
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.