In het verhaal wordt de vlag geïntroduceerd, maar wordt verzuimd om de opruimwerkzaamheden, 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 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 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 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 implementatie niet soepel 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 noodstop die losstaat van de vlag?”

Vragen die het waard zijn om te stellen voordat u gaat stemmen

  • Uitrolvorm: lineaire overgang, op cohorten gebaseerd of een booleaanse overgang?
  • Standaardwaarde indien de vlagdienst niet beschikbaar is: het oude of het nieuwe 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: verdeel de implementatie, de gefaseerde uitrol en de opruimwerkzaamheden over afzonderlijke taken, en maak het verwijderingsticket aan voordat u vergeet dat het bestaat.

Een flag is een klein product. Maak een schatting van de opstartfase, de gating-statistieken en de opruimwerkzaamheden, en 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 uitgewerkte schattingsvoorbeelden. Start een gratis planning poker-sessie zodra de fasen een naam hebben gekregen.