Grote aanpassingen, goed gestructureerd

Grote aanpassingen, goed gestructureerd

Het internet verandert dagelijks. Websites en applicaties van grote bedrijven worden steeds uitgebreid en vernieuwd. De systemen moeten continu up and running zijn, anders gaan er inkomsten verloren. Hoe structureer je grote aanpassingen in websites of applicaties? Door intern overzicht te behouden en te zorgen dat alle systemen blijven functioneren. Eventstorming biedt een helpende hand. 

Domain Driven Design

Voordat we ingaan op eventstorming, is het noodzakelijk om stil te staan bij de term Domain Driven Design. Het woord 'domain' duidt in deze context niet op een domeinnaam waarmee een bepaald IP-adres wordt weergegeven, maar op het geheel van logica en filosofie die ten grondslag ligt aan een (complex) onderdeel of onderdelen van een website of applicatie.

De logica en filosofie van een bepaald onderdeel worden bewaakt door de domain-expert. De domain-expert wil én mag niet op de hoogte zijn van technische implementatie binnen het domein. De domain-expert kijkt vanuit een gebruikersperspectief en zal vanuit hier ook communiceren met het team.

"Domain Driven Design biedt een houvast bij het evalueren en het oplossen van problemen binnen een complex project"

Hoewel Domain Driven Design ook vaak wordt ingezet bij het ontwikkelen van nieuwe systemen, is het ook een zeer goede methode om in te zetten als er ingrijpende veranderingen nodig zijn in bestaande websites of applicaties. Indien goed toegepast, biedt het een houvast bij het evalueren en het oplossen van problemen binnen een complex project.

Een probleem of gewenste uitbreiding binnen het Domain wordt een Domain Model genoemd. Elk Domain Model draait om één specifiek probleem, de bijbehorende context en het geheel aan maatregelen dat nodig is om tot een oplossing te komen. Dit alles wordt zodanig beschreven, dat ook betrokkenen zonder technische achtergrond het kunnen begrijpen.

Wat is eventstorming?

Eventstorming is een techniek om aan alle betrokkenen duidelijk te maken welke processen zich allemaal tegelijk afspelen binnen een complexe website. Met eventstorming wordt dit niet alleen duidelijk voor de technische experts, maar ook voor de minder technisch opgeleide betrokkenen. 

"Evenementstorming is een snelle en lichte workshop-gebaseerde techniek voor groepen, die nuttig is voor het versnellen van ontwikkelingsteams. Het geesteskind van Alberto Brandolini is een synthese van gefaciliteerde groepsleerpraktijken van Gamestorming en de principes van Domain Drive Design. Het is toe te passen op praktisch elk technisch of bedrijfsdomein, met name domeinen die groot, complex of beide zijn. Storming van gebeurtenissen katalyseert en versnelt het leren, en kan binnen enkele uren of dagen dat realiseren wat meer traditionele modelleringstechnieken nooit kunnen: een gemeenschappelijk begrip creëren van het domein waarin de software moet werken."

Door een helder overzicht te behouden, worden problemen op voorhand in kaart gebracht en voorkomen. De manier van communiceren is gericht op hoe de website moet werken, niet op de technische implementatie of werking van het probleem. Tijdens een eventstorming-sessie komt het team samen en bespreken ze samen het domain en de verschillende domain models. Tijdens het bespreken van de domain models is het uitermate belangrijk dat de juiste vragen worden gesteld. De vragen worden gesteld aan het gehele team en aan de domein expert in het bijzonder.

"Het eindproduct van een eventstorming-sessie is een roadmap met alle stappen, mogelijke problemen en bijbehorende oplossingen"

Met het beantwoorden van de vragen die worden gesteld, worden de grote lijnen blootgelegd en alle belangrijke processen besproken. Omdat alle mogelijke problemen in kaart worden gebracht, kunnen er voor deze problemen vroegtijdig oplossingen worden bedacht en downtime voorkomen worden.

Voor een relatief simpele website kan één sessie genoeg zijn, maar vaak is het goed om meerdere sessies te plannen. Hoe meer sessies er worden gepland, hoe groter de kans dat alle mogelijke problemen in kaart worden gebracht. Het eindproduct van een eventstorming-sessie is een roadmap waarin alle stappen, mogelijke problemen en bijbehorende oplossingen zijn gedocumenteerd. Zo weet het hele team wat er moet gebeuren en bij welke onderdelen extra aandacht is vereist.

Een voorbeeld uit de praktijk

Tijdens de laatste vergaderingen is gebleken dat er te weinig aanvragen voor inboedelverzekeringen bij de grote oranje bank binnenkomen. De User Interface Experts concluderen dat het formulier te ingewikkeld en traag is. Dit onderdeel moet dus vereenvoudigd en geoptimaliseerd worden. Het formulier, de geconstateerde problemen en mogelijke oplossingen worden gebundeld in een Domain Model genaamd ‘Optimalisatie aanvraagproces inboedelverzekering websit’. In het Domain Model wordt beschreven dat het aantal stappen wordt verminderd van tien naar vier. Ook wordt beschreven dat de database in totaal tien waardes verwacht. Zodra er minder dan tien binnenkomen, valt het systeem en wordt de gebruiker getrakteerd op een error.

Omdat de schrijfwijze helder is voor het hele team, weet iedereen wat er gaande is. Zelfs als het over een technische database gaat. Omdat er op voorhand wordt gebrainstormd over alle wensen en wijzigingen, wordt de kans dat iemand verrast wordt door problemen verkleind.

De voordelen van eventstorming

  • De communicatie tussen verschillende (groepen) professionals is helderder
  • Tijdschattingen kunnen accurater worden gemaakt omdat de consequenties op verschillende plaatsen in kaart zijn gebracht
  • Problemen worden eerder getackeld of zelfs voorkomen doordat een totaalbeeld bestaat van het Domain Model
  • Kosten worden transparanter en zo is het makkelijker om kosten en baten af te wegen, teneinde bepaalde prioriteiten te stellen 

Wat is er nodig voor een eventstorming sessie?

  • Alle personen die betrokken zijn bij het domain
  • Een eventstorm-expert om de sessie te leiden
  • Een rustige ruimte, groot genoeg voor de totale groep
  • Een oppervlak waar notities geplaatst kunnen worden, zoals een whiteboard. Werk hierop bij voorkeur met post-its, die kun je snel verplaatsen

Nu je een helder beeld hebt van het doel en de te zetten stappen, kun je aan de slag met een sterke eventstorming-sessie. In de sessie worden alle mogelijke problemen behandeld en kun je met een gerust hart (grote) wijzigingen doorvoeren. Innovatie wordt zo makkelijker en kans op downtime drastisch verminderd. Is jouw team klaar voor een eventstorming-sessie?


Delen

0
0


Er zijn 0 reacties op dit artikel

Plaats zelf een reactie

Log in zodat je (in het vervolg) nóg sneller kunt reageren

Vul jouw naam in.
Vul jouw e-mailadres in. Vul een geldig e-mailadres in.
Vul jouw reactie in.

Herhaal de tekens die je ziet in de afbeelding hieronder


Let op: je reactie blijft voor altijd staan. We verwijderen deze dus later niet als je op zoek bent naar een nieuwe werkgever (of schoonmoeder). Reacties die beledigend zijn of zelfpromotioneel daarentegen, verwijderen we maar al te graag. Door te reageren ga je akkoord met onze voorwaarden.