På samme måte som mennesker går gjennom ulike stadier i livet, gjør også programvareprodukter det. Dette omtales ofte som en programvareutgivelseslivssyklus.
Det finnes bestemte tidsperioder knyttet til de ulike livssyklusfasene eller «utviklingsstadiene» i apper, men det kan være vanskelig å forutsi når én fase slutter og en annen begynner. Hver fase har sitt eget tydelige sett med oppgaver og krav fra avdelinger på tvers av organisasjonen, så det er viktig at produktledere forstår hver fase for å kunne lede selskapet gjennom programvareutgivelseslivssyklusen på en vellykket måte.
Etter hvert som vi går inn i denne artikkelen, vil jeg legge til kommentarer om min erfaring med å selge og integrere BankerBox, et SaaS-selskap innen FinTech for investeringsbankfolk, i SS&C Intralinks sammen med medgründeren min, i de ulike fasene av SRLC.
Hva er en programvareutgivelseslivssyklus (SRLC)?
Programvareutgivelseslivssyklusen (SRLC) er et sett med milepæler som beskriver de ulike stadiene i livssyklusen til et programvareprodukt eller den sekvensielle utgivelsestidslinjen, fra unnfangelse til den endelige, fullt ferdige utgivelsen. Lengden på denne livssyklusen varierer basert på en rekke faktorer, for eksempel produkttypen, den tiltenkte bruken og bransjens krav til sikkerhet, samsvar og generelle standarder.
Programvareapplikasjoner har for eksempel vanligvis en kortere livssyklus enn de fleste andre produkter fordi nye funksjoner og forbedringer lanseres hyppig ved hjelp av smidig utvikling for å møte endrede markedsbehov og nye teknologiske trender.
Den ligner på livssyklusen for programvareutvikling (SDLC), som er en struktur som brukes til utvikling av programvareprodukter. Forskjellen mellom disse to livssyklusene er at SDLC kun beskriver programvareutviklingsprosessen og programvaredesignet, mens utgivelseslivssyklusen beskriver ikke bare utviklingen, men også brukervennlighet, testing og distribusjon.
Programvareutgivelser må planlegges og testes nøye (helst av et testteam) for å sikre at de ikke skaper flere problemer enn de løser. En programvareutgivelseslivssyklus fastsetter en tydelig plan for å oppnå en vellykket utgivelsesprosess gjennom riktig planlegging, testing og feilretting.
Virksomheter bør bruke programvareutgivelseslivssyklusen til å planlegge når og hvordan de skal oppdatere nettapplikasjonen eller appene sine over tid. Ved å innføre gode rutiner for utgivelsesstyring kan de opprettholde et robust produkt som kontinuerlig oppfyller både brukernes behov, kjernefunksjonaliteten og bransjens standarder (dette er også noe KI i utgivelsesstyring kan bidra til). Dette gjør det mulig for dem å opprettholde et robust produkt som kontinuerlig oppfyller både brukernes behov, kjernefunksjonaliteten og bransjens standarder.
De 6 stadiene i programvareutgivelseslivssyklusen
Det finnes ulike stadier i programvareutgivelseslivssykluser som kan brukes, avhengig av typen system som utvikles og utviklingsteamets behov.
«Stadiene» markerer milepæler i produktets utvikling og gjør det mulig for utviklingsteamet og prosjektlederne å følge fremdriften. De gjør det også mulig for utviklingsteamene å følge trender i appene og nettapplikasjonene og gjennomføre valideringer av at forbedringer gjøres gjennom iterasjoner over tid. Den består vanligvis av følgende seks faser:
Have an account? Log In
1. Pre-alfa-versjon
Det første stadiet i programvareutgivelseslivssyklusen er pre-alfa. Denne fasen av prosessen er utelukkende fokusert på utviklingen av et produkt, ikke på markedsføring og offentlig lansering. Den omfatter alle handlinger som utføres under den innledende utviklingen før testing. De vanligste fasene i pre-alfa er analyse, design, utvikling og enhetstesting.
En stor del av pre-alfa-versjonen handler om å identifisere hvordan programvareapplikasjonen må utvikles for å forberede den på bredere utgivelser, som alfa- eller betaversjonen. Utviklingsteamet må etablere grundig programvaretesting, brukervennlighet og automatisering for å sikre stabile overganger mellom de ulike fasene i programvareutgivelseslivssyklusen.
Med SaaS-løsningen som medgründeren min og jeg integrerte i SS&C Intralinks, hadde vi allerede kvalitetssikret og fullført pre-alfa-fasen. Vi hadde en fungerende applikasjon som var arkitektonisk utformet, designet og utviklet. Det er imidlertid viktig å merke seg at en liten programvarebedrifts definisjon av trinnene analyse, design, utvikling og enhetstesting kan være helt annerledes enn perspektivet og grundighetsnivået til en stor virksomhet når det gjelder disse trinnene.
4 faser for å starte pre-alfa-versjonen
Analyse: Dette er det innledende stadiet i programvareutgivelseslivssyklusen eller SRLC, og det innebærer å undersøke problemet og kravene til et system i detalj. Det omfatter analyse av brukerkrav, kritisk funksjonalitet, identifisering av problemområdet, utarbeidelse av mulighetsstudier og opprettelse av SRS (spesifikasjon av programvarekrav).
Utforming: I denne fasen utvikler utviklingsteamene en løsning på problemet som ble identifisert i analysefasen. Denne fasen innebærer å skrive et overordnet designdokument og skisser som forklarer hvordan programvareproduktet skal implementeres. Designdokumentet fremhever grunnleggende trinn som må følges for å bygge webapplikasjonen.
Hvis du arbeider med oppsett eller brukergrensesnittflyter, kan disse verktøyene for prototyping av responsiv utforming hjelpe deg med å teste ideer raskt før du går videre til utvikling. Designdokumentet fremhever grunnleggende trinn som må følges for å bygge webapplikasjonen.
Utvikling: Dette er den faktiske kodingsfasen, der et utviklingsteam omgjør kravspesifikasjonene til et faktisk programvareprodukt. Når kodingen er ferdig, utfører utviklerne testing og håndterer feilrettinger så tidlig som mulig.
Enhetstesting: Dette utføres av utviklerne før de leverer modulen sin til utviklingsteamet for kvalitetssikring (QA) via kvalitetssikring for den videre testprosessen. I denne fasen kontrollerer utviklerne hver eneste linje med kildekode for å sikre at koden fungerer som den skal, før den integreres i hele appen.
2. Alfaversjon
Alfafasen representerer den første bokstaven i det greske alfabetet, og er også et kodenavn for utviklingsfasen som finner sted før et produkt lanseres. Programvareutviklere bruker begrepet "alfa" eller “alfaversjon” for å beskrive programvare som er i sin første fase av programvaretesting.
Alfatesting utføres av interne ansatte eller utviklere i organisasjonen. Denne typen testing utføres hos utvikleren, men ikke hos kunden. Alfatesting gjennomføres etter at systemtestingen er fullført og før betatestingen. Denne testen utføres for å finne feil eller mangler knyttet til brukervennlighet, funksjonalitet og konsistens.
I denne typen testing utfører en gruppe personer som kalles «testere», operasjoner som ligner på sluttbrukernes, og rapporterer deretter om eventuelle problemer de opplever. Hovedformålet med alfatesting er å sikre at alle moduler er riktig integrert og fungerer som forventet.
Da vi gikk gjennom alfafasen for BankerBox, tok vi kontakt med kolleger innen produktutvikling og programvare, og i vårt tilfelle, siden vi bygget en løsning for banker, flere investeringsbankfolk og kontakter innen høyfinans.
Alfaprogramvare er komplett med hensyn til funksjoner, men vil sannsynligvis inneholde feil. Fokuset for alfatesting er å forbedre et produkt ved å oppdage problemer før det går videre til betatesting, samt legge til eventuelle siste justeringer som foreslås basert på tilbakemeldinger fra alfaen.
3. Betaversjon
Betafasen, som er oppkalt etter den andre bokstaven i det greske alfabetet, er kodenavnet som brukes for å angi at et programvareprodukt har gått inn i sin andre testfase og er klart for ekstern bruk av kunder eller klienter, ofte omtalt som «betatestere». Noen organisasjoner omtaler denne fasen som fasen for «tidlige brukere».
Når en betaversjon lanseres, gjennomgår den vanligvis mer omfattende testing enn den gjorde under alfafasen. Dette gjør det mulig for selskaper å vurdere hvor godt programvaren vil fungere under virkelige forhold.
Etter at SS&C Intralinks kjøpte BankerBox, opprettet vi raskt noen viktige integrasjonspunkter mellom programvaren vår og selskapets øvrige systemer (autentisering, skyservere osv.). Deretter demonstrerte vi løsningen og inngikk samarbeid med flere av selskapets kunder for å invitere dem til å «betateste» løsningen i sanntid i forbindelse med en M&A-transaksjon.
Dette var en flott måte for oss å få tilbakemeldinger på, utvikle kunderelasjoner og finne områder der programvaren måtte videreutvikles for å oppfylle kravene og «listen» for en utgivelseskandidat (RC) eller generell tilgjengelighet (GA).
I denne typen testing gir kundene verdifulle tilbakemeldinger på om produktet eller appen oppfyller forventningene deres når det gjelder funksjonalitet, brukervennlighet, ytelse, pålitelighet, skalerbarhet og så videre. Tilbakemeldingene fra sluttbrukerne bidrar til å forbedre brukeropplevelsen og løse driftsrelaterte problemer før produktet lanseres i produksjon. Det finnes to typer betafaser:
- Åpen beta: I denne fasen kan alle som ønsker å delta, gjøre det. Dette kan hjelpe utviklerne med å identifisere og håndtere feil i produktet raskt og enkelt, ettersom tilbakemeldinger fra flere brukere kan avdekke problemer.
- Lukket beta: I denne fasen finnes det et spesifikt målmarked med bestemte grupper mennesker som fungerer som testere. Målmarkedet bidrar til å rette programvaretestingen mot bestemte problemområder og sikrer at alt fungerer i henhold til målforbrukernes behov.
4. Utgivelseskandidat
En utgivelseskandidat (RC) er en forhåndsversjon av programvaren som klargjøres for den endelige produktlanseringen (i RC-fasen) til offentligheten. Dette omtales noen ganger som «kontrollert tilgjengelighet». Selv om den kan inneholde alle de planlagte funksjonene og egenskapene og fungere som forventet, kan den fortsatt bli endret, muligens også radikalt, basert på eventuelle mottatte tilbakemeldinger.
Utviklere kan utgi flere utgivelseskandidater før de lanserer det ferdige produktet, for å sikre at programmet ikke krasjer under høy belastning, ikke lekker betydelige mengder minne osv.
5. Generell tilgjengelighet
Generell tilgjengelighet (GA) betyr at et produkt eller en tjeneste er gjort tilgjengelig for kjøp av de fleste kunder (vanligvis globalt), som regel gjennom kommersielle kanaler. Innen programvareutvikling viser dette uttrykket vanligvis til en nettapplikasjon eller app som er tilgjengelig for alle tiltenkte brukere. I denne fasen er eventuelle oppdateringer eller videre utviklingsarbeid på produktet rettet mot å forbedre funksjonene og ytelsen, slik at det blir mer attraktivt for kundene.
Da BankerBox, som nå heter «Deal Marketing» under det nye merkenavnet, nådde generell tilgjengelighet, kunne vi skalere det til kunder over hele Nord-Amerika og innhente verdifulle tilbakemeldinger, brukstall, skalerbarhetsdata osv. for å validere samsvaret mellom produkt og marked før vi gikk videre til den siste fasen i programvareutgivelsessyklusen: produksjonslanseringen.
More Articles
6. Produksjonslansering
En stabil utgivelse er en versjon av en programpakke som er testet og verifisert. Det er den nyeste (og noen ganger endelige) versjonen av et program som anses som trygg for offentlig bruk. Denne typen utgivelse kalles også en «stabil» utgivelse.
Når en programvare- eller nettapplikasjon går inn i denne fasen, kan det signalisere til den bredere organisasjonen og markedet hvor klar produktet ditt er. Hos SS&C Intralinks knyttet jeg som leder i produktorganisasjonen viktige tverrfunksjonelle initiativer til disse fasene.
I produksjonslanseringsfasen kunne vi sette sammen en tilbudsstrategi, gjennomføre fullstendige markedsførings- og salgsintroduksjoner og etablere den tilhørende støtten som var nødvendig på tvers av kundeservice, driftsteknikk for nettstedets pålitelighet og andre avdelinger for å gjøre produktet vellykket.
Dette regnes som et komplett produkt etter de fleste standarder, selv om det kan finnes noen mindre problemer som anses som akseptable. I enkelte tilfeller, som med Linux, finnes det to typer stabile utgivelser: LTS (langsiktig støtte) og vanlige stabile utgivelser.
- Vanlige stabile utgivelser – er den vanligste typen utgivelse du vil se. De er enkle å installere (når vi snakker om operativsystemprogramvare), og som navnet antyder, er de stabile. Hvis du ønsker å teste programvare i et produksjonsmiljø, er dette vanligvis typen utgivelse du bruker. Nettapplikasjoner omtaler ofte vanlige stabile utgivelser som «hovedutgivelser».
- LTS-utgivelser (langsiktig støtte) – er spesielt utviklet for langsiktig bruk i produksjonsmiljøer. Disse utgivelsene har en lengre vedlikeholdsperiode enn vanlige stabile utgivelser (gjennomsnittlig tid mellom LTS-utgivelser er tre år). Det betyr at de er grundig testet og anses som sikrere enn stabile utgivelser.
Avsluttende tanker
Å forstå de ulike fasene i programvareutgivelsessyklusen for et produkt er en god måte for en produktsjef å etablere en felles forståelse og knytte tverrfunksjonelle og kunderelaterte aktiviteter til de ulike stadiene i SRLC. Dette gjør det mulig å segmentere produktet på en ryddig måte i forhold til selskapets bredere mål, strategier og initiativer.
Ved å bruke disse stadiene som «utløserpunkter» kunne jeg integrere produktet mitt i et stort konsern på en vellykket måte og time de ulike aktivitetene for å sikre suksess i markedet.
Når SRLC-stadiene er fullført, har produktet gått gjennom salgs- og vekstsyklusene sine, og organisasjonen ser tegn på at produktet er på vei inn i avslutningsfasen, starter vedlikeholdssyklusen. Den omfatter:
- retting av feil som kunden rapporterte under utrullingsfasen,
- tillegging av enkelte nye funksjoner, eller
- endring av eksisterende funksjoner etter kundens ønske, i tråd med endrede behov og teknologisk utvikling.
Til slutt når alle programvareprodukter på et tidspunkt slutten av livssyklusen, når de ikke lenger støttes av utviklerne sine.
Hvis du vil lære mer om produktledelse og beste praksis for produktutvikling, bør du abonnere! Vi sees neste gang.
Relaterte artikler:
- De 6 stadiene i programvareutviklingssyklusen (SDLC)
- Slik skriver du effektive programvareversjonsnotater som begeistrer brukerne
Relatert verktøyliste: Verktøy for håndtering av programvareutgivelser
Også verdt å sjekke ut:


