Progressiv levering

Det lar selskaper slippe kode til små deler av trafikken sin og forbedre tilliten til produktbeslutninger før det rulles ut til alle.

Hva er progressiv levering?

Progressiv levering er en moderne tilnærming til programvare- og funksjonsleveranser som gjør det mulig for team å distribuere nye funksjoner gradvis og kontrollert. I motsetning til tradisjonelle «big bang»-releaser, der nye funksjoner gjøres tilgjengelig for alle brukere samtidig, lar progressiv levering selskaper slippe kode til små deler av trafikken sin og forbedre tilliten til produktbeslutninger før det rulles ut til alle. Med feature flags som fundament kan team aktivere eller deaktivere nye funksjoner målrettet uten å måtte distribuere kode på nytt.

Hvordan fungerer progressiv levering?

Det kan inkludere granulære funksjonsutrullinger som canary-tester, A/B-testing og mer, noe som gjør det mulig for team å jobbe mer effektivt og redusere risiko. Her er hvordan det hjelper.

  1. Feature flags

    Feature flags muliggjør granulære funksjonsutrullinger. Det betyr at nye funksjoner kan slippes til en liten prosentandel av brukerne før de rulles ut til alle. Denne tilnærmingen bidrar til å identifisere eventuelle problemer før de påvirker alle brukere.
  2. Canary testing

    Canary-deployment er et annet viktig aspekt ved progressiv levering, da det muliggjør testing i produksjon med en liten prosentandel av brukerne.
  3. A/B-testing

    A/B-testing muliggjør eksperimentering og iterasjon på funksjonalitet og brukeropplevelse. Ved å teste ulike varianter av en funksjon med ulike brukergrupper kan team avgjøre hvilken versjon som presterer best og ta datadrevne beslutninger.
  4. Observerbarhet

    Observerbarhet hjelper med overvåking og optimalisering av ytelse. Dette betyr at team raskt kan identifisere og løse eventuelle problemer som oppstår, og sikre at brukerne har en smidig og sømløs opplevelse.

Progressiv levering er en kraftfull tilnærming til programvare- og funksjonsleveranser som hjelper team med å redusere risiko og sikre at brukerne fortsatt har den best mulige opplevelsen.

Hvorfor hvert team trenger både progressiv levering og eksperimentering

Hvert team trenger både progressiv levering og eksperimentering for å drive innovasjon, forbedre brukeropplevelsen og ligge i forkant av konkurransen i en verden med automatisering og moderne programvareutvikling. En kombinasjon av begge kan gi deg et effektivt system for å validere både kvalitet og kundeengasjement på tvers av utviklingslivssyklusen din.

Denne tilnærmingen unngår behovet for å bestemme på forhånd om du planlegger et nytt release, skal eksperimentere, gjennomføre en trinnvis utrulling, eller ganske enkelt sette et «ikke slipp ennå»-flagg. Med denne tilnærmingen kan du starte med et enkelt feature flag i kodebasen din og over tid gjøre det om til en produktbeslutning som krever en fullverdig A/B- eller multivariat test, og dermed bruke mer avanserte teknikker for funksjonene som trenger dem.

Ettersom programvare- og funksjonsleveranser fortsetter å bli mer komplekse med høyere innsats, blir progressiv levering raskt den foretrukne teknikken for kontinuerlig integrasjon. Den tilbyr en måte å balansere hastighet og smidighet med behovet for pålitelighet og stabilitet, slik at team kan levere funksjoner som møter brukernes behov.

Det er den beste måten å slippe funksjoner og oppdateringer trygt til brukere på en sikker og kontrollert måte.

Eksempel på eksperimenteringsflyt for progressiv levering

Som med enhver ny prosess eller plattform kan integrering av progressiv levering og eksperimentering i programvareutviklings- og leveringsprosessen din reise mange spørsmål for engineering- og DevOps-team:

  • Hvordan kan vi starte med feature-flagging og A/B-testing uten å skape teknisk gjeld?
  • Hvordan kan vi skalere til tusenvis av flagg og fortsatt beholde gode governance- og QA-prosesser?
  • Hvordan kan vi ta i bruk disse nye praksisene i hele organisasjonen uten å bremse utvikling og levering?

Her er et enkelt eksempel på arbeidsflyt for å komme i gang:

  1. Generer innsikt

    Før du implementerer progressiv levering, samle innsikt om brukeratferd og applikasjonsytelse. Bruk overvåkingsverktøy, tilbakemeldinger fra brukere og analyser.
  2. Hva er hypotesen din

    Basert på den innsamlede innsikten, definer en hypotese for den nye versjonen du ønsker å teste. Ha en klar definisjon av suksess, for eksempel forbedret brukerengasjement, raskere sidelastetider eller økte konverteringsrater.
  3. Sett opp eksperiment

    Definer kriteriene for suksess, for eksempel prosentandelen av brukere i eksperimentet, varigheten av eksperimentet og de spesifikke funksjonene eller endringene som skal testes.
  4. Kjør eksperiment

    Start eksperimentet ved å rulle ut endringene til en liten prosentandel av brukerne. Overvåk resultatene og gjør justeringer etter behov.
  5. Analyse 

    Analyser testresultatene for å sjekke om hypotesen var vellykket og om den nådde statistisk signifikans. Bruk kvantitative data, som brukerengasjement og konverteringsrater, og kvalitative data, som tilbakemeldinger fra brukere.
  6. Deling og læring

    Del resultatene av eksperimentet med interessenter og teammedlemmer. Bruk innsikten til å informere fremtidige utviklingsbeslutninger og forbedre kundeopplevelsen.
  7. Progressiv utrulling

    Hvis det var et vellykket eksperiment, rull gradvis ut endringene til en større prosentandel av brukerne. Overvåk resultatene og gjør justeringer etter behov. Hvis det var en mislykket test, revurder hypotesen og gjør endringer før du starter et nytt eksperiment.

