S04 Ep. 12. Alberto Brandolini - On Domain-Driven Design and the challenges of reaching Agreements

Boundaryless Conversations Podcast - A podcast by Boundaryless SRL - Tuesdays

Categories:

Alberto Brandolini joins the podcast as a sparring partner in our exploration of one of the most “burning” issues in our research: the intrinsic links between language, software, and organizational design. We explore the role of domain-driven design and, more generally, the role of visualization and context mapping in the process we call "ontological convergence"—how we agree on standards, converge on using common models, and build common tools, protocols, and infrastructures. Alberto, EventStorming creator, Domain-Driven Design (DDD) legend, and unconventional entrepreneur, is also famous for the Bullshit Asymmetry Principle, aka Brandolini’s law. He proudly runs Avanscoperta, a hub for inventing, promoting, and spreading new ideas around software development. Alberto is also a frequent speaker at conferences and events and an international trainer with more than ten years of experience. During the chat, we explore the ways software drives the adoption of common models and languages, and how the boundaries between technology and business, between one team and another, and even between organizations themselves, are blurring. Alberto observes that the more distributed an organization is, the more having clean, well-visualized “bounded contexts” becomes a key factor in effectiveness and success. Defining components and modules reduces the need to collectively agree on everything—a heavily underestimated cost of organizing. Remember that you can always find transcripts and key highlights of the episode on our website: https://boundaryless.io/podcast/alberto-brandolini Key Highlights 👉 How ubiquitous can language be. 👉 The best way to speed up reaching agreement? Visualizing instead of talking. 👉 Most no-code and low-code approaches are designed around a paradigm that is antithetic to domain-driven design. 👉 Domain-driven design suggests being aware of the cost of your architectural decisions and the evolution of these forces over time. 👉 When the quality of a component makes it an obvious choice, it’s a good way to create standards. 👉 The hardest part for remote-first organizations is finding a way to make distributed decisions on critical issues. Topics (Chapters) (00:00) Alberto Brandolini quote (00:56) Alberto Brandolini introduction (01:33) What domain-driven design is (16:14) The cost-benefit of agreeing (24:05) Domain-driven design approach in complex environments (28:19) How no-code and low-code systems relate to Domain-Driven Design (38:28) The role of Domain-Driven Design in driving standards into markets and ecosystems (48:22) Talent useful for a company like Avanscoperta (51:24) Alberto Brandolini's breadcrumbs To find out more about Alberto’s work: Twitter: https://twitter.com/ziobrando LinkedIn: https://www.linkedin.com/in/brando Website: https://www.avanscoperta.it Other references and mentions: Brandolini's law (Bullshit Asymmetry Principle): https://en.wikipedia.org/wiki/Brandolini%27s_law EventStorming: https://www.eventstorming.com Developing the ubiquitous language: https://thedomaindrivendesign.io/developing-the-ubiquitous-language The Conformist pattern: https://www.markhneedham.com/blog/2009/07/04/domain-driven-design-conformist Alberto’s suggested breadcrumbs (things listeners should check out): Domain-Driven Design Distilled: https://www.informit.com/store/domain-driven-design-distilled-9780134434421 Implementing Domain-Driven Design (Red Book): https://www.amazon.com/Implementing-Domain-Driven-Design-Vaughn-Vernon/dp/0321834577 Introducing EventStorming (The Book): https://www.eventstorming.com/book David Sibbet: https://davidsibbet.com Dave Gray: http://www.xplaner.com Domain-Driven Design Crew · GitHub: https://github.com/ddd-crew Avanscoperta blog: https://blog.avanscoperta.it Recorded on 09 January 2023. Get in touch with Boundaryless: Find out more about the show and the research at Boundaryless at https://boundaryless.io/resources/podcast