Voorbeeld: door een nieuwe release van de creditcard feature van een mobiel bankieren app, werkt deze niet naar behoren. De bank besluit de creditcard feature uit te schakelen. Gebruikers van de app kunnen gewoon hun bankzaken blijven doen en hebben toegang tot hun lopende rekening en spaarrekeningen. Het onderdeel creditcard is tijdelijk niet zichtbaar.
- Geschaald releasen
Bij deze mogelijkheid geef je de feature gecontroleerd, gefaseerd vrij. Slechts een beperkte groep gebruikers krijgt de nieuwe feature te zien. Hiermee verminder je het risico op negatieve resultaten die een groot percentage gebruikers treffen. Bovendien kun je bij het ontdekken van een bug of storing, de feature makkelijk weer terugdraaien. De feedback van de groep gebruikers kun je gebruiken om de feature te verbeteren.
Voorbeeld: Een mailprogramma heeft een nieuwe versie. In eerste instantie krijgt slechts 10% van de gebruikers deze nieuwe versie te zien. De overige 90% gebruikt nog steeds de oude versie. Achter de schermen wordt gekeken hoe een gebruiker door de nieuwe versie navigeert en op basis van dit gedrag worden eventuele verbeteringen doorgevoerd. Vervolgens wordt het aantal gebruikers geleidelijk opgeschaald naar 20%, 30%, 50%, 75% en 100%. Bijkomend voordeel is daarnaast dat wanneer je bijvoorbeeld bij 90% problemen ontdekt met de performance, je heel eenvoudig weer kunt terugschalen naar bijvoorbeeld 75%.
- Experimenteren met (extra) features
Met A/B testing vergelijk je twee of meerdere varianten om te testen welke de beste resultaten oplevert. Je experimenteert in productie wat wel en wat niet werkt. Toon bijvoorbeeld twee varianten van dezelfde website aan verschillende gebruikersgroepen en analyseer welke variant meer conversies genereert.
Voorbeeld: Een webshop biedt verschillende werkende betalingsmogelijkheden aan (iDEAL, Creditcard, Klarna en PayPal). Omdat de webshop een sterke voorkeur heeft voor betalingen via iDEAL worden er drie varianten getest om deze betalingsmogelijkheid te laten opvallen. Variant 1 is iDEAL een opvallend kleurtje geven, variant 2 is een knipperende pijl plaatsen bij iDEAL en variant 3 is achter iDEAL ‘meest gekozen’ zetten. Door middel van A/B testing ontdekt de webshop welke variant het beste resultaat oplevert. Een ander voorbeeld is Netflix die bij de lancering van een nieuwe serie alleen in Australië twee verschillende covers laat zien. Er wordt geanalyseerd welke cover de meeste clicks oplevert en vervolgens wordt deze cover wereldwijd ingezet.
- Permissing flags
Met de inzet van permissing flags geef je bepaalde mensen toegang tot de nieuwe feature en anderen niet. Deze mogelijkheid is handig als je een nieuwe feature bijvoorbeeld enkel beschikbaar wenst te stellen aan een vooraf bepaalde groep gebruikers. Dit kunnen gebruikers zijn die zich aangemeld hebben voor beta releases of gebruikers die zich aangemeld hebben voor friends & family testen. Mensen die graag de nieuwste features als eerste willen met een kleine kans op onvolkomenheden.
Conclusie: flexibel, met vertrouwen en in control met feature flags
Feature flagging stelt je in staat om nieuwe features te releasen met vertrouwen, flexibiliteit en daarbij in controle te zijn en te blijven. Ondanks dat je met een klein risico naar productie gaat, kun je de impact voor klanten zeer beperken in het geval de feature – ondanks al het eerdere testwerk – toch niet zo functioneert als verwacht. Deze manier van werken, met iets meer risico naar productie, versnelt je ontwikkelproces aanzienlijk. Daarnaast ontvang je op deze manier snel feedback uit productie en kun je op basis daarvan je features verder verbeteren.
Er is wat lef nodig om shift right toe te passen, durf jij het aan