Naar de inhoud
Inzichten

DDD Meetup over software design heuristics

DDD meetup

Gisteren was er een DDDBelgium meetup over software design heuristics door Mathias Verraes. Ik ging daar samen met collega Niels naartoe, en hier volgt een klein verslag van wat we geleerd hebben.

Workshop setup.

De workshop was in echte DDD-stijl zonder digitale hulpmiddelen en we maakten gebruik van pen en papier, zodat er verder geen afleiding was. We startten met ons op te delen in groepjes van 2. Mathias stelde ons een vraagstuk om eerst vanuit het buikgevoel en daarna in meer detail te bespreken hoe een systeem een bepaalde boodschap naar een ander systeem kan sturen.

Het exacte vraagstuk was als volgt:

Er bestaat een systeem (A) dat een prijs berekent tot 4 cijfers na de komma, en een systeem B dat die prijs wil ontvangen. Hoeveel informatie bevat de prijs die je doorstuurt naar systeem B, 4 of 2 cijfers. Verschillende mensen in het publiek hadden op buikgevoel voor 2 cijfers gekozen, en een ander deel had voor 4 cijfers gekozen.

Nadat we ons buikgevoel kenbaar hadden gemaakt, moesten we met onze duo's verder bespreken waarom we die keuze gemaakt hadden. Daarna destilleerden we dat naar meer generieke patronen die ook op andere problemen toepasbaar zijn.

Dit zorgt er voor dat je op een meer analytische manier kan bekijken waarom er verschillende meningen zijn om een probleem op te lossen.

De argumenten voor de twee mogelijke opties kwamen al snel naar boven:

Pro 2 cijfers

  • Verbergen van informatie
  • Volgen van internationale standaarden
  • Grootte van het bericht
  • Eigendom van de informatie (en business-rules zoals afronding) niet dupliceren

Pro 4 cijfers

  • Alle mogelijke informatie meesturen
  • Een reeds bestaand contract/conventie volgen

Er was natuurlijk ook een duo die nog een stap verder ging en voorstelde om de twee versies tegelijk door te sturen, daar kwam ook een heuristic uit naar voor: Ben je zeker dat de voorgestelde binaire keuzes ook echt de enige opties zijn?

DDD meetup

Conclusie

Deze techniek zorgde er voor dat we duidelijker kunnen argumenteren waarom je buikgevoel voor een bepaalde oplossing gaat en hoe je daarmee om moet gaan. Dit zorgt er voor dat je op een meer analytische manier kan bekijken waarom er verschillende meningen zijn om een probleem op te lossen.

Mathias merkte wel op dat deze manier van een probleem bekijken veel tijd in beslag kan nemen. Maar dat het herkennen van deze heuristische patronen kan helpen om een probleem langs meerde kanten te bekijken en zo tot een meer complete oplossing te komen.

Sowieso was het wel interessante workshop, bedankt aan spilberg om de meetup te hosten.

Meer inzichten

  • SymfonyCon 2024: code in harmonie

    Editie 2024 van SymfonyCon vond plaats in het prachtige Wenen, dus een van onze experts ging ter plaatse. Even de nachttrein op, wat cultuur opsnuiven, en dan: volop focussen op twee dagen vol Symfony. Onze inzichten lees je in dit verslag! 

    SymfonyCon 2024: code in harmonie
  • Qodo: een AI-copiloot voor coderen en testen

    Recent kwamen we Qodo op het spoor: een tool die met behulp van Artificiële Intelligentie (AI) ons kan helpen coderen en testen. In deze blog lees je ons relaas van de eerste ervaringen.

    Qodo: een AI-copiloot voor coderen en testen
  • Lunar en Codana slaan de handen in elkaar

    Lunar en Codana slaan de handen in elkaar en gaan samen verder onder de naam Codana. Deze fusie creëert een digital product studio met meer dan 30 experts en een duidelijke ambitie: uitgroeien tot een toonaangevende speler op de Belgische en Europese markt.

    Lunar en Codana slaan de handen in elkaar
  • Het nieuw avontuur van Lore bij Codana

    Lore Vanderlinden vertelt je alles over haar avontuur bij Codana. Ze combineert een technische achtergrond als front-end ontwikkelaar met een passie voor ondernemen in haar rol als projectmanager. Ontdek hoe dat in zijn werk gaat in deze blog! 

    Het nieuw avontuur van Lore bij Codana
  • Van Stagiair naar Digital Project Manager bij Codana

    Wat begon als een zoektocht naar een stageplek, groeide uit tot een kans die Jelmer nooit had durven dromen: een vaste rol in een dynamisch en ambitieus bedrijf. Lees hier alles over zijn traject bij Codana.

    Van Stagiair naar Digital Project Manager bij Codana
  • Cross-platform applicaties met React Native

    Nog nooit was het ontwikkelen van native mobiele applicaties zo toegankelijk als vandaag. Bij Codana doen we dit door gebruik te maken het React Native, een open-source framework dat werd ontwikkeld door Meta.

    Cross-platform applicaties met React Native