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.

DDD meetup

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?

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.

More insights

Een efficiënt datamanagementsysteem voor toerisme

Een TDMS of Tourist Data Management System, is simpelweg een platform dat data uit verschillende bronnen ophaalt, intern al dan niet automatisch verwerkt en deze gegevens terug aanbiedt aan externe platformen.

Auteur: Tom Van den Eynden
Web Architect | Coordinator
Tom Van den Eynden
laptop

Systemen voor gegevensbeheer in toerisme

In dit artikel verkennen we wat een TDMS is, waarom het essentieel is voor de toerisme-industrie, en hoe technologieën zoals Laravel en ElasticSearch het verschil kunnen maken. 

Auteur: Tom Van den Eynden
Web Architect | Coordinator
Tom Van den Eynden
tdms

Beveiliging van Laravel 101

In deze blogpost gaan we dieper in op een aantal veelvoorkomende Laravel beveiligingsfouten.

Auteur: Robbe Reygel
PHP developer
laravel

Test Driven Development - toepassing op een project

TDD, of voluit Test Driven Development, is een aanpak van ontwikkeling waarbij we vertrekken van het schrijven van tests. 

Auteur: Sarah Jehin
PHP developer
Sarah Jehin
development

De OSLO-standaard: hoe gestandaardiseerde gegevensuitwisseling ons verder brengt

De OSLO-standaard is een term die je misschien wel eens hebt horen vallen in de context van gegevensuitwisseling en digitale transformatie, maar wat houdt het precies in en wat zijn de voordelen ervan?

Auteur: Benjamin Verhaegen
PHP Developer
benjamin_verhaegen
shaking_hands_black_white

De toekomst van web applicaties: wat kunnen we verwachten?

In de afgelopen jaren hebben web applicaties een enorme evolutie doorgemaakt. Maar wat heeft de toekomst voor ons in petto? Je ontdekt het allemaal in deze blog.

Auteur: Tom Van den Eynden
Web Architect | Coordinator
Tom Van den Eynden
computerscherm met code