Het korte antwoord
Softwareontwikkeling verloopt in zes fases: analyse, ontwerp, bouw, testen, livegang en onderhoud. Samen heten ze de levenscyclus van software, in het Engels de software development life cycle of SDLC.
Elke fase beantwoordt een eigen vraag. Sla je er een over, dan komt die vraag later alsnog terug, en dan is hij duurder.
De zes fases op een rij
Analyse: wat lossen we op?
Je bepaalt voor wie de software is, welk probleem hij oplost en wanneer hij af is. Het resultaat is een korte beschrijving van wat de software moet kunnen, met de eisen die niet onderhandelbaar zijn, zoals privacy of koppelingen met bestaande systemen.
Ontwerp: hoe zit het in elkaar?
Hier vallen de keuzes waar je jaren aan vastzit: de opbouw van het systeem, waar de data staat, welke techniek je kiest en hoe het scherm eruitziet. Een fout in deze fase is lastig terug te draaien.
Bouw: het schrijven van de code
De developers bouwen de software, meestal in kleine stukken die elk los te controleren zijn. Dit is de fase die het meest zichtbaar is, en tegenwoordig de fase die het snelst gaat.
Testen: doet het wat het moet doen?
Automatische tests controleren of de code werkt en of oude functies niet stukgaan. Daarna kijken mensen of de software doet wat in de analyse stond, en proberen ze hem kapot te krijgen.
Livegang: veilig naar echte gebruikers
De software gaat naar de server. Wachtwoorden horen niet in de code, inloggen en rechten moeten kloppen en er draaien backups en monitoring. Wat hier ontbreekt, merk je pas als er iets misgaat.
Onderhoud: blijft het werken?
Software is nooit af. Er komen beveiligingsupdates, gebruikers vragen nieuwe functies en de systemen eromheen veranderen. Over de hele levensduur kost onderhoud meestal meer dan de eerste bouw.
Waterval of agile: dezelfde fases, een andere volgorde
De fases zijn er altijd. De werkwijze bepaalt hoe vaak je ze doorloopt.
Bij de watervalmethode loop je ze één keer na elkaar af: eerst de hele analyse, dan het hele ontwerp, dan de hele bouw. Dat past bij een project waarvan je vooraf precies weet wat het moet worden. In de praktijk weet je dat zelden.
Bij agile doorloop je alle fases in korte rondes van een paar weken. Je bouwt een klein stuk, test het, zet het live en leert van wat gebruikers ermee doen. De analyse van de volgende ronde begint met wat de vorige je leerde. De meeste softwareteams werken zo, wij ook.
Wat AI verandert aan elke fase
Sinds AI een groot deel van de code schrijft, is de bouw niet langer de langste fase. Dat verschuift het werk naar de fases eromheen.
Analyse wordt belangrijker
Een AI-model vult elk gat in je opdracht zelf in, en vaak net anders dan je bedoelde. Een goede beschrijving vooraf is nu het belangrijkste stuk werk van het hele project.
Ontwerp blijft mensenwerk
Een model kiest wat vandaag werkt. Een architect kiest wat over drie jaar nog werkt. De keuzes over opbouw en data liggen bij een mens die ze kan verantwoorden.
Bouw gaat veel sneller
In ons eigen werk levert bouwen met AI tot tien keer zoveel op als elke regel zelf typen. Wat vroeger weken kostte, staat nu in dagen.
Testen wordt de rem die je nodig hebt
Hoe sneller er code bijkomt, hoe belangrijker de checks zijn die fouten tegenhouden. Een model vindt zijn eigen code bijna altijd prima.
Livegang is waar het misgaat
Beveiliging, rechten en backups slaat AI het makkelijkst over. Veel snel gebouwde apps werken prima tot de eerste echte gebruikers komen.
Hoe dat er per stap uitziet, van de eerste beschrijving tot de review van elke wijziging, lees je in software ontwikkelen met AI.
AI heeft de bouw goedkoop gemaakt. De fases ervoor en erna bepalen nu of je software iets waard is.
Waar projecten in de praktijk vastlopen
De meeste problemen die wij tegenkomen, zitten niet in de bouw. Ze zitten in een fase die is overgeslagen.
Een app die met AI in een paar weken is gebouwd, werkt in de demo, maar mist de livegang: geen backups, wachtwoorden in de code, iedereen kan bij alle data. Dat is de laatste 20% die het meeste werk blijkt. Hoe je dat inhaalt, staat op de pagina over software productieklaar maken.
Een systeem dat al jaren draait, is ooit gebouwd zonder ontwerp. Elke nieuwe functie kost meer tijd dan de vorige, omdat alles aan alles vastzit. Daar helpt geen extra developer. Daar helpt iemand die de opbouw opnieuw tekent. Wat zo iemand kost, lees je in wat verdient een software architect.
Wat zijn de fases van softwareontwikkeling?
Wat is de SDLC?
Wat is het verschil tussen waterval en agile?
Welke fase van softwareontwikkeling duurt het langst?
Kun je fases overslaan als je met AI bouwt?
Software laten bouwen, zonder fases over te slaan?
Wij bouwen met AI en houden de analyse, het ontwerp en de review in eigen hand. Je krijgt de snelheid van AI en software die over een jaar nog te onderhouden is.