Communicatie met klant
De developers, Rik en Nick, beginnen hun verhaal met een casus. Een fictief bedrijf, Vadisco genaamd, is bezig met een nieuwe software feature voor een fictieve klant. Het gaat om een bestelapplicatie. De kern van de casus zit hem in de communicatie tussen het ontwikkelteam en de klant. Zo kunnen woorden voor de ene partij iets heel anders betekenen dan voor de ander. Daarom leggen Rik en Nick meer uit over Ubiquitous Language, een universele taal voor beide partijen die de communicatie verbeterd en zorgt voor een beter begrip van het domein.
Tevens werd er meer uitgelegd over bounded context. Dit is een belangrijk begrip bij Domain Driven Design (DDD). Bounded context definieert de grenzen van de toepasbaarheid van onderdelen van het sub-domein. Na een uitleg over scenario mapping, een techniek om een beter begrip te krijgen van de taak die de gebruiker wil uitvoeren, is het tijd voor de algemene vragen.
Core- en subdomains
Het publiek wordt verdeeld in kleine groepen. De twee developers leggen hun collega’s een serie vragen en kwesties voor. Iedere vraag is centraal besproken per groep. De eerste luidt:
‘Aan welke core en supporting subdomains heb je gewerkt?’
Dit leverde de nodige gesprekken op en verschillende vragen over en weer. Er ontstaat discussie over welk onderdeel van het project nou een core- of een supporting subdomain is. Al weten de collega’s dat geregeld voor elkaar op te helderen.
‘Welke termen gebruik je met collega’s die een klant niet zou begrijpen?’
Het gaat het bij deze vraag over concepten in het domein van de klant, die door developers in code anders genoemd worden. De meeste teams weten wel enkele voorbeelden te verzinnen van namen die eigenlijk niet overeenkomen met hoe de klant het concept noemt. Een leermoment voor sommige ontwikkelaars, die daar tijdens deze kennissessie het belang van zijn gaan inzien.
Tot slot werd ook de casus afgesloten. De groepen bespraken onderling hoe de UI er voor het besproken scenario uit kan zien en komen gezamenlijk tot de beste oplossing, waarbij de conclusie wordt getrokken dat een Task based UI voor gebruikers een betere ervaring oplevert dan een CRUD based UI.