Skip to content
Insights

DDD Meetup about software design heuristics

DDD meetup

Yesterday my colleague Niels and I went to the DDDBelgium meetup with a workshop on software design heuristics by Mathias Verraes. Find out here what we learned from it.

Workshop setup.
The workshop was in real DDD-style without digital tools and we used pen and paper, so there was no distraction. We started by dividing ourselves into groups of 2. Mathias asked us a question to first discuss from gut feeling and then in more detail how a system can send a certain message to another system.

The exact question was as follows:

There is a system (A) that calculates a prize up to 4 decimal places, and a system (B) that wants to receive that prize. How much information does the price contain that you send to system B, 4 or 2 digits. Several people in the audience had chosen 2 digits on gut instinct, and another part had chosen 4 digits.

After we had made our gut feeling known, we had to further discuss with our duos why we had made that choice. After that we distilled it into more generic patterns that can also be applied to other problems.

This allows you to see in a more analytical way why there are different opinions to solve a problem.

The arguments for the two possible options soon surfaced:

Pro 2 digits

  • Hiding information
  • Compliance with international standards
  • Message size
  • Do not duplicate ownership of the information (and business rules such as rounding)

Pro 4 digits

  • Enclose all possible information
  • Follow an existing contract/convention

    Of course there was also a duo who went one step further and suggested to send the two versions at the same time, a heuristic came out as well: Are you sure that the proposed binary choices really are the only options?
DDD meetup

Conclusion

This technique allows us to argue more clearly why your gut feeling goes for a certain solution and how to deal with it. This allows you to see in a more analytical way why there are different opinions to solve a problem.

Mathias did notice that this way of looking at a problem can take a lot of time. However, recognizing these heuristic patterns can help to look at a problem from multiple angles and come to a more complete solution.

Anyway, it was an interesting workshop, thanks to spilberg for hosting the meetup.

More insights

  • SymfonyCon 2024: code in harmony

    The 2024 edition took place in beautiful Vienna, so one of our experts went to check it out. A quick night train journey and some culture later, they were ready to focus on two days packed with Symfony. What insights did we bring back as souvenirs? You can read all about it in this report! 

    SymfonyCon 2024: code in harmony
  • Stepping into something new: Lore’s journey at Codana

    Lore Vanderlinden tells you all about her journey at Codana. She combines her technical background as a frontend developer with a passion for entrepreneurship in her role as project manager. Find out how by reading the blog!

    Stepping into something new: Lore’s journey at Codana
  • Qodo: an AI-copiloot for coding and testing

    We recently came across Qodo: a tool that uses Artificial Intelligence (AI) to help us code and test. In this blog post, you can read all about our initial experiences. 

    Qodo: an AI-copiloot for coding and testing
  • Lunar and Codana merge into one brand

    Lunar and Codana join hands and from today will continue together under the Codana brand name. This merger creates a digital product studio with more than 30 experts and a clear ambition: to become a leading player in the Belgian and European market.

    Lunar and Codana merge into one brand
  • From Intern to Digital Project Manager: My Journey at Codana

    Jelmer Krux tells you all about his journey at Codana. He joined our team fresh out of university and combines the roles of digital project manager and UX/UI Designer. How? Find out by reading his story in this blog! 

    From Intern to Digital Project Manager: My Journey at Codana
  • Cross-platform applicaties with React Native

    Never before has developing native mobile applications been as accessible as it is today. At Codana, we do this by using the React Native, an open-source framework developed by Meta.

    Cross-platform applicaties with React Native