Feature Previews: hoe we onze doorlooptijd drastisch konden versnellen
We maken nu geruime tijd gebruik van onze intern gebouwde Feature Preview functionaliteit. Deze toevoeging aan onze hostingpakketten zorgt ervoor dat we de snelheid waarmee we ontwikkelen drastisch hebben kunnen versnellen. Om het nut van de functie uit te leggen zetten we de nieuwe werkwijze af tegen de oude werkwijze.
De oude situatie:
Elke klant heeft een of meer staging omgevingen. Meestal was er één omgeving beschikbaar voor het project.
Elke staging omgeving kan één ontwikkelbranche tegelijkertijd tonen. Een branch bevat vaak één nieuwe feature of gebundelde wijziging.
Deze omgevingen werden handmatig voorbereid ter controle
In de praktijk betekende dit dat we theoretisch gezien aan tien verzoeken tegelijkertijd voor je project konden werken, maar dat we maar één van die verzoeken tegelijkertijd aan jou of je projectmanager konden tonen. Er was namelijk maar één vaste staging omgeving beschikbaar, die maar één branch tegelijkertijd kan tonen, en een branch toont – over het algemeen – maar één taak.
Dat leidde tot een flinke bottleneck op het controle en testmoment van die taken.
De nieuwe situatie:
We hebben geen vaste staging omgevingen meer. In plaats daarvan hebben we variabele omgevingen.
Voor elke taak/branch kunnen we een variabele staging omgeving opstarten. Dit gebeurt automatisch.
Zo kunnen we bijvoorbeeld tien taken tegelijkertijd aan je laten zien. Voor elke taak genereren we een losse Feature Preview, met een unieke URL. Tien Feature Preview omgevingen dus in dit voorbeeld.
Er zit geen harde limiet op het aantal feature previews wat je project gebruikt.
Doordat we geen bottleneck meer hebben in het tonen van de hoeveelheid uitgevoerde taken per project, werken we efficiënter aan zowel kleine als grote projecten.
Kleinere projecten hebben baat bij het automatische opstarten in plaats van het handmatige klaarzetten – wat we eerder deden. Je hoeft niet meer te wachten op een handmatige actie. Hierdoor verbetert de doorlooptijd.
De winst voor grotere projecten zit hem vooral in de breedte. Diverse team members en projectmanagers kunnen aan diverse taken werken en deze ook apart ter controle aanbieden. We hebben geen interne bottlenecks meer op het tonen van die taken.
Fun Facts:
Een feature preview bevat een volledige database met al je producten en klanten. De klantdata hebben we echter geanonimiseerd. Namen, adressen en andere gevoelige data worden omgezet naar generieke namen en data. Het voordeel hiervan is dat er goed getest kan worden met belangrijke data, zonder dat we aanvullende omgevingsrisico’s introduceren v.w.b. privacy gevoelige data.
We kunnen er ook voor kiezen om Feature Preview compact op te bouwen. Sommige Magento webshops bevatten erg veel winkels en erg veel data in de producten en klanten. Hoe meer data er is, hoe langer het opbouwen van een omgeving duurt. Met de compacte modus bouwen we de feature preview op met een beperkte set aan stores, producten en klanten. Nog genoeg data om mee te testen, maar een stuk geminimaliseerd om intern sneller door te kunnen.