Fordeler med progressiv levering

Metodikken for progressiv levering har flere fordeler og brukstilfeller som kan hjelpe team og enkeltpersoner, spesielt produktledere, med å forbedre samarbeid, redusere risiko og validere kvalitet og ytelse i et produksjonsmiljø.

  1. Mer effektivt teamsamarbeid

    Ved å dele opp leveringsprosessen i mindre, mer håndterbare stadier kan team jobbe tettere sammen for å identifisere og løse potensielle problemer før de blir til reelle problemer. Det bringer alle på linje og hjelper dem med å jobbe mot de samme målene, noe som til slutt fører til en mer effektiv utviklingsprosess.
  2. Reduserer risiko ved releaser

    Ved å rulle ut nye funksjoner og oppdateringer i etapper kan team identifisere og løse problemer før de påvirker alle brukere. Det minimerer nedetid, reduserer risikoen for datatap eller -korrupsjon, og forhindrer andre potensielle problemer fra større, mer komplekse programvareleveranser.
  3. Validerer kvalitet og ytelse i produksjon

    Ved å teste nye funksjoner og oppdateringer i mindre, kontrollerte miljøer kan team overvåke ytelsesmålinger og brukertilbakemeldinger for å identifisere utfordringer før de påvirker et større publikum. Det bekrefter at nye funksjoner og oppdateringer fungerer som tiltenkt og møter brukernes behov.
  4. Retter seg mot spesifikke målgrupper gjennom flere stadier av releasen

    Ved å rulle ut nye funksjoner og oppdateringer til en undergruppe av brukerne først, kan team samle tilbakemeldinger og gjøre justeringer før det slippes til et bredere publikum.

Ved å ta i bruk progressiv levering kan team lage bedre funksjoner og programvareprodukter for å drive forretningssuksess i sanntid.

Suksesshistorier for progressiv levering

Disse A/B-testing- og progressive-levering-casestudiene viser resultatene verdens ledende digitale merkevarer har oppnådd med Optimizely Feature Experimentation.

Team → Beta → Trinnvise utrullinger → Alle   

Det kan inkludere granulære funksjonsutrullinger som canary-tester, A/B-testing og mer, noe som gjør det mulig for team å jobbe mer effektivt og redusere risiko. Her er hvordan det hjelper. 

  1. Feature flags  

    Feature flags muliggjør granulære funksjonsutrullinger. Det betyr at nye funksjoner kan slippes til en liten prosentandel av brukerne før de rulles ut til alle. Denne tilnærmingen bidrar til å identifisere eventuelle problemer før de påvirker alle brukere. 
  2. Canary testing 

    Canary-deployment er et annet viktig aspekt ved progressiv levering, da det muliggjør testing i produksjon med en liten prosentandel av brukerne. 
  3. A/B-testing 

    A/B-testing muliggjør eksperimentering og iterasjon på funksjonalitet og brukeropplevelse. Ved å teste ulike varianter av en funksjon med ulike brukergrupper kan team avgjøre hvilken versjon som presterer best og ta datadrevne beslutninger. 
  4. Observerbarhet 

    Observerbarhet hjelper med overvåking og optimalisering av ytelse. Dette betyr at team raskt kan identifisere og løse eventuelle problemer som oppstår, og sikre at brukerne har en smidig og sømløs opplevelse. 

Progressiv levering er en kraftfull tilnærming til programvare- og funksjonsleveranser som hjelper team med å redusere risiko og sikre at brukerne fortsatt har den best mulige opplevelsen. 

Hvorfor hvert team trenger både progressiv levering og eksperimentering 

Hvert team trenger både progressiv levering og eksperimentering for å drive innovasjon, forbedre brukeropplevelsen og ligge i forkant av konkurransen i en verden med automatisering og moderne programvareutvikling. En kombinasjon av begge kan gi deg et effektivt system for å validere både kvalitet og kundeengasjement på tvers av utviklingslivssyklusen din.  

Denne tilnærmingen unngår behovet for å bestemme på forhånd om du planlegger et nytt release, skal eksperimentere, gjennomføre en trinnvis utrulling, eller ganske enkelt sette et «ikke slipp ennå»-flagg. Med denne tilnærmingen kan du starte med et enkelt feature flag i kodebasen din og over tid gjøre det om til en produktbeslutning som krever en fullverdig A/B- eller multivariat test, og dermed bruke mer avanserte teknikker for funksjonene som trenger dem. 

Ettersom programvare- og funksjonsleveranser fortsetter å bli mer komplekse med høyere innsats, blir progressiv levering raskt den foretrukne teknikken for kontinuerlig integrasjon. Den tilbyr en måte å balansere hastighet og smidighet med behovet for pålitelighet og stabilitet, slik at team kan levere funksjoner som møter brukernes behov.  

Det er den beste måten å slippe funksjoner og oppdateringer trygt til brukere på en sikker og kontrollert måte. 

Eksempel på eksperimenteringsflyt for progressiv levering 

Som med enhver ny prosess eller plattform kan integrering av progressiv levering og eksperimentering i programvareutviklings- og leveringsprosessen din reise mange spørsmål for engineering- og DevOps-team:  

  • Hvordan kan vi starte med feature-flagging og A/B-testing uten å skape teknisk gjeld?   
  • Hvordan kan vi skalere til tusenvis av flagg og fortsatt beholde gode governance- og QA-prosesser?   
  • Hvordan kan vi ta i bruk disse nye praksisene i hele organisasjonen uten å bremse utvikling og levering?  

Her er et enkelt eksempel på arbeidsflyt for å komme i gang:

  1. Generer innsikt 

    Før du implementerer progressiv levering, samle innsikt om brukeratferd og applikasjonsytelse. Bruk overvåkingsverktøy, tilbakemeldinger fra brukere og analyser. 
  2. Hva er hypotesen din 

    Basert på den innsamlede innsikten, definer en hypotese for den nye versjonen du ønsker å teste. Ha en klar definisjon av suksess, for eksempel forbedret brukerengasjement, raskere sidelastetider eller økte konverteringsrater. 
  3. Sett opp eksperiment 

    Definer kriteriene for suksess, for eksempel prosentandelen av brukere i eksperimentet, varigheten av eksperimentet og de spesifikke funksjonene eller endringene som skal testes. 
  4. Kjør eksperiment 

    Start eksperimentet ved å rulle ut endringene til en liten prosentandel av brukerne. Overvåk resultatene og gjør justeringer etter behov. 
  5. Analyse 

    Analyser testresultatene for å sjekke om hypotesen var vellykket og om den nådde statistisk signifikans. Bruk kvantitative data, som brukerengasjement og konverteringsrater, og kvalitative data, som tilbakemeldinger fra brukere. 
  6. Deling og læring 

    Del resultatene av eksperimentet med interessenter og teammedlemmer. Bruk innsikten til å informere fremtidige utviklingsbeslutninger og forbedre kundeopplevelsen. 
  7. Progressiv utrulling 

    Hvis det var et vellykket eksperiment, rull gradvis ut endringene til en større prosentandel av brukerne. Overvåk resultatene og gjør justeringer etter behov. Hvis det var en mislykket test, revurder hypotesen og gjør endringer før du starter et nytt eksperiment. 

Fordeler med progressiv levering 

Metodikken for progressiv levering har flere fordeler og brukstilfeller som kan hjelpe team og enkeltpersoner, spesielt produktledere, med å forbedre samarbeid, redusere risiko og validere kvalitet og ytelse i et produksjonsmiljø.

  1. Mer effektivt teamsamarbeid 

    Ved å dele opp leveringsprosessen i mindre, mer håndterbare stadier kan team jobbe tettere sammen for å identifisere og løse potensielle problemer før de blir til reelle problemer. Det bringer alle på linje og hjelper dem med å jobbe mot de samme målene, noe som til slutt fører til en mer effektiv utviklingsprosess.
  2. Reduserer risiko ved releaser 

    Ved å rulle ut nye funksjoner og oppdateringer i etapper kan team identifisere og løse problemer før de påvirker alle brukere. Det minimerer nedetid, reduserer risikoen for datatap eller -korrupsjon, og forhindrer andre potensielle problemer fra større, mer komplekse programvareleveranser.
  3. Validerer kvalitet og ytelse i produksjon 

    Ved å teste nye funksjoner og oppdateringer i mindre, kontrollerte miljøer kan team overvåke ytelsesmålinger og brukertilbakemeldinger for å identifisere utfordringer før de påvirker et større publikum. Det bekrefter at nye funksjoner og oppdateringer fungerer som tiltenkt og møter brukernes behov.
  4. Retter seg mot spesifikke målgrupper gjennom flere stadier av releasen

    Ved å rulle ut nye funksjoner og oppdateringer til en undergruppe av brukerne først, kan team samle tilbakemeldinger og gjøre justeringer før det slippes til et bredere publikum.

Ved å ta i bruk progressiv levering kan team lage bedre funksjoner og programvareprodukter for å drive forretningssuksess i sanntid. 

Suksesshistorier for progressiv levering 

Disse A/B-testing- og progressive-levering-casestudiene viser resultatene verdens ledende digitale merkevarer har oppnådd med Optimizely Feature Experimentation