First Time Right
Goede software is niet alleen foutvrije software, maar vooral ook software die doet wat de klant nodig heeft. Dit lijkt voor de hand liggend, maar blijkt in de praktijk vaak één van de grootste struikelblokken te zijn. De klant denkt dat zijn vraag duidelijk is, de software-ontwikkelaar denkt te weten wat de klant wil, en op het moment dat men erachter komt dat niet iedereen op één lijn zat, is er al veel tijd, geld en goede wil verloren.
Behavior Driven Development (BDD) is een recente benadering die probeert de kloof tussen de verschillende partijen te dichten door van bij het begin heel nauw samen te werken. De vereisten voor de software worden door klant en softwareontwikkelaar samen vastgelegd in een duidelijke taal die door alle belanghebbenden begrepen wordt, met veel voorbeelden zodat er geen ruimte meer is voor misverstanden. Dit betekent een intensievere start van een project, maar het is ondertussen bewezen dat deze extra inspanning loont in vergelijking met de kost om de verkeerde keuzes achteraf recht te trekken. Het gebruik van een eenduidige taal met veel voorbeelden heeft een bijkomend voordeel: het opent mogelijkheden om specificaties die op deze manier vastgelegd zijn 'uitvoerbaar' te maken. De vastgelegde specificaties worden vertaald naar een soort script dat uitgevoerd kan worden als test om te controleren of de uiteindelijke software werkt zoals verwacht. Op die manier verloopt ook de testfase efficiënter.
In het werkveld groeit – zeker vanuit de test- en de agile community – het besef dat dit een interessante piste is. Het biedt immers een antwoord op de dubbele uitdaging: ‘building the software right’ (foutvrij) en ‘building the right software’ (datgene wat de klant ook nodig heeft). Door de expertise van de klant actiever te betrekken bij het uitwerken van de specificaties, verhoogt de kwaliteit van de software.
In België is BDD momenteel echter nog onvoldoende gekend bij de ondernemingen. Daar waar wel al pogingen zijn ondernomen loopt het regelmatig mis. Vaak ligt de focus op het gebruiken van de specifieke tools, dus eerder het technische aspect, waarbij te weinig aandacht wordt besteed aan de kern van de zaak: de kwaliteit van de specificaties. Andere ondernemingen hebben er dan weer moeite mee om BDD te integreren in hun bestaande proces.
Voorliggend project heeft tot doel ondernemingen te helpen de stap te zetten naar deze meer klantgerichte aanpak. We willen enerzijds BDD meer kenbaar maken bij de ondernemingen in België en anderzijds willen we de ondernemingen die het wel al interesse tonen helpen ondersteunen in hoe ze dit best aanpakken en integreren in hun bestaand ontwikkelingsproces.
We focussen enerzijds op start-ups en anderzijds op kmo’s. We willen startups helpen bij het implementeren van BDD. Door kwalitatieve software te leveren die hun opdrachtgever verwacht, vermijden startups niet alleen om veel geld en geloofwaardigheid te verliezen, maar bouwen ze vanaf het begin van de samenwerking een vertrouwensrelatie op met hun klanten. Voor kmo’s die reeds ervaring opgebouwd hebben is het de uitdaging om de uitvoerbare specificaties in te passen in hun bestaande test-automation stack.
- Vlaamse Overheid - Agentschap Innoveren & Ondernemen (BE)