S04 Ep. 12. Alberto Brandolini - On Domain-Driven Design and the challenges of reaching Agreements
Description
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