Belangrijkste punten
-
De levenscyclus van agile softwareontwikkeling bestaat uit zes fasen die zijn ontworpen om teams te helpen bij het ontwikkelen en implementeren van software in sprints van twee weken.
-
Tijdens de eerste fasen bepalen teams de scope en prioriteit van projecten voordat ze de eisen en opportunity's vaststellen.
De constructiefase richt zich op de eerste iteratie van het product.
-
De doorlopende productie- en ondersteuningsfasen zorgen voor het onderhoud van de softwarerelease totdat het systeem de uitfaseringsfase bereikt.
Als technologiebedrijven een rol willen blijven spelen in een veranderlijke sector, hebben softwareontwikkelingsteams een manier nodig waarop zij hun producten zo snel mogelijk uit kunnen brengen. De agile softwareontwikkelingsmethode is specifiek ontwikkeld voor de snelle ontwikkeling en implementatie van software.
Ontdek uit welke fasen de levenscyclus van agile softwareontwikkeling bestaat om te bepalen of dit proces past bij de behoeften van je team.
1. Projectscope bepalen en prioriteiten stellen
Tijdens de eerste stap van de levenscyclus van agile softwareontwikkeling bepaalt het team de projectscope en worden prioriteiten gesteld. Sommige teams werken mogelijk tegelijkertijd aan meerdere projecten, afhankelijk van de organisatie van de afdeling.
Voor elk concept definieer je de opportunity en bepaal je hoeveel tijd en werk er nodig is om het project af te ronden. Op basis van deze informatie kun je de technische en economische haalbaarheid beoordelen en beslissen welke projecten de moeite waard zijn.
2. Diagramvereisten voor de initiële sprint
Zodra je het volgende project hebt geïdentificeerd dat je in de agile levenscyclus gaat afronden, werk je samen met stakeholders om eisen te bepalen. Je kunt een diagram voor de levenscyclus van agile softwareontwikkeling gebruiken, maar je kunt ook gebruikersstroomdiagrammen of algemene UML-diagrammen gebruiken om te laten zien hoe de nieuwe oplossing zou moeten merken en hoe deze in je bestaande systeem past.

Daarna selecteer je de teamleden die aan het project gaan werken en wijs je middelen toe. Stel een tijdlijn of een swimlane-proceskaart op in Lucid om verantwoordelijkheden van elkaar te onderscheiden en duidelijk te laten zien wanneer bepaalde taken af moeten zijn gedurende de sprint.
Ons productteam heeft bijvoorbeeld het volgende diagram opgesteld om te visualiseren hoe het team het druk- en verzendproces zou implementeren voor een bedrijf. In de kolommen staat de werkbelasting per teamlid en de rijen laten zien welke taken af moeten zijn tijdens elke sprint.
3. Constructie en iteratie
Zodra een team de eisen voor de eerste sprint heeft bepaald op basis van feedback van stakeholders, gaat het werk van start. UX-designers en -ontwikkelaars beginnen aan hun eerste iteratie van het project, met als doel een werkend product te lanceren aan het einde van de sprint. Vergeet niet dat het product verschillende revisierondes zal doorlopen, dus deze eerste iteratie bevat mogelijk alleen de minimale functionaliteit. Het team kan en zal aanvullende sprints doen om het algemene product verder uit te breiden.
4. De iteratie vrijgeven voor productie
In dit stadium van de agile ontwikkelingslevenscyclus ben je bijna klaar om je product openbaar te maken. Rond deze software-iteratie af met de volgende stappen:
-
Test het systeem. Je QA-team (Quality Assurance) moet de functionaliteit testen, bugs opsporen en winsten en verliezen registreren.
-
Los eventuele fouten op. Ontwikkelaars werken nauw samen met QA om problemen in realtime aan te pakken en verdere tests uit te voeren om ervoor te zorgen dat de fix succesvol is.
-
Voltooi de systeem- en gebruikersdocumentatie. Lucid kan je helpen om je systeem te visualiseren door middel van UML-diagrammen of gebruikersflows, zodat iedereen begrijpt hoe het systeem werkt en hoe ze er verder op voort kunnen bouwen.
-
Geef de iteratie vrij voor productie. De code wordt geïmplementeerd en het team demonstreert werkende software aan stakeholders om feedback te verzamelen voor de volgende iteratie.
5. Productie en doorlopende ondersteuning voor de softwarerelease
Deze fase van de agile ontwikkelingscyclus omvat doorlopende ondersteuning voor de softwarerelease. Met andere woorden: jouw team moet ervoor zorgen dat het systeem goed blijft werken en moet gebruikers laten zien hoe ze het moeten gebruiken. De productiefase eindigt zodra de ondersteuning wordt beëindigd of zodra de release gepland staat voor uitfasering.
6. Uitfasering
Tijdens de laatste fase van de agile softwareontwikkeling haal je de systeemrelease uit productie, doorgaans wanneer je een systeem wilt vervangen door een nieuwe release of wanneer het systeem overbodig, verouderd of niet in lijn met jouw bedrijfsmodel blijkt.
Bij agile softwareontwikkeling wordt deze laatste fase meestal gevolgd door een retrospective, waarbij teamleden bespreken wat goed ging, wat ze hebben geleerd en wat de volgende keer beter kan.

Sprint planning voor agile softwareontwikkeling
Binnen de agile ontwikkelingscyclus wordt werk verdeeld in sprints, met als doel aan het einde van elke sprint een werkend product te leveren. Een sprint duurt meestal twee weken of tien werkdagen. De workflow van een sprint volgt dit basiskader:
-
Plan. De sprint begint met een sprint planning, waarin teamleden samenkomen om de taken voor de komende werkronde te plannen. De productmanager prioriteert werk vanuit een backlog om aan het team toe te wijzen.
-
Ontwikkel. Ontwerp en ontwikkel het product volgens de goedgekeurde richtlijnen.
-
Test/QA. Voer grondige tests uit en documenteer de resultaten vóór levering.
-
Lever. Presenteer het werkende product of software aan stakeholders en klanten.
-
Evalueer. Vraag feedback van klanten en stakeholders en groepeer informatie voor de volgende sprint.
Naast sprint planning moet je team dagelijks bijeenkomen om voortgang te bespreken, conflicten op te lossen en het proces op gang te houden.
Blijf ook flexibel en sta open voor veranderingen. Dat is tenslotte de achterliggende gedachte van "agile".
Kortom: het doel van de levenscyclus van agile productontwikkeling is om zo effectief mogelijk werkende software te maken en te leveren.

Lees meer over de agile benadering van softwareontwikkeling
Krijg tips van ervaren experts in onze diepgaande serie over agile.
Start