A funkciójelző, más néven funkcióváltó, egy feltételes beállítás az alkalmazáskódban, amely futásidőben határozza meg, hogy egy adott funkció aktív-e egy adott felhasználó vagy kérés számára. Ahelyett, hogy egy funkció jelen lenne vagy hiányozna attól függően, hogy a kód melyik verziója van telepítve, a kódban jelen van, de konfiguráció szerint be- vagy kikapcsolható. Ez elválasztja a telepítést a kiadástól: a kód folyamatosan kerülhet éles környezetbe, miközben a benne található funkciók láthatatlanok maradnak, amíg valaki úgy nem dönt, hogy közzéteszi őket.
Kísérletezéskor a funkciójelzők jelentik a szerveroldali tesztelés alapjául szolgáló mechanizmust. Egy felhasználó hozzárendelése egy jelzőváltozathoz funkcionálisan megegyezik egy kísérleti csoporthoz való hozzárendelésével, és mivel a döntés az alkalmazásban, nem pedig a böngészőben történik, a variáns bármit befolyásolhat, amit az alkalmazás vezérel: árképzési logikát, keresési rangsorolást, ajánlási algoritmusokat, e-mail-es eseményeket, fizetési szabályokat és a háttérbeli viselkedést, amit egyetlen kliensoldali tesztelőeszköz sem tud elérni. Emellett kiküszöböli a kliensoldali manipuláció által okozott vizuális villódzást, és láthatatlan a hirdetésblokkolók és a szkripteket blokkoló böngészőbeállítások számára.
A jelzők több különböző célt szolgálnak, amelyeket érdemes elkülöníteni, mivel nagyon eltérő élettartamúak. A kiadási jelzők elrejtik a befejezetlen munkákat, és a funkció teljes bevezetése után eltávolításra kerülnek. A kísérleti jelzők a variánsok hozzárendelését szabályozzák, és a teszt befejezése után eltávolításra kerülnek. Az operatív jelzők, amelyeket néha kill switcheknek is neveznek, lehetővé teszik egy funkció azonnali letiltását, ha problémákat okoz az éles környezetben, és határozatlan ideig élhetnek. Az engedélyezési jelzők ügyfélszint vagy szerződés szerint korlátozzák a funkciókat, és gyakorlatilag állandóak. Ha mind a négyet ugyanazon dologként kezelik, az ahhoz vezet, hogy a szervezetek több száz elavult feltétellel rendelkeznek, amelyeket senki sem mer eltávolítani.
Ez a felhalmozódás a fő kockázat. Minden jelző egy elágazás, és a lehetséges kódutak száma multiplikatívan növekszik a jelzők felhalmozódásával. Minden kombináció tesztelése lehetetlenné válik, a jelzők közötti váratlan interakciók nehezen reprodukálható hibákat okoznak, és a kód egyre nehezebben értelmezhető. A fegyelmezett csapatok a jelzők eltávolítását a kész definíciójának részeként kezelik, leltárt vezetnek tulajdonossal és lejárati dátummal minden jelzőhöz, és rendszeresen ellenőriznek olyan jelzőket, amelyek hónapok óta fix értékűek.
A funkciójelzők olyan kiadási stratégiákat is lehetővé tesznek, amelyek a kísérletezéstől függetlenül csökkentik a kockázatot. A fokozatos bevezetés során egy funkciót a forgalom egy százalékának, majd ötnek, végül húsznak tesznek ki, minden lépésben figyelve a hibaszázalékokat és az üzleti mutatókat. A gyűrűalapú telepítés először a belső felhasználókat, majd egy béta csoportot, végül pedig az összes felhasználót teszi elérhetővé. A Canary kiadásai egy új verziót futtatnak a régi mellett, és a folytatás előtt összehasonlítják a működési mutatókat. Mindezek ugyanazon képesség variációi: a képesség, hogy kód telepítése nélkül módosítsuk, hogy ki mit lát.
A jelzők biztosítják a szabályozott regionális és szegmensbevezetés mechanizmusát is, ami fontos a több piacon működő szervezetek számára. Egy változás először egyetlen országban is megjelenhet, majd figyelemmel kísérhető a piacspecifikus problémák szempontjából, beleértve a nyelvet, a fizetési módokat, az adómegjelenítést vagy a szabályozási követelményeket, majd kiterjeszthető, ha bizonyítást nyert. Ez lényegesen biztonságosabb, mint egy globális kiadás, és bizonyítékot szolgáltat arra vonatkozóan, hogy egy fejlesztés átvihető-e a piacok között, amit gyakran feltételeznek, de ritkán tesztelnek. Az eszközkérdés a méretarányból következik: a kis csapatok konfigurációs fájlokkal és egy egyszerű adminisztrációs felülettel kezelhetik a jelzőket, míg a több szolgáltatáson keresztül számos egyidejű jelzőt futtató szervezeteknek általában dedikált felügyeleti platformra van szükségük, amely célzási szabályokat, auditnaplókat és konzisztens értékelést biztosít a háttér- és a felhasználói felület között, mivel a rétegek közötti inkonzisztens értékelés olyan felhasználókat eredményez, akik egy funkció felét látják.
A flagek bevezetése gyakran előfeltétele annak, hogy komoly kísérleti gyakorlat alakulhasson ki, különösen az olyan funkciók esetében, amelyek az alkalmazásrétegben, és nem a megjelenítési rétegben helyezkednek el. termékfejlesztés A működéshez a jelzőinfrastruktúrát általában a kézbesítési folyamattal együtt építik ki, így a kísérletezés, a fokozatos bevezetés és a vészhelyzeti visszagörgetés mind ugyanazt a mechanizmust használja. Amint létezik, egy CRO szolgáltatás A program már nem korlátozódik arra, hogy mi módosítható a böngészőben, ami jellemzően a legmagasabb értékű tesztelési ötleteket nyitja meg a várólistában: azokat, amelyek az árazással, a személyre szabási logikával és magával a vásárlási folyamat mechanikájával kapcsolatosak.