Skip to main content

Net zoals mensen verschillende levensfasen doorlopen, doen softwareproducten dat ook. Dit wordt vaak aangeduid als een levenscyclus van software-releases.

Er zijn duidelijke perioden verbonden aan de verschillende fasen van de levenscyclus of “ontwikkelingsfasen” binnen apps, maar het kan moeilijk zijn om te voorspellen wanneer de ene fase eindigt en de andere begint. Elke fase heeft zijn eigen specifieke reeks taken en vereisten van verschillende afdelingen, dus het is belangrijk dat productmanagers elke fase begrijpen om het bedrijf succesvol door de levenscyclus van software-releases te leiden.

Terwijl we dit artikel bespreken, zal ik commentaar geven op mijn ervaring met het verkopen en integreren van BankerBox, een FinTech SaaS-bedrijf voor investeringsbankiers, in SS&C Intralinks samen met mijn medeoprichter, binnen de verschillende fasen van de SRLC.

Want more from The CPO Club?

Sign up for a free membership to complete reading this article:

Name*
This field is hidden when viewing the form
This field is hidden when viewing the form
This field is hidden when viewing the form
By submitting, you agree to receive our newsletter and occasional emails related to The CPO Club. You can unsubscribe at any time. For details, review our Privacy Policy.

Wat is een levenscyclus van software-releases (SRLC)?

De levenscyclus van software-releases (SRLC) is een reeks mijlpalen die de verschillende fasen in de levenscyclus van een softwareproduct of de opeenvolgende releasetijdlijn beschrijven, van het ontstaan tot de uiteindelijke volledig ontwikkelde release. De lengte van deze levenscyclus varieert op basis van verschillende factoren, zoals het type product, het beoogde gebruik en de beveiligings-, nalevings- en algemene normen binnen de sector.

Softwareapplicaties hebben bijvoorbeeld doorgaans een kortere levenscyclus dan de meeste andere producten, omdat nieuwe functies en verbeteringen regelmatig op een Agile manier worden uitgebracht om aan veranderende marktbehoeften en nieuwe technologische trends te voldoen.

Dit is vergelijkbaar met de levenscyclus van softwareontwikkeling (SDLC), een structuur die wordt uitgevoerd voor de ontwikkeling van softwareproducten. Het verschil tussen deze twee levenscycli is dat de SDLC alleen het softwareontwikkelingsproces en het softwareontwerp beschrijft, terwijl de levenscyclus van releases niet alleen de ontwikkeling beschrijft, maar ook de bruikbaarheid, het testen en de distributie.

Software-releases moeten zorgvuldig worden gepland en getest (idealiter door een testteam) om ervoor te zorgen dat ze niet meer problemen veroorzaken dan ze oplossen. Een levenscyclus van software-releases beschrijft een duidelijk plan voor het bereiken van een succesvol releaseproces door middel van een goede planning, testen en het oplossen van bugs.

Bedrijven moeten de levenscyclus van software-releases gebruiken om vooruit te plannen wanneer en hoe ze hun webapplicatie of apps in de loop der tijd zullen bijwerken. Door juiste praktijken voor releasebeheer te implementeren, kunnen ze een robuust product onderhouden dat voortdurend voldoet aan zowel de behoeften van hun gebruikers en de kernfunctionaliteit als de normen van de sector (dit is ook iets waarbij AI in releasebeheer kan helpen). Hierdoor kunnen ze een robuust product onderhouden dat voortdurend voldoet aan zowel de behoeften van hun gebruikers en de kernfunctionaliteit als de normen van de sector.

De 6 fasen van de levenscyclus van software-releases

Er zijn verschillende fasen van levenscycli van software-releases die kunnen worden gebruikt, afhankelijk van het type systeem dat wordt ontwikkeld en de behoeften van het ontwikkelingsteam.

De “fasen” markeren mijlpalen in de ontwikkeling van een product en stellen het ontwikkelingsteam en projectmanagers in staat de voortgang bij te houden. Ze stellen ontwikkelingsteams ook in staat trends in apps en webapplicaties te volgen en validaties uit te voeren om te controleren of er in de loop der tijd door iteraties verbeteringen worden aangebracht. Doorgaans omvat dit de volgende zes fasen:

We’ve collected the goods — AI prompts, exclusive deals, and a library of resources for product leaders. Unlock your account for access.

This field is for validation purposes and should be left unchanged.
Name*
This field is hidden when viewing the form
This field is hidden when viewing the form
This field is hidden when viewing the form
By submitting, you agree to receive our newsletter and occasional emails related to The CPO Club. You can unsubscribe at any time. For details, review our Privacy Policy.

1. Pre-alfaversie

De eerste fase in de levenscyclus van software-releases is de pre-alfaversie. Deze fase van het proces is volledig gericht op de ontwikkeling van een product en niet op de marketing en openbare release ervan. Deze omvat elke actie die tijdens de initiële ontwikkeling vóór het testen wordt uitgevoerd. De meest voorkomende fasen van de pre-alfaversie zijn analyse, ontwerp, ontwikkeling en unittesten.

Een groot deel van de pre-alfaversie bestaat uit het vaststellen hoe de softwareapplicatie zich moet ontwikkelen ter voorbereiding op bredere releases, zoals de alfaversie of bètaversie. Het ontwikkelingsteam moet grondige softwaretests, bruikbaarheidstests en automatisering implementeren om stabiele overgangen tussen de verschillende fasen van de levenscyclus van software-releases te garanderen.

Met de SaaS-oplossing die mijn medeoprichter en ik in SS&C Intralinks hebben geïntegreerd, hadden we de pre-alfafase al doorgelicht en afgerond. We hadden een werkende applicatie die was gearchitecteerd, ontworpen en gebouwd. Het is echter belangrijk op te merken dat de definitie die een klein softwarebedrijf hanteert voor de stappen Analyse, Ontwerp, Ontwikkeling en Unittesten, absoluut kan verschillen van het perspectief en de mate van grondigheid van een grote onderneming voor deze stappen.

4 fasen om de pre-alfaversie te starten

Analyse: dit is de eerste fase in de levenscyclus van software-releases of SRLC, waarin het probleem en de vereisten van een systeem in detail worden bestudeerd. Dit omvat het analyseren van gebruikersvereisten, kritieke functionaliteit, het identificeren van het probleemgebied, het opstellen van haalbaarheidsrapporten en het maken van een SRS (specificatie van softwarevereisten).

Ontwerp: in deze fase ontwikkelen ontwikkelteams een oplossing voor het probleem dat in de analysefase is geïdentificeerd. Deze fase omvat het schrijven van een hoogwaardig ontwerdocument en mock-ups waarin wordt uitgelegd hoe het softwareproduct moet worden geïmplementeerd. Het ontwerdocument beschrijft de basisstappen die moeten worden gevolgd om de webapplicatie te bouwen.

Als je aan lay-outs of UI-stromen werkt, kunnen deze hulpmiddelen voor prototyping van responsieve ontwerpen je helpen ideeën snel te testen voordat je met de ontwikkeling begint. Het ontwerdocument beschrijft de basisstappen die moeten worden gevolgd om de webapplicatie te bouwen.

Ontwikkeling: dit is de daadwerkelijke codeerfase waarin een ontwikkelteam de specificaties van de vereisten omzet in een daadwerkelijk softwareproduct. Zodra het coderen is voltooid, voeren ontwikkelaars tests uit en behandelen ze bugfixes zo vroeg mogelijk.

Eenheidstesten: dit wordt door ontwikkelaars uitgevoerd voordat ze hun module aan het QA-ontwikkelteam (kwaliteitsborging) opleveren voor het verdere testproces. In deze fase controleren ontwikkelaars elke regel broncode om er zeker van te zijn dat de code goed werkt voordat deze in de volledige app wordt geïntegreerd.

2. Alfaversie

De alfafase vertegenwoordigt de eerste letter van het Griekse alfabet en is ook een codenaam voor de ontwikkelingsfase die plaatsvindt voordat een product wordt gelanceerd. Softwareontwikkelaars gebruiken de term "alpha" of “alfaversie” om software te beschrijven die zich in de eerste fase van het testen van software bevindt.

Alfatests worden uitgevoerd door interne medewerkers of ontwikkelaars binnen de organisatie. Dit type test wordt uitgevoerd op de locatie van de ontwikkelaar, maar niet op de locatie van de klant. Alfatests worden uitgevoerd na voltooiing van de systeemtests en vóór de bètatests. Deze test wordt uitgevoerd om bugs of defecten met betrekking tot bruikbaarheid, functionaliteit en consistentie op te sporen.

Bij dit type test voert een groep mensen die 'testers' wordt genoemd handelingen uit die vergelijkbaar zijn met die van eindgebruikers en rapporteert vervolgens over eventuele problemen die zij tegenkomen. Het belangrijkste doel van alfatests is ervoor te zorgen dat alle modules correct zijn geïntegreerd en naar verwachting functioneren.

Toen we de alfafase voor BankerBox doorliepen, namen we contact op met collega's in productontwikkeling en softwareontwikkeling en, in ons geval (het bouwen van een oplossing voor banken), met verschillende zakenbankiers en contacten in de financiële sector.

Alfasoftware is volledig voorzien van functies, maar bevat waarschijnlijk nog bugs. De focus van alfatests ligt op het verbeteren van een product door problemen op te sporen voordat het naar bètatests gaat en door eventuele last-minuteaanpassingen toe te voegen die naar aanleiding van de feedback uit de alfafase zijn voorgesteld.

3. Bètaversie

De bètafase, genoemd naar de tweede letter van het Griekse alfabet, is de codenaam die aangeeft dat een softwareproduct de tweede testfase is ingegaan en klaar is voor extern gebruik door klanten of cliënten, die vaak “bètatesters” worden genoemd. Sommige organisaties noemen deze fase de fase van de “vroege gebruiker”.

Zodra een bètaversie is uitgebracht, wordt deze over het algemeen grondiger getest dan tijdens de alfafase. Hierdoor kunnen bedrijven inschatten hoe goed hun software onder omstandigheden uit de echte wereld zal presteren.

Nadat SS&C Intralinks BankerBox had overgenomen, realiseerden we snel enkele belangrijke integratiepunten tussen onze software en de bredere systemen van het bedrijf (authenticatie, cloudservers enzovoort). Vervolgens gaven we demonstraties en werkten we samen met verschillende klanten van het bedrijf om hen uit te nodigen deze oplossing live te “bètatesten” bij een M&A-transactie.

Dit was voor ons een geweldige manier om feedback te krijgen, een klantrelatie op te bouwen en gebieden te vinden waarop de software zich moest ontwikkelen om te voldoen aan de vereisten en de “lat” voor een releasekandidaat (RC) of algemene beschikbaarheid (GA).

Bij dit type test geven klanten waardevolle feedback over de vraag of het product of de app aan hun verwachtingen voldoet op het gebied van functionaliteit, bruikbaarheid, prestaties, betrouwbaarheid, schaalbaarheid enzovoort. De feedback van eindgebruikers helpt de gebruikerservaring te verbeteren en operationele problemen te corrigeren voordat het product in productie wordt genomen. Er zijn twee soorten bètaversies:

  • Open bèta: tijdens deze fase kan iedereen die wil deelnemen aan het bètatestproces dat doen. Dit kan ontwikkelaars helpen bugs in hun product snel en eenvoudig te identificeren en op te lossen, omdat feedback van meerdere gebruikers problemen aan het licht kan brengen.
  • Gesloten bèta: in deze fase is er een specifieke doelmarkt met specifieke groepen mensen die als testers optreden. De doelmarkt helpt om het testen van de software te richten op specifieke aandachtspunten en helpt ervoor te zorgen dat alles werkt volgens de behoeften van de beoogde consumenten.

4. Releasekandidaat

Een releasekandidaat (RC) is een voorpublicatieversie van de software die wordt voorbereid op de definitieve productrelease (in de RC-fase) voor het publiek. Dit wordt soms “Gecontroleerde beschikbaarheid” genoemd. Hoewel deze versie mogelijk alle beoogde functies en functionaliteiten bevat en naar verwachting werkt, kan deze nog worden gewijzigd, mogelijk zelfs ingrijpend, op basis van ontvangen feedback.

Ontwikkelaars kunnen meerdere releasekandidaten uitbrengen voordat ze het voltooide product lanceren, om er zeker van te zijn dat het programma niet crasht onder zware belasting, geen aanzienlijke geheugenlekken vertoont enzovoort.

5. Algemene beschikbaarheid

Algemene beschikbaarheid (GA) betekent dat een product of dienst beschikbaar is gesteld voor aankoop door de meeste klanten (doorgaans wereldwijd), meestal via commerciële kanalen. In softwareontwikkeling verwijst deze term doorgaans naar een webapplicatie of app die beschikbaar is voor alle beoogde gebruikers. Tijdens deze fase is alle updates of verdere ontwikkelingswerk aan het product gericht op het verbeteren van de functies en prestaties ervan, om het aantrekkelijker te maken voor klanten.

Nadat BankerBox, nu “Deal Marketing” onder de nieuwe merknaam, algemene beschikbaarheid had bereikt, konden we het opschalen naar klanten in heel Noord-Amerika en waardevolle feedback, gebruiksgegevens, schaalbaarheidsgegevens enzovoort verzamelen om de product-marktfit te valideren, voordat we doorgingen naar de laatste fase van de software-uitgavelevenscyclus: de productie-uitgave.

6. Productie-uitgave

Een stabiele uitgave is een versie van een softwarepakket die is getest en geverifieerd. Het is de meest recente (en soms definitieve) versie van een programma die als veilig voor openbaar gebruik wordt beschouwd. Dit type uitgave wordt ook wel een “stabiele” uitgave genoemd.

Wanneer een software- of webapplicatie deze fase ingaat, kan dit aan de bredere organisatie en de markt het niveau van gereedheid van je product aangeven. Bij SS&C Intralinks koppelde ik als leider binnen de productorganisatie belangrijke organisatieoverschrijdende initiatieven aan deze fasen.

Tijdens de fase van de productie-uitgave konden we een aanbodstrategie, volledige marketing- en verkooplanceringen en de bijbehorende ondersteuning samenstellen die nodig was binnen klantenservice, engineering voor sitebetrouwbaarheid en andere afdelingen om het product succesvol te maken. 

Volgens de meeste maatstaven wordt dit beschouwd als een compleet product, hoewel er enkele kleine problemen mee kunnen zijn die als acceptabel worden beschouwd. In sommige gevallen, zoals bij Linux, zijn er twee soorten stabiele uitgaven: LTS (langdurige ondersteuning) en reguliere stabiele uitgaven.

  • Reguliere stabiele uitgaven - zijn het meest voorkomende type uitgave dat je zult tegenkomen. Ze zijn eenvoudig te installeren (wanneer we het over besturingssysteemsoftware hebben) en zijn, zoals hun naam al suggereert, stabiel. Als je software in een productieomgeving wilt testen, gebruik je doorgaans dit type uitgave. Webapplicaties verwijzen vaak naar reguliere stabiele uitgaven als “grote” uitgaven.
  • LTS-uitgaven (langdurige ondersteuning) - zijn specifiek ontworpen voor langdurig gebruik in productieomgevingen. Deze uitgaven hebben een langere verversingsperiode dan standaard stabiele uitgaven (de gemiddelde tijd tussen LTS-uitgaven is drie jaar). Dit betekent dat ze uitgebreid zijn getest en als veiliger worden beschouwd dan stabiele uitgaven.

Afsluitende gedachten

Inzicht in de verschillende fasen van de software-uitgavelevenscyclus van een product is een uitstekende manier voor een productmanager om de verwachtingen af te stemmen en organisatieoverschrijdende en klantgerelateerde activiteiten te koppelen aan de verschillende fasen in de SRLC. Hierdoor kan het product netjes worden gesegmenteerd binnen het bredere geheel van bedrijfsdoelen, strategieën en initiatieven.

Door deze fasen als “activeringspunten” te gebruiken, kon ik mijn product succesvol integreren in een groot bedrijf en de verschillende activiteiten zo timen dat succes op de markt werd verzekerd.

Nadat de SRLC-fasen zijn voltooid, heeft het product zijn verkoop- en groeicycli doorlopen en ziet de organisatie signalen dat het product wordt afgebouwd. Dan begint de onderhoudslevenscyclus, die het volgende omvat:

  • het oplossen van bugs die de klant tijdens de implementatiefase heeft gemeld,
  • het toevoegen van enkele nieuwe functies, of
  • het aanpassen van bestaande functies op verzoek van de klant, in overeenstemming met veranderende behoeften en technologische vooruitgang.

Uiteindelijk bereiken alle softwareproducten op een bepaald moment het einde van hun levensduur, wanneer ze niet langer door hun ontwikkelaars worden ondersteund.

Wil je meer leren over productmanagement en best practices voor productontwikkeling? Abonneer je dan zeker! Tot de volgende keer.

Gerelateerde artikelen:

Gerelateerde lijst met tools: Tools voor software-releasebeheer

Ook de moeite waard: