Door Behat te gebruiken hebben we tijdens het ontwikkelen meer zekerheid gekregen dat er door nieuwe codewijzigingen geen bestaande features stukgaan. Het is niet zo dat er direct significant minder nieuwe bugs ontstaan. We doen naast de unit- en integrationtests ook al een codereview en een handmatige user acceptance-test voor alle wijzigingen, waardoor er toch al weinig bugs doorglippen. Wel leidt Behat tot meer zelfvertrouwen om oude code ingrijpender te refactoren.
Op het gebied van de ontwikkeling van ubiquitous language is nog groei mogelijk. Het is een uitdaging om alle collega’s, met hun verscheidenheid aan rollen en expertise, de toegevoegde waarde van een gezamenlijke domeintaal te laten inzien. Misschien is de grootste winst die we op dit gebied hebben geboekt, dat we bewuster zijn geworden van het werk dat nog moet worden verzet. Er is immers nog veel nodig voordat het de norm wordt dat developers en stakeholders samenwerken aan het ontdekken van het domein en het ontwikkelen van een gedeelde domeintaal.
Het was een grote investering om Behat te integreren in de developmentworkflow van Tweakers. Het bleek vrij ingewikkeld om het technisch op te zetten. De grootste hindernissen waren het netjes configureren van Behat in een grote applicatie met veel legacycode en het opzetten van de ontwikkelomgevingen met Docker. Uiteindelijk is dit naar tevredenheid gelukt, maar er is ook nog veel ruimte voor het verbeteren van de prestaties van de Docker-omgeving. In de loop van het project zijn de prestaties al aanzienlijk verbeterd, wat het gebruiksgemak voor de developers merkbaar ten goede kwam. Een soepele ervaring voor developers is essentieel om op lange termijn van de opgezette Bdd-stack te kunnen blijven profiteren.
In de toekomst moet blijken welke voordelen Behat gaat opleveren voor het softwaredevelopmentproces van Tweakers in bredere zin. Zal Behat bijdragen aan het beperken van de hoeveelheid nieuwe bugs die worden geïntroduceerd? Gaat Behat scope creep voorkomen, developers helpen om doelgericht te werken, misschien zelfs hun productiviteit te verhogen? Gaat Behat helpen om de communicatie tussen stakeholders en development te stroomlijnen, zodat de organisatie sneller van idee naar productie kan? We gaan het meemaken.
Het mag gezegd worden dat het voor ons een prachtig project was om aan te werken. Zoals je verwacht, krijgen we bij Tweakers tijd voor technisch onderzoek en innovatie. Voor developers biedt Tweakers een unieke combinatie van nostalgische legacycode uit het krijttijdperk en het experimenteren met moderne technologie als Docker en Behat. Daarnaast kiest elke developer naar eigen inzicht een ontwikkelomgeving en is er ruimte voor opensourcecontributie. Dus, kom werken bij Tweakers; we zoeken nog leuke collega’s ;)
Toekomstige stappen
In de komende tijd blijven we schaven aan de prestaties van de Dockerized developmentomgevingen op de verschillende besturingssysteem. Ook willen we de inhoud van de featurefiles toegankelijker maken voor alle stakeholders, in de vorm van automatisch gegenereerde, levende documentatie met behulp van Pickles. Wegens de prestatie-issues die we al hadden, hebben we de integratie van Selenium voor het testen van JavaScript-functionaliteit nog voor ons uit geschoven.
We zijn benieuwd naar jullie mening over wat de beste end-to-end-teststrategie voor Tweakers zou kunnen zijn. Of misschien heeft er nog iemand goede ideeën om de prestaties van Docker te verbeteren. Als je nog andere ideeën hebt, horen we die uiteraard ook graag.