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ïmplementeerd, maar wordt verzuimd om de opruiming, de statistieken en de noodstop te regelen.
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 alleen 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 de uitrol in elke fase moet worden opgevoerd of teruggedraaid, en het opschoningsticket 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 zich 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 noodschakelaar die losstaat van de vlag?”
Vragen die u zich het beste kunt stellen voordat u gaat stemmen
- Uitrolvorm: lineaire overgang, op cohorten gebaseerd of booleaanse overgang?
- Standaardwaarde wanneer de vlagdienst niet beschikbaar is — oud of nieuw gedrag?
- Kengetallen die bepalend zijn voor elke fase — wat wordt beschouwd als „goed verlopen“?
- Is het pad van de kill-switch onafhankelijk van het vlaggenstelsel?
- Verwijderingsbon: direct aanmaken, of „doen we dat later wel”?
- 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 flag is een klein product. Maak een inschatting van de opstartfase, de gating-statistieken en de opruimwerkzaamheden — niet alleen van de afwikkeling.
Zie het inschatten van de uitrol van een rate-limit voor hetzelfde patroon waarbij de uitrol het werk opslokt, en de andere praktijkvoorbeelden van schattingen. Start een gratis planning poker-sessie zodra de fasen een naam hebben gekregen.