Utrullning av funktioner

En utrullning av funktioner är softwareutvecklingsprocessen för att introducera en ny funktion till en uppsättning användare.

Vad är en utrullning av funktioner?

En utrullning av funktioner är softwareutvecklingsprocessen för att introducera en ny funktion till en uppsättning användare.

I den inte alltför avlägsna förflutna rullade man ut programvara en gång i veckan eller varannan vecka, med ett antal ändringar som bundlades ihop och sedan övervakades. Om något gick sönder kunde det kräva en fullständig återställning medan ingenjörerna undersökte problemet.

Numera har framåtblickande programvaruföretag etablerat nya sätt att rulla ut funktioner på ett mer effektivt sätt och med liten risk.

Fördelar med utrullning av funktioner

En fördel med en process för utrullning av funktioner är att den uppmuntrar till samarbete och genomtänkt planering. Det får team att integrera en lanseringsstrategi i utvecklingen. Istället för att pusha nya funktioner till alla användare i produktion styr utvecklare lanseringar i utvecklingslivscykeln.

En annan fördel med utrullning av funktioner är testhastighet. Team kan testa många fler hypoteser på kortare tid.

När en produkt har ett stort antal användare kräver stora förändringar experimentering, användaracceptans och användarutbildning. Att rulla ut i faser, eller segmentera grupper av användare för att testa olika funktioner, ger ett företag möjlighet att fullt ut testa gränssnittet och User Experience och köra fler tester.

Utrullning av funktioner & kontinuerlig leverans

Med den ökande populariteten för kontinuerlig leverans integrerar produkt- och utvecklingsteam kontroller för funktionslansering och utrullning i produktutvecklingsprocessen. Team samordnar nu för att hantera lanseringar under hela utvecklingscykeln.

Förespråkat av den inflytelserika utvecklaren Martin Fowler, är kontinuerlig leverans en programvaruutvecklingsdisciplin där programvara kan lanseras till produktion när som helst. Den har antagits av ledande programvaruföretag runt om i världen vars team nu förväntas snabbt leverera programvara som är stabil och felfri.

Processen för utrullning av funktioner

En process för utrullning av funktioner innefattar planering, schemaläggning, styrning och testning av en funktionslansering genom olika faser och miljöer. Följande är processens faser:

  1. Design

    Designa funktionaliteten, undersök användningsfallet och ta fram en tidslinje.
  2. Utveckla lanseringsstrategi

    Bestäm parametrar för lansering och hur användarfeedback ska integreras.
  3. Bygg

    Utveckla och integrera, och hantera funktionens progression genom flera utvecklingsmiljöer.
  4. Testa

    Testa funktionen med hjälp av feature flag för att styra utrullning och användar-targeting. Bedöm prestandafeedback och användarfeedback.
  5. Lansera

    Driftsätt funktionen som "av" i produktion och implementera sedan din lanseringsstrategi och utrullningsstrategi.
  6. Samla feedback

    Bygg en kontinuerlig feedbackloop.
  7. Lansera kontinuerligt

    Gör inkrementella ändringar baserat på feedback och fortsätt att optimera produkten.

Utrullning av funktioner med feature flags

Det finns ett antal sätt att driftsätta nya utrullningar av funktioner, och en populär metod använder feature flags, även kända som feature toggles.

Feature flags är en programvaruutvecklingsteknik som slår på och av viss funktionalitet utan att driftsätta ny kod. Detta ger mer kontroll och mer experimentering under hela livscykeln för funktioner.

Feature flagging möjliggör kontinuerlig leverans och distribution av programvara till användare på ett snabbare sätt. Användningen av feature flags gör det möjligt för företag att utföra gradvisa utrullningar av funktioner, åtgärda buggar i koden utan att omdriftsätta och uppleva en mer strömlinjeformad utvecklingscykel.

Vad är en funktionsvariabel?

En funktionsvariabel är ett sätt att instrumentera feature flags med konfigurerbara komponenter eller parametrar som gör det möjligt för programvaruteam att styra eller uppdatera funktionen spontant, utan att driftsätta kod.

Ett exempel på en funktionsvariabel skulle vara en knapp som kan anpassas med olika färger, text, storlek och placering. Den här knappen kan uppdateras utan att driftsätta ny kod.

Funktionsvariabler och utrullning av funktioner

Funktionsvariabler kan inkluderas i utrullningar av funktioner för att ändra eller snabbfixar funktioner spontant utan att pusha ny kod. Dessa ändringar kan rullas ut till en procentandel av en kundbas och specifika målgrupper.

Funktionsvariabler och A/B-testning

Funktionsvariabler kan kombineras med A/B-testning för att testa olika funktionskonfigurationer för att förbättra affärsmätvärden. Med hjälp av funktionsvariabler kan ett företag till exempel testa olika funktionskonfigurationer för att se vilka som ger bäst resultat.

Utrullning av funktioner & A/B-testning

Att integrera A/B-testning i din funktionsdriftsättning är ett sätt att både minska risker och testa effekten av nya funktioner utan att lansera koden för alla.

Det råder ofta ingen brist på idéer till intressanta funktioner; den begränsande faktorn är utvecklingstid. A/B-testning kan bidra till att skapa en miljö där testdata driver din produktfärdplan, inte enskilda åsikter.

Med A/B- eller split-tester kan du konfigurera två variationer av användarupplevelser (presenterade för olika grupper av användare) och utvärdera den totala framgången för var och en, baserat på målresultat som du fastställer.

Utrullning av funktioner med Optimizely Feature Experimentation

Produkt- och ingenjörsteam kan nu använda Optimizely serversides funktionshantering för utrullningar. Detta möjliggör samma flexibilitet som produktteam förlitat sig på med sina experimenteringsprogram för att validera hypoteser innan de lanserar nya produkter, funktioner och upplevelser för alla.

Denna experimentering kommer att fungera sömlöst med praxisen för kontinuerlig integration och kontinuerlig leverans som används av dagens avancerade ingenjörsteam. Båda team – och hela företag – kommer att kunna dra nytta av snabbare utvecklingscykler och funktionshanteringspraxis som flaggor eller växlar för att minska risker.

Alla Optimizely Full Stack-kunder kan följa i fotspåren på världens bästa programvaruföretag (som Amazon, Google och Facebook) för att utveckla sina digitala upplevelser, utföra A/B-tester för att hitta den bästa möjliga upplevelsen och sedan hantera en kontrollerad utrullning.

Optimizely erbjuder nu även gratis feature flags via Optimizely Rollouts för team som vill komma igång med kontrollerade funktionslanseringar utan den fulla funktionaliteten i Optimizely Full Stack.

Med Optimizely kan ditt team testa många möjligheter, vilket gör det mer sannolikt att hitta bättre resultat.