Ordlista för optimering

Utrullning av funktioner

Innehållsförteckning


    Vad är en utrullning av funktioner?

    En utrullning av funktioner är en process inom programvaruutveckling där en ny funktion introduceras för en grupp användare.

    För inte så länge sedan rullades programvaran ut en gång i veckan eller varannan vecka, med ett antal ändringar som buntades ihop och sedan övervakades. Om något gick sönder kunde det krävas en fullständig roll-back medan ingenjörerna undersökte problemet.

    Numera har framsynta programvaruföretag tagit fram nya sätt att lansera funktioner på ett effektivare sätt och med mindre 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 teamen att införliva en lanseringsstrategi i utvecklingsarbetet. Istället för att skicka nya funktioner till alla användare i produktionen kontrollerar utvecklarna lanseringarna i utvecklingslivscykeln.

    En annan fördel med utrullning av funktioner är att testningen går snabbare. Teamen 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. Utrullning i faser, eller segmentering av grupper av användare för att testa olika funktioner, ger ett företag möjlighet att testa användargränssnittet och användarupplevelsen fullt ut och köra fler tester.

    Utrullning av funktioner och kontinuerlig leverans

    I takt med att kontinuerliga leveranser blir allt vanligare implementerar produkt- och utvecklingsteam kontroller för utrullning av funktioner i produktutvecklingsprocessen. Teamen samordnar nu för att hantera lanseringar under hela utvecklingscykeln.

    Kontinuerlig leverans, som förespråkades av den inflytelserika utvecklaren Martin Fowler, är en disciplin inom programvaruutveckling där programvara kan släppas till produktion när som helst. Den har anammats av ledande programvaruföretag runt om i världen vars team nu förväntas leverera programvara som är stabil och buggfri.

    Process för utrullning av funktioner

    En process för utrullning av funktioner omfattar planering, schemaläggning, kontroll och testning av en utrullning av funktioner genom olika faser och miljöer. Följande är faserna i processen:

    1. Utformning

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

      Bestäm parametrar för lansering och hur du ska införliva feedback från användarna.
    3. Bygga

      Utveckla och integrera, hantera funktionens utveckling genom flera olika utvecklarmiljöer.
    4. Testa

      Testa funktionen med hjälp av feature flag för att styra utrullning och målgruppsinriktning. Utvärdera feedback om prestanda och användarna.
    5. Release

      Driftsätt funktionen som "off" i produktionen och implementera sedan din strategi för driftsättning och utrullning.
    6. Samla in feedback

      Bygg upp en konstant feedback-loop.
    7. Kontinuerlig lansering

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

    Utrullning av funktioner med feature flags

    Det finns ett antal sätt att distribuera utrullningar av nya funktioner, och en populär metod är att använda feature flags, även kända som funktionsväxlingar.

    Feature flags är en teknik för programvaruutveckling som slår på och av viss funktionalitet utan att distribuera ny kod. Detta möjliggör mer kontroll och mer experimentering under funktionernas hela livscykel.

    Feature flags möjliggör kontinuerlig leverans och snabbare utrullning av programvara till användare. 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 omplacera och uppleva en mer strömlinjeformad utvecklingscykel.

    Vad är en funktionsvariabel?

    En feature variable är ett sätt att förse feature flags med konfigurerbara komponenter eller parametrar som gör det möjligt för programvaruteamen att styra eller uppdatera funktionen i farten, utan att distribuera kod.

    Ett exempel på en funktionsvariabel är en knapp som kan anpassas med olika färger, kopior, storlek och placering. Knappen kan uppdateras utan att ny kod behöver distribueras.

    Funktionsvariabler och utrullning av funktioner

    Funktionsvariabler kan inkluderas i utrullningar av funktioner för att ändra eller hotfixa funktioner i farten utan att ny kod behöver läggas in. Dessa ändringar kan rullas ut till en procentandel av en kundbas och specifika målgrupper.

    Variabler för funktioner och A/B-testning

    Funktionsvariabler kan kombineras med A/B-testning för att testa olika funktionskonfigurationer som ger förbättrade affärsmått. 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 och A/B-testning

    Att integrera A/B-testning i din funktionsutrullning är ett sätt att både minska risken och testa effekterna av nya funktioner utan att släppa koden till alla.

    Det råder ofta ingen brist på idéer för intressanta funktioner; den begränsande faktorn är utvecklingstiden. A/B-testning kan bidra till att skapa en miljö där testdata styr din produkts roadmap, inte individuella åsikter.

    Med A/B-testning eller split testing kan du skapa två variationer av användarupplevelser (som presenteras för olika grupper av användare) och utvärdera den övergripande framgången för var och en, baserat på mål som du fastställer.

    Utrullning av funktioner med Optimizely Feature Experimentation

    Produkt- och teknikteam kan nu använda Optimizely Rollouts funktionshantering på serversidan för att göra utrullningar. Detta ger samma flexibilitet som produktteam har 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 metoderna för kontinuerlig integration och kontinuerlig leverans som används av dagens avancerade ingenjörsteam. Båda teamen - och hela företag - kommer att kunna dra nytta av de snabbare utvecklingscyklerna och metoder för funktionshantering som flaggor eller funktionsväxlingar för att minska risken.

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

    Optimizely erbjuder nu också gratis feature flags genom Optimizely Rollouts för team som vill komma igång med kontrollerade utrullningar av funktioner 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.

    https://pixel.welcomesoftware.com/px.gif?key=YXJ0aWNsZT1lYjZmNzBmMGVhZGIxMWVlYjAxZDg2MDg3NzAwMDE1MA==