Het inschatten van de uitrol van een feature-flag
Hoe u de uitrol van een feature-flag kunt inschatten: gefaseerde percentages, kill-switches, toelatingscriteria en de opruimwerkzaamheden die niemand inplant. Een flag is een klein product, geen implementatie.
In het verhaal wordt de vlag geïntroduceerd, maar wordt er geen aandacht besteed aan het opruimen, de statistieken en de noodstop.
Een feature flag is geen implementatiemechanisme; het is een op zichzelf staand product. Het vereist een standaardinstelling, een overschrijvingspad, een audittraject, een noodstop en een verwijderingsplan. De meeste van deze elementen ontbreken in het oorspronkelijke ticket, waarin doorgaans staat: „pak het in een flag in”. Dat ticket vormt de toegangspoort, niet de functie zelf.
In de raming moet rekening worden gehouden met de uitrolfasen (1% → 10% → 50% → 100%), de maatstaven die bepalen of er in elke fase verder wordt opgeschaald of teruggedraaid, en het opruimingsverzoek waarmee de vlag wordt verwijderd zodra de functie definitief is. Teams die geen opschoning inplannen, leveren binnen een jaar een codebase af die vol zit met verouderde vlaggen, wat op zichzelf al een vorm van operationele schuld is.
Wat er in de kamer wordt gezegd
Backend: “De aanroep in een vlag verpakken, een paar regels.”
SRE: “Welke indicator geeft aan dat de uitrol niet goed verloopt?”
PM: „Voor welke cohorten wordt de vlag als eerste ingeschakeld?”
Inleiding: “Wie haalt de vlag weg zodra we op 100% zitten, en wanneer?”
Backend: “Is er een kill-switch die losstaat van de vlag?”
Vragen die het waard zijn om te stellen voordat u gaat stemmen
- Implementatievorm: lineaire overgang, op cohorten gebaseerd of een booleaanse overgang?
- Standaardwaarde indien de vlagdienst niet beschikbaar is: oud of nieuw gedrag?
- Kengetallen die als toetssteen dienen voor elke fase: wat wordt beschouwd als „goed verlopen“?
- Is het pad van de kill-switch onafhankelijk van het vlaggenstelsel?
- Verwijderingsbon: direct aanmaken, of „dat doen we wel later“?
- Audittrail: wie heeft de vlag omgezet, wanneer en waarom?
De oplossing is dezelfde als bij de meeste implementatieverhalen: split verdeel de implementatie, de gefaseerde uitrol en de opruimwerkzaamheden over afzonderlijke verhalen, en maak het verwijderingsticket aan voordat u vergeet dat het bestaat.
Een vlag is een klein product. Maak een inschatting van de opstartfase, de gating-statistieken en de afwikkeling, en niet alleen van de afronding.
Zie het inschatten van de uitrol van een rate limit voor hetzelfde patroon waarbij de uitrol het werk opslokt, en de andere praktische voorbeelden van schattingen. Start een gratis planning poker-sessie zodra de fasen zijn benoemd.