
Mathias Verraes Blog
1,000 FOLLOWERS
This blog is run by Mathias Verraes, founder of Domain-Driven Design Belgium. Mathias Verraes runs a boutique consultancy that advises organisations on designing and modelling software for complex environments, including architecture, analysis, testing, and refactoring "unmaintainable" systems.
Mathias Verraes Blog
1M ago
Software Captains is a organisation that helps startup CTOs through coaching, advice, and networking. In the interview, the founder Tom Klaassen and I discuss software design. We talk about challenges CTOs face, such making technical debt visible for non-technical colleagues, about how software quality is contextual, but still very important even for early stage startups.
The podcast was recorded in Dutch. On YouTube, you can turn on captions and set the autogenerated translation to your language of choice.
Or listen here:
Spotify
Apple
Amazon
Deezer
Libsyn
References:
Design & Realit ..read more
Mathias Verraes Blog
2M ago
Here’s the video of Rebecca Wirfs-Brock & my keynote at Domain-Driven Design Europe 2022, where we talk about the ideas presented in our essay “Critically Engaging with Models”, also available as an e-book on Leanpub.
Watch on YouTube
Abstract
Models, whether for a software system, a development process, diseases, political systems, or otherwise, are a way to look at (a part of) the world. They make a choice about what is important, what categories we classify things in, what we see, what’s invisible, what’s valued, or even what’s valid. They are reductionist, that is, they only show a se ..read more
Mathias Verraes Blog
2M ago
Rebecca Wirfs-Brock and I published a book last year called “Design & Reality” with essays on software design. It’s available on Leanpub.
Leanpub co-founder Len Epp interviewed me about my background, Domain-Driven Design, the book, the notion that your solution can influence your understanding of the problem, and at the end, we talk a bit about my experience as a self-published author.
Or listen on:
iTunes
Spotify
Stitcher
Google Podcasts
Player FM
TuneIn
Castbox
Podbay
References:
Design & Reality book
Source ..read more
Mathias Verraes Blog
11M ago
The Inverse Conway Manoeuvre is an organisational engineering device. It tells us to change our team and organisational structure to achieve the system design we want. More and more organisations reorganise based on this idea, and yet they don’t end up with the system they’d like. What are we missing?
There’s evidence of the Manoeuvre being applied. GitHub for example is a distributed company that built a tool for distributed collaboration using GitHub to build it. While systems do mimic their organisations’ structure, changing the organisation doesn’t seem to have the same effect. That’s beca ..read more
Mathias Verraes Blog
1y ago
I joined Alex Bolboacă on his podcast ‘Think. Design. Work Smart.’ We discussed DDD, the value of models, misconceptions about DDD (it’s not a Big Design Upfront method!) and more ..read more
Mathias Verraes Blog
1y ago
One of us (Mathias) consulted for a client that acted as a broker for paying copyright holders for the use of their content. To do this, they figured out who the copyright holders of a work were. Then they tracked usage claims, calculated the amounts owed, collected the money, and made the payments. Understanding who owned what was one of the trickier parts of their business.
— “It’s just a technical problem.”
— “But nobody really understands how it works!”
— “Some of us understand most of it. It just happens to be a complicated problem.”
— “Let’s do a little bit of modelling anyway.”
A few we ..read more
Mathias Verraes Blog
1y ago
I had a conversation with Ryan Shriver of Singlestone Consulting — well, mostly a monologue, I didn’t warn Ryan that he should interrupt me more :-S
We talked about about DDD, boundaries, legacy, and a little bit about Shostakovich’ 15 string quartets.
Find it on:
Apple Podcasts
Spotify
Podtail
Listen Notes
Vimeo
References
Domain-Driven Design Europe
Refactoring, Martin Fowler
DDD Conference Europe, Eric Evans
Rebecca Wirfs-Brock: Blog, Twitter
Designing Object-Oriented Software, Rebecca Wirfs-Brock
Splitting a Domain Across Multiple Bounded Contexts, by Mathias Verraes and&n ..read more
Mathias Verraes Blog
1y ago
Domain-Driven Design is a software design discipline centred on the principles that:
Software for a complex domain requires all designers (engineers, testers, analysts, …) to have a deep, shared understanding of the domain, guided by domain experts
That understanding is rooted in language: the domain language should be formalised into a Ubiquitous Language (shared, agreed upon, unambiguous)
The understanding is expressed in a model, shared between experts and designers, which express the problem space (as opposed to the solution space)
The model must not shy away from explicitly expressing th ..read more
Mathias Verraes Blog
1y ago
“The transition to a really deep model is a profound shift in your thinking and demands a major change to the design.” — Domain-Driven Design, Eric Evans
There is a fallacy about how domain modelling works. The misconception is that we can design software by discovering all the relevant concepts in the domain, turn them into concepts in our design, add some behaviours, and voilà, we’ve solved our problem. It’s a simplistic perception of how design works: a linear path from A to B:
understand the problem,
apply design,
end up with a solution.
That idea was so central to early Object-Oriente ..read more
Mathias Verraes Blog
1y ago
Imagine a wholesaler of parts for agricultural machines. They’ve built a B2B webshop that resellers and machine servicing companies use to order. In their Ubiquitous Language, an Order represents this automated process. It enables customers to pick products, apply the right discounts, and push it to Shipment.
Our wholesaler merges with a competitor: They’re an older player with a solid customer base and a huge catalog. They also have an ordering system, but it’s much more traditional: customers call, and an account manager enters the order, applies an arbitrary discount, and pushes it to Shipm ..read more