Μια σημαία χαρακτηριστικών, που ονομάζεται επίσης εναλλαγή χαρακτηριστικών, είναι μια υπό όρους λειτουργία στον κώδικα εφαρμογής που καθορίζει κατά τον χρόνο εκτέλεσης εάν ένα συγκεκριμένο κομμάτι λειτουργικότητας είναι ενεργό για έναν δεδομένο χρήστη ή αίτημα. Αντί να υπάρχει ή να απουσιάζει μια λειτουργία ανάλογα με την έκδοση του κώδικα που αναπτύσσεται, υπάρχει στον κώδικα αλλά ενεργοποιείται ή απενεργοποιείται μέσω διαμόρφωσης. Αυτό αποσυνδέει την ανάπτυξη από την κυκλοφορία: ο κώδικας μπορεί να αποστέλλεται στην παραγωγή συνεχώς, ενώ οι λειτουργίες που περιέχει παραμένουν αόρατες μέχρι κάποιος να αποφασίσει να τις εκθέσει.
Για τον πειραματισμό, οι σημαίες λειτουργιών είναι ο υποκείμενος μηχανισμός των δοκιμών από την πλευρά του διακομιστή. Η αντιστοίχιση ενός χρήστη σε μια παραλλαγή σημαίας είναι λειτουργικά η ίδια με την αντιστοίχισή του σε έναν βραχίονα πειράματος και, επειδή η απόφαση λαμβάνεται στην εφαρμογή και όχι στο πρόγραμμα περιήγησης, η παραλλαγή μπορεί να επηρεάσει οτιδήποτε ελέγχει η εφαρμογή: λογική τιμολόγησης, κατάταξη αναζήτησης, αλγόριθμους προτάσεων, ενεργοποιητές email, κανόνες ολοκλήρωσης αγοράς και συμπεριφορά backend που κανένα εργαλείο δοκιμών από την πλευρά του πελάτη δεν μπορεί να φτάσει. Εξαλείφει επίσης το οπτικό τρεμόπαιγμα που παράγει ο χειρισμός από την πλευρά του πελάτη και είναι αόρατο στις ρυθμίσεις του προγράμματος περιήγησης που μπλοκάρουν διαφημίσεις και script.
Οι σημαίες εξυπηρετούν διάφορους σκοπούς που αξίζει να διαχωριστούν, επειδή έχουν πολύ διαφορετική διάρκεια ζωής. Οι σημαίες έκδοσης κρύβουν την ημιτελή εργασία και αφαιρούνται μόλις η λειτουργία ξεκινήσει πλήρως. Οι σημαίες πειράματος ελέγχουν την ανάθεση παραλλαγών και αφαιρούνται όταν ολοκληρωθεί η δοκιμή. Οι σημαίες λειτουργίας, που μερικές φορές ονομάζονται διακόπτες τερματισμού, επιτρέπουν την άμεση απενεργοποίηση μιας λειτουργίας εάν προκαλεί προβλήματα στην παραγωγή και ενδέχεται να ισχύουν επ' αόριστον. Οι σημαίες δικαιωμάτων ελέγχουν τη λειτουργικότητα ανά επίπεδο πελάτη ή σύμβαση και είναι ουσιαστικά μόνιμες. Η αντιμετώπιση και των τεσσάρων ως το ίδιο πράγμα είναι ο τρόπος με τον οποίο οι οργανισμοί καταλήγουν με εκατοντάδες παλιές υποθετικές λέξεις που κανείς δεν τολμά να αφαιρέσει.
Αυτή η συσσώρευση είναι ο κύριος κίνδυνος. Κάθε σημαία είναι ένας κλάδος και ο αριθμός των πιθανών διαδρομών κώδικα αυξάνεται πολλαπλασιαστικά καθώς συσσωρεύονται οι σημαίες. Η δοκιμή κάθε συνδυασμού καθίσταται αδύνατη, οι απροσδόκητες αλληλεπιδράσεις μεταξύ των σημαιών προκαλούν ελαττώματα που είναι δύσκολο να αναπαραχθούν και ο κώδικας γίνεται προοδευτικά πιο δύσκολος στη συλλογιστική. Πειθαρχημένες ομάδες αντιμετωπίζουν την αφαίρεση της σημαίας ως μέρος του ορισμού της ολοκλήρωσης, διατηρούν ένα απόθεμα με έναν κάτοχο και μια ημερομηνία λήξης για κάθε σημαία και περιοδικά ελέγχουν για σημαίες που έχουν σταθερή τιμή για μήνες.
Οι σημαίες δυνατοτήτων επιτρέπουν επίσης στρατηγικές κυκλοφορίας που μειώνουν τον κίνδυνο ανεξάρτητα από τον πειραματισμό. Η σταδιακή ανάπτυξη εκθέτει μια λειτουργία σε ένα τοις εκατό της επισκεψιμότητας, στη συνέχεια σε πέντε και στη συνέχεια σε είκοσι, παρακολουθώντας τα ποσοστά σφάλματος και τις επιχειρηματικές μετρήσεις σε κάθε βήμα. Η ανάπτυξη βάσει δακτυλίου εκθέτει πρώτα τους εσωτερικούς χρήστες, στη συνέχεια μια ομάδα beta και στη συνέχεια όλους. Οι εκδόσεις Canary εκτελούν μια νέα έκδοση παράλληλα με την παλιά και συγκρίνουν τις λειτουργικές μετρήσεις πριν προχωρήσουν. Όλες αυτές είναι παραλλαγές της ίδιας δυνατότητας: της δυνατότητας αλλαγής του ποιος βλέπει τι χωρίς την ανάπτυξη κώδικα.
Οι σημαίες παρέχουν επίσης τον μηχανισμό για ελεγχόμενη περιφερειακή και τμηματική ανάπτυξη, η οποία έχει σημασία για οργανισμούς που δραστηριοποιούνται σε διάφορες αγορές. Μια αλλαγή μπορεί να εκτεθεί πρώτα σε μία μόνο χώρα, να παρακολουθηθεί για ζητήματα που αφορούν συγκεκριμένα την αγορά, όπως η γλώσσα, οι μέθοδοι πληρωμής, η εμφάνιση φόρων ή οι κανονιστικές απαιτήσεις, και στη συνέχεια να επεκταθεί μόλις αποδειχθεί. Αυτό είναι σημαντικά ασφαλέστερο από μια παγκόσμια κυκλοφορία και παράγει στοιχεία σχετικά με το εάν μια βελτίωση μεταφέρεται μεταξύ αγορών, κάτι που συχνά υποτίθεται και σπάνια δοκιμάζεται. Το ερώτημα των εργαλείων προκύπτει από την κλίμακα: οι μικρές ομάδες μπορούν να διαχειρίζονται σημαίες με αρχεία διαμόρφωσης και μια απλή διεπαφή διαχείρισης, ενώ οι οργανισμοί που εκτελούν πολλές ταυτόχρονες σημαίες σε πολλαπλές υπηρεσίες χρειάζονται γενικά μια ειδική πλατφόρμα διαχείρισης που παρέχει κανόνες στόχευσης, αρχεία καταγραφής ελέγχου και συνεπή αξιολόγηση σε όλο το backend και το frontend, καθώς η ασυνεπής αξιολόγηση μεταξύ των επιπέδων παράγει χρήστες που βλέπουν το μισό μιας λειτουργίας.
Η εισαγωγή σημαιών είναι συχνά απαραίτητη προϋπόθεση πριν από την ύπαρξη μιας σοβαρής πρακτικής πειραματισμού, ειδικά για λειτουργικότητα που υπάρχει στο επίπεδο εφαρμογής και όχι στο επίπεδο παρουσίασης. ανάπτυξη προϊόντων εργασία, η υποδομή σημαίας κατασκευάζεται συνήθως παράλληλα με τον αγωγό παράδοσης, έτσι ώστε ο πειραματισμός, η σταδιακή ανάπτυξη και η επείγουσα κατάργηση να χρησιμοποιούν τον ίδιο μηχανισμό. Μόλις δημιουργηθεί, ένα Υπηρεσία CRO Το πρόγραμμα δεν περιορίζεται πλέον σε ό,τι μπορεί να αλλάξει στο πρόγραμμα περιήγησης, κάτι που συνήθως ανοίγει τις ιδέες δοκιμών με την υψηλότερη αξία στο εκκρεμές: αυτές που αφορούν την τιμολόγηση, τη λογική εξατομίκευσης και τους μηχανισμούς της ίδιας της ροής αγοράς.