På samma sätt som människor går igenom olika stadier i livet gör även programvaruprodukter det. Detta kallas ofta för en livscykel för programvaruutgåvor.
Det finns tydliga tidsperioder som hör samman med de olika livscykelfaserna eller ”utvecklingsstadierna” i appar, men det kan vara svårt att förutsäga när en fas slutar och en annan börjar. Varje fas har sin egen uppsättning specifika uppgifter och krav från tvärfunktionella avdelningar, så det är viktigt att produktchefer förstår varje fas för att framgångsrikt kunna vägleda företaget genom livscykeln för programvaruutgåvan.
När vi går igenom den här artikeln kommer jag att lägga till kommentarer om min erfarenhet av att sälja och integrera BankerBox, ett SaaS-företag inom FinTech för investmentbanker, i SS&C Intralinks tillsammans med min medgrundare, inom de olika faserna av SRLC.
Vad är en livscykel för programvaruutgåvor (SRLC)?
Livscykeln för programvaruutgåvor (SRLC) är en uppsättning milstolpar som beskriver de olika stadierna i en programvaras livscykel eller sekventiella utgivningstidslinje, från idéstadiet till den slutliga, färdigutvecklade utgåvan. Livscykelns längd varierar beroende på flera faktorer, till exempel produkttyp, avsedd användning samt branschens krav på säkerhet, efterlevnad och allmänna standarder.
Programvaruapplikationer har till exempel vanligtvis en kortare livscykel än de flesta andra produkter, eftersom nya funktioner och förbättringar lanseras ofta med hjälp av ett agilt arbetssätt för att möta förändrade marknadskrav och nya tekniska trender.
Det liknar livscykeln för programvaruutveckling (SDLC), som är en struktur som används för utveckling av programvaruprodukter. Skillnaden mellan dessa två livscykler är att SDLC endast beskriver programvaruutvecklingsprocessen och programvarudesignen, medan livscykeln för utgåvan beskriver inte bara utvecklingen utan även användbarhet, testning och distribution.
Programvaruutgåvor måste planeras och testas noggrant (helst av ett testteam) för att säkerställa att de inte orsakar fler problem än de löser. En livscykel för programvaruutgåvor fastställer en tydlig plan för att uppnå en framgångsrik utgivningsprocess genom korrekt planering, testning och felkorrigeringar.
Företag bör använda livscykeln för programvaruutgåvor för att planera i förväg när och hur de ska uppdatera sin webbapplikation eller sina appar över tid. Genom att införa korrekta metoder för utgåvehantering kan de underhålla en robust produkt som kontinuerligt uppfyller både användarnas behov, kärnfunktionaliteten och branschens standarder (detta är också något som AI inom utgåvehantering kan hjälpa till med). Detta gör att de kan underhålla en robust produkt som kontinuerligt uppfyller både användarnas behov, kärnfunktionaliteten och branschens standarder.
De 6 stadierna i livscykeln för programvaruutgåvor
Det finns olika stadier i livscykler för programvaruutgåvor som kan användas beroende på vilken typ av system som utvecklas och vilka behov utvecklingsteamet har.
”Stadierna” markerar milstolpar i en produkts utveckling och gör det möjligt för utvecklingsteamet och projektledarna att följa framstegen. De gör det också möjligt för utvecklingsteamen att följa trender i appar och webbapplikationer samt validera att förbättringar görs genom iterationer över tid. Vanligtvis omfattar den följande sex faser:
1. För-alfaversion
Det första stadiet i livscykeln för programvaruutgåvor är för-alfa. Detta stadium i processen är helt inriktat på utvecklingen av en produkt snarare än på dess marknadsföring och offentliga lansering. Det omfattar alla åtgärder som genomförs under den inledande utvecklingen före testningen. De vanligaste faserna i för-alfastadiet är analys, design, utveckling och enhetstestning.
En stor del av för-alfaversionen handlar om att identifiera hur programvaruapplikationen behöver utvecklas för att förberedas för bredare lanseringar, till exempel alfaversionen eller betaversionen. Utvecklingsteamet behöver införa gedigen programvarutestning, användbarhet och automatisering för att säkerställa stabila övergångar mellan de olika faserna i livscykeln för programvaruutgåvor.
Med den SaaS-lösning som min medgrundare och jag integrerade i SS&C Intralinks hade vi redan granskat och slutfört för-alfafasen. Vi hade en fungerande applikation som var arkitekturerad, designad och färdigbyggd. Det är dock viktigt att notera att ett litet programvaruföretags definition av stegen analys, design, utveckling och enhetstestning kan skilja sig avsevärt från ett stort företags perspektiv och nivå av noggrannhet för dessa steg.
4 faser för att inleda för-alfaversionen
Analys: detta är det inledande stadiet i livscykeln för programvaruutgåvor, eller SRLC, och innebär att systemets problem och krav studeras i detalj. Det omfattar analys av användarkrav, kritisk funktionalitet, identifiering av problemområdet, framtagning av genomförbarhetsrapporter och skapande av SRS (specifikation av programvarukrav).
Utformning: i detta skede utvecklar utvecklingsteamen en lösning på det problem som identifierades under analysfasen. Detta skede omfattar att skriva ett designdokument på hög nivå och prototyper som förklarar hur programvaruprodukten ska implementeras. Designdokumentet lyfter fram grundläggande steg som behöver följas för att bygga webbapplikationen.
Om du arbetar med layouter eller användargränssnittsflöden kan dessa verktyg för prototyper av responsiv design hjälpa dig att snabbt testa idéer innan utvecklingen påbörjas. Designdokumentet lyfter fram grundläggande steg som behöver följas för att bygga webbapplikationen.
Utveckling: detta är den faktiska kodningsfasen, där ett utvecklingsteam omvandlar kravspecifikationerna till en faktisk programvaruprodukt. När kodningen är klar genomför utvecklarna tester och hanterar fel så tidigt som möjligt.
Enhetstestning: detta utförs av utvecklarna innan de överlämnar sin modul till utvecklingsteamet för kvalitetssäkring (QA) (kvalitetssäkring) för den fortsatta testprocessen. I denna fas kontrollerar utvecklarna varje rad i källkoden för att säkerställa att koden fungerar korrekt innan den integreras i hela appen.
2. Alfaversion
Alphastadiet representerar den första bokstaven i det grekiska alfabetet och är även ett kodnamn för den utvecklingsfas som äger rum innan en produkt lanseras. Programvaruutvecklare använder termen "alfa" eller “alfaversion” för att beskriva programvara som befinner sig i sin första testfas.
Alfatestning utförs av interna anställda eller utvecklare inom organisationen. Denna typ av test genomförs på utvecklarens plats, men inte hos kunden. Alfatestning genomförs efter att systemtestningen har slutförts och innan betatestningen påbörjas. Testet utförs för att upptäcka fel eller brister relaterade till användbarhet, funktionalitet och konsekvens.
Vid denna typ av test utför en grupp personer som kallas ”testare” åtgärder som liknar slutanvändarnas och rapporterar sedan eventuella problem de stöter på. Huvudsyftet med alfatestning är att säkerställa att alla moduler är korrekt integrerade och fungerar som förväntat.
När vi gick igenom alfafasen för BankerBox kontaktade vi kollegor inom produkt- och programvaruområdet och, i vårt fall när vi byggde en lösning för banker, flera investmentbankirer och kontakter inom den högre finanssektorn.
Alfaprogramvara är komplett när det gäller funktioner, men innehåller sannolikt fel. Fokus för alfatestningen är att förbättra en produkt genom att upptäcka problem innan den går vidare till betatestning och genom att lägga till eventuella sista justeringar som föreslagits utifrån återkopplingen från alfatestningen.
3. Betaversion
Betastadiet, som har fått sitt namn efter den andra bokstaven i det grekiska alfabetet, är det kodnamn som används för att ange att en programvaruprodukt har gått vidare till sin andra testfas och är redo för extern användning av kunder eller klienter, som ofta kallas ”betatestare”. Vissa organisationer benämner denna fas som fasen för ”tidiga användare”.
När en betaversion har släppts genomgår den vanligtvis mer omfattande tester än under alfafasen. Det gör det möjligt för företag att bedöma hur väl deras programvara kommer att fungera under verkliga förhållanden.
När SS&C Intralinks förvärvade BankerBox skapade vi snabbt några viktiga integrationspunkter mellan vår programvara och det större företagets system (autentisering, molnservrar osv.). Därefter demonstrerade vi lösningen för och samarbetade med flera av företagets kunder för att bjuda in dem att ”betatesta” lösningen direkt i en M&A-affär.
Detta var ett utmärkt sätt för oss att få återkoppling, utveckla en kundrelation och hitta områden där programvaran behövde utvecklas för att uppfylla kraven och ”ribban” för en releasekandidat (RC) eller allmän tillgänglighet (GA).
Vid denna typ av test ger kunderna värdefull återkoppling om huruvida produkten eller appen uppfyller deras förväntningar när det gäller funktionalitet, användbarhet, prestanda, tillförlitlighet, skalbarhet och så vidare. Återkopplingen från slutanvändarna bidrar till att förbättra användarupplevelsen och åtgärda driftsproblem innan produkten släpps i produktion. Det finns två typer av betafaser:
- Öppen betaversion: Under denna fas kan alla som vill delta i betatestningen göra det. Detta kan hjälpa utvecklare att snabbt och enkelt identifiera och åtgärda fel i produkten, eftersom återkoppling från flera användare kan belysa problem.
- Stängd betaversion: I denna fas finns en specifik målmarknad med särskilda grupper av personer som fungerar som testare. Målmarknaden hjälper till att fokusera programvarutestningen på specifika problemområden och bidrar till att säkerställa att allt fungerar enligt målgruppens behov.
4. Releasekandidat
En releasekandidat (RC) är en förhandsversion av programvaran som förbereds för den slutliga produktlanseringen (i RC-fasen) till allmänheten. Detta kallas ibland ”kontrollerad tillgänglighet”. Även om den kan innehålla alla avsedda funktioner och all avsedd funktionalitet och fungera som förväntat, kan den fortfarande komma att ändras, kanske till och med drastiskt, baserat på eventuell återkoppling som tas emot.
Utvecklare kan ge ut flera releasekandidater innan den färdiga produkten släpps, för att säkerställa att programmet inte kraschar under hög belastning, inte läcker betydande mängder minne och så vidare.
5. Allmän tillgänglighet
Allmän tillgänglighet (GA) innebär att en produkt eller tjänst har gjorts tillgänglig för köp av de flesta kunder (vanligtvis globalt), oftast via kommersiella kanaler. Inom programvaruutveckling syftar detta uttryck vanligtvis på en webbaserad applikation eller app som är tillgänglig för alla avsedda användare. Under denna fas syftar alla uppdateringar eller ytterligare utvecklingsarbete med produkten till att förbättra dess funktioner och prestanda för att göra den mer attraktiv för kunderna.
När BankerBox, nu ”Deal Marketing” under det nya varumärket, nådde allmän tillgänglighet kunde vi skala upp den till kunder över hela Nordamerika och få värdefull feedback, användningsdata, skalbarhet med mera för att validera produkt–marknadspassningen innan vi gick vidare till den sista fasen i programvarans lanseringslivscykel: produktionslanseringen.
More Articles
6. Produktionslansering
En stabil version är en version av ett programvarupaket som har testats och verifierats. Det är den senaste (och ibland slutgiltiga) versionen av ett program som anses vara säker för offentlig användning. Denna typ av version kallas också en ”stabil” version.
När en programvara eller webbaserad applikation går in i denna fas kan det signalera till den bredare organisationen och marknaden hur redo produkten är. På SS&C Intralinks kopplade jag som ledare inom produktorganisationen samman viktiga tvärfunktionella initiativ med dessa faser.
I produktionslanseringsfasen kunde vi ta fram en erbjudandestrategi, fullständiga marknadsförings- och säljlanseringar samt det tillhörande stöd som behövdes inom kundservice, webbplatsens driftsäkerhetsteknik och andra avdelningar för att göra produkten framgångsrik.
Detta betraktas enligt de flesta standarder som en komplett produkt, även om det kan finnas några mindre problem med den som anses acceptabla. I vissa fall, som med Linux, finns det två typer av stabila versioner: LTS (långsiktigt stöd) och vanliga stabila versioner.
- Vanliga stabila versioner – är den vanligaste typen av version du kommer att se. De är enkla att installera (när vi talar om operativsystem) och är, som namnet antyder, stabila. Om du vill testa programvara i en produktionsmiljö är det vanligtvis denna typ av version du använder. Webbaserade applikationer hänvisar ofta till vanliga stabila versioner som ”stora” versioner.
- LTS-versioner (långsiktigt stöd) – är särskilt utformade för långvarig användning i produktionsmiljöer. Dessa versioner har en längre supportperiod än vanliga stabila versioner (den genomsnittliga tiden mellan LTS-versioner är tre år). Det innebär att de har testats omfattande och anses vara säkrare än stabila versioner.
Avslutande tankar
Att förstå de olika faserna i en produkts lanseringslivscykel för programvara är ett utmärkt sätt för en produktchef att skapa samsyn och koppla tvärfunktionella och kundrelaterade aktiviteter till de olika stegen i SRLC. Detta möjliggör en tydlig segmentering av produkten i förhållande till företagets bredare mål, strategier och initiativ.
Genom att använda dessa steg som ”utlösande” punkter kunde jag framgångsrikt integrera min produkt i ett stort företag och tidsplanera de olika aktiviteterna för att säkerställa framgång på marknaden.
När SRLC-stegen är slutförda har produkten genomgått sina försäljnings- och tillväxtcykler, och när organisationen ser signaler på att produkten håller på att fasas ut börjar underhållslivscykeln, som omfattar:
- att åtgärda buggar som kunden rapporterat under driftsättningsfasen,
- att lägga till vissa nya funktioner, eller
- att ändra befintliga funktioner enligt kundens önskemål och förändrade behov samt tekniska framsteg.
Slutligen når alla programvaruprodukter någon gång slutet av sin livslängd när de inte längre stöds av sina utvecklare.
Om du vill lära dig mer om produktledning och bästa praxis för produktutveckling bör du prenumerera! Vi hörs nästa gång.
Relaterad läsning:
- Programvaruutvecklingens livscykel i 6 steg (SDLC)
- Så skriver du effektiva versionskommentarer för programvara som gläder användarna
Relaterad lista över verktyg: Verktyg för hantering av programvaruversioner
Också värt att kolla in:
