Posted april 23, 2020

Feature Flag, Rollout eller A/B-test?

Asa Schachar
Asa Schachar
diagram

Så, när ska man använda det ena framför det andra?

Det är en fråga som jag har hört från olika utvecklare, så jag satte ihop det här beslutsträdet på hög nivå som är användbart för att avgöra när man ska sätta upp en funktionsflagga, planera en stegvis utrullning eller köra ett experiment. Om du tycker att det här är till hjälp är diagrammet ett exempel från min kostnadsfria e-bok Ship Confidently with Progressive Delivery and Experimentation, som erbjuder vägledning från början till slut för att distribuera funktionsflaggor i stor skala. Låt oss nu dyka in i beslutsträdet!

Feature Flag v Rollout v AB Test Decision tree

I allmänhet är det bra att känna till att a/b-tester är bäst när du har specifika mätbara mätvärden och en hypotes för hur dina ändringar kommer att påverka dessa mätvärden.

Feature flags ger dig fullständig kontroll över ett release- eller lanseringsdatum.

Och utrullningar mildrar riskfyllda förändringar genom att släppa kod till små delar av trafiken på en gång.

Det är dock viktigt att notera att vissa plattformar för funktionsflaggor och A/B-testning, som Optimizely, gör det möjligt att använda alla tre funktionerna i samma implementering av funktionsflaggor. Detta innebär att du kan frikoppla hur du implementerar din funktion från hur du planerar att släppa, experimentera och lära dig av den. Se hur detta går till i API-anropet "Decide":

Feature Flag v AB Test Code Set-up

[Redaktörens anmärkning Nov-3-2022] isFeatureEnabled är nu funktionen "Decide". Se utvecklarens dokumentation för de senaste kodexemplen

Du kan också se hur de alla fungerar tillsammans för att stödja en stark Progressive Delivery-praxis i hela ditt produktutvecklingsteam.

Flagging process diagramLåt mig få veta vad du tycker!

Hur bestämmer du för närvarande när du ska använda en funktionsflagga, utrullning eller A/B-test? Skicka ett meddelande till mig i vår Slack-community eller hitta mig på Twitter på @asametrical.

Detta är en del av en serie bästa praxis för att hjälpa ditt företag att framgångsrikt implementera progressiv leverans och experiment för att leverera snabbare med förtroende.

Om du gillar det här innehållet kan du kolla in min kostnadsfria e-bok: Ship Confidently with Progressive Delivery and Experimentation som innehåller fler bästa praxis från att bara komma igång till att skala upp dessa tekniker i hela organisationen.

Och om du letar efter en plattform för att komma igång kan du kolla in Optimizelys gratiserbjudande.