Blog
Juli 29, 2020
Alle
Produkt design

Hvordan optimerer man frigivelse af nye funktioner?

Forfatter: Yurii Ishchenko, Produktchef hos Ciklum. Yurii har over 20 års erfaring inden for produktudvikling inden for detailhandel, e-handel og Enterprise Applications. Gik en karrierevej fra en softwareudvikler til en IT-manager i et stort ukrainsk detail- og e-handelsselskab. Hos Ciklum administrerer Yurіi Accelerator-programmet, der inkluderer forskellige e-handel og DevOps-acceleratorer samt Ciklum Toggler- og Admin Dashboard-produkter.

Den hurtige udvikling af teknologi ændrer standarder og praksis for interaktion mellem forretninger og kunder. Den moderne kunde er blevet mere krævende, når det kommer til servicekvalitet og enhver negativ oplevelse eller ulempe kan hurtigt føre til tab af kundeloyalitet. Da valget af alternativer er bredt, fører loyalitetstabet ofte til tab af kunden.

Det meste af interaktionen mellem kunden og forretningen foregår gennem digitale produkter, kravet til kvalitet i applikationer stiger tilsvarende. Det konkurrenceprægede forretningsmiljø tvinger organisationer til at følge kundens behov, og det fører til en stigning i antallet af funktioner, som organisationer skal skabe på den kortest mulige tid.

Men udvikling af et stort antal funktioner på kort tid, og sikker idriftsættelse i produktion og sporing af funktionsmålinger er ikke nogen let opgave.

Fejl eller nedbrud på ethvert af disse stadier kan føre til nedetid på digitale produkter for kunder. Heldigvis kan moderne teknologier som DevOps og funktionsskift hjælpe til med at tackle disse risici.

Definition af funktionsskift (Feature flag)

Funktionsskift (også kendt som “feature toggles”) er en teknologi, der gør det muligt at kontrollere applikationsfunktionalitet under drift, og slå funktioner til og fra uden at det er nødvendigt at ændre og genidriftsætte applikationskoden.

Feature Toggler Start page

Funktionsskift

Muligheden for at ændre applikationens funktionalitet under driften er af stor praktisk betydning. Det gælder især når der opdages fejl i koden på kritiske funktioner, der kan føre til dramatiske konsekvenser i form af tab af økonomi eller anseelse eller frafald af kunder. Det er der funktionsskifteteknologien sammen med funktionsskiftestyringen kommer til undsætning.

Et andet vigtigt aspekt af funktionsskifteteknologien er, at den gør det muligt at udvikle i en hurtigere rytme, da man går bort fra en praksis med at give kunden funktioner i form af nye udgaver til en model, hvor funktioner konstant udgives, når de er klar. Ved hjælp af funktionsskifteteknologien, er funktioner bedre isoleret fra hinanden og dette kan accelerere teamets ydeevne betydeligt. Det er muligt at levere funktionerne en efter en, teste dem på brugere, få tilbagemeldinger fra brugere og derefter, når funktionerne er tændt, sikre, at denne udgave af applikationen virker som den skal. Denne tilgang mindsker leveringsrisici betydeligt, hvilket på en positiv måde påvirker produktmålinger og brugerloyalitet.

Feature Toggler New Feature

For mange virksomheder er tidsbaserede faktorer, sådan som sæsonudsving, nationale og internationale fridage, marketingkampagner nogle af nøglefaktorerne, der påvirker indtjeningen. Marketingaktiviteter er bestemt af den tidsramme, de opererer inden for. Kunden skulle være i stand til at interagere med forretningen inden for en vis tidsramme, hvor marketingkampagnen er aktiv. Ved brug af funktionsskifteteknologien kan en organisation gennemføre en udgivelse af en funktion i tide. Funktionen kan gøres tilgængelig for kunder og derefter fjernes på et forudbestemt tidspunkt. Der er ikke brug for et teknisk team til at slå funktionen til og fra på bestemte tidspunkter – alt dette kan gøres automatisk af funktionsstyringssystemet.

Kanariefrigivelse og udrulninger

Funktionsskift er også uundværlige, når det gælder minimering af risici ved at sætte funktioner i produktion. En teknik kaldet ”Kanariefrigivelse” involverer implementering af tests af funktioner til små brugersegmenter. Da dette brugersegment vil være de første, der ser en ny udgave, bliver de mest loyale brugere udvalgt. Disse er typisk virksomhedens ansatte, deres venner, ansatte i partnerorganisationer osv. Efter at disse brugere tester funktionerne og giver positive tilbagemeldinger, udvides brugersegmentet gradvist. På dette tidspunkt bliver funktionen tilgængelig for eksterne brugere. De kan udvælges enten vilkårligt eller i segmenter i henhold til visse kriterier – geografi, alder, hobbies osv – der er tilgængelige for virksomheden. Der tages en beslutning om behovet for enten næste trin af testen test på et nyt, bredere segment af brugere eller udrulning af funktionen til alle brugere, baseret på resultaterne fra funktionstesten og rettelse af alle fejlene i koden.

Feature Toggler New Feture Roll out

En vigtig fordel ved “kanariefrigivelsesteknikken” er evnen til at teste hardware og infrastruktur for evnen til skalering. Meget ofte fører indførelsen af en ny funktion til nedgang i systemets ydeevne. Brugersegmentering og en gradvis udrulning af funktioner gør det muligt at måle forringelsen af systemets ydeevne på et lille brugersegment. Du kan bruge de opnåede data til at vurdere belastningen af systemet i produktion. Disse data kan derefter bruges til at informere de nødvendige før-release-forberedelser – for eksempel indkøb af mere højtydende udstyr eller styrede tjenester.

Eksperimenter

Efter min mening er den mest interessante anvendelse af funktionsskifte-teknologien A/B-tests og multivariate funktionstests, som også kaldes eksperimenter. Funktionsskift aktiverer sømløs integration af eksperimenter i programudviklingscyklussen. 

Feature Toggler A/B Testing

Multivariate funktionstests gør det muligt for dig at udføre eksperimenter, akkumulere eksperimentelle data og bruge data til at tage de rigtige beslutninger om produkter.

Formålet med eksperimenterne et at fastlægge hvilke af funktionerne, der har fået det mest positive feedback fra brugere. Til det brug opretter udviklingsteamet flere varianter af funktionen, som bliver tilgængelige for brugertestpublikummet. Hver enkelt bruger får adgang til en af varianterne. Brugerne interagerer med deres variant og resultatet af denne interaktion registreres i systemet. Med baggrund i analysen af de akkumulerede data ved brug af et statistisk analyseværktøj, bestemmes den funktion, der performer bedst, og den kan derefter rulles ud til alle systemets brugere. Alle disse trin kan udføres mens systemet kører, uden behov for at ændre og geniværksætte koden. Funktionsskiftestyringssystemet kan foretage alle de tunge løft for dig ved at foretage eksperimenter inden for den tidsramme, du definerer, opsamle statistik og fortolke de eksperimentelle data for at afgøre hvilken af funktionerne der vinder.

It-industriens kæmper som Facebook, Google, reddit, Flickr og Netflix benytter intensivt funktionsskifteteknologien til at udnytte fordelen ved optimerede funktionsudgaver, udrulninger og eksperimenter.

Ciklum har udviklet og tilbyder sine kunder produktet “Ciklum Toggler”. Dette er et funktionsskiftestyringssystem, der kan bruges i udviklingen af et digitalt produkt af alle interessenter – produktchef, teknisk team, marketingchefen osv. I tillæg til selve produktet, tilbyder vi konsulentbistand, implementering og support af vores funktionsskiftesystem, som gør det muligt for dig at opleve den maksimale påvirkning af denne teknologi på realtids-systemer i større skala, uden risiko for nedgang i performance.

Hvis du er interesseret i at lære mere om funktionskift eller planlægge en demo-session, skal du bare kontakte os.