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.

DDD meetup

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?

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.

Author: Joris Vercammen
Developer
Joris Vercammen

More insights

Address register & GEOpunt API

Have you ever had to decide whether you should use Google maps, openstreetmaps, or another GIS provider for address suggestions? If you only need Belgian addresses, be sure to read on!

Author: Noah Gillard
PHP / Laravel Developer
Noah Gillard AI generated Face
Logo vlaamse overheid

Next.js: Just another framework?

About every 10 years, new technology emerges that brings about a change in the way we develop software. Is Next.js this new technology?

Author: Dries Cappon
UX, Design, React.js, Next.js
Dries Cappon
Next.js

Laravel 10 release

The release of Laravel 10: The king of types. Alles wat je moet weten over de nieuwe major release!

Author: Noah Gillard
PHP / Laravel Developer
Noah Gillard AI generated Face
laravel 10 banner

Saloon - Package / SDK API integrations

API integrations for a range of services. Little to no reusable code? With Saloon you turn it into a compact/clean SDK/Package that you can reuse in all your projects and maintain in one place.

Author: Noah Gillard
PHP / Laravel Developer
Noah Gillard AI generated Face
Saloon hero image

Codana wins Digital Champ of the year award 2022

Codana is the winner of the FeWeb Digital Champ award 2022! 

Author: Joris De Groot
Strategic Director and Managing Partner
Joris De Groot
FeWeb Digital Champ award Codana

Life as a React developer at Codana: 1 year in service

"You can start working with us as a React developer!". Bliss! Needless to say, I was super happy to hear this! But, I had never written a line of React before.

Author: Thomas Timmermans
Frontend Developer
Thomas Timmermans
Ik na 1 jaar in dienst