Wat is de developmentfase?

De developmentfase (ook wel implementatiefase genoemd) binnen de SSDLC is gericht op het daadwerkelijk realiseren van de software. Op basis van het ontwerp worden hier de componenten gebouwd, getest en samengevoegd tot een werkend geheel. Beveiliging, onderhoudbaarheid en kwaliteit worden niet achteraf toegevoegd, maar direct tijdens het coderen toegepast.

Casus

Een team ontwikkelt een planningsapplicatie. Tijdens de developmentfase schrijven ze de backend in Node.js en de frontend in React. Ze gebruiken test driven development (TDD), codestijlrichtlijnen en voeren tijdens de implementatie ook unit tests, linting en code reviews uit. De gekozen cryptografische bibliotheken zijn vooraf gevalideerd in de designfase.

Hoe zit de developmentfase in elkaar?

1. Doel van de fase

Het doel is om het systeem te implementeren op basis van het ontwerp, met aandacht voor kwaliteit, veiligheid, onderhoudbaarheid en werkbaarheid.

2. Activiteiten binnen de fase

  • Schrijven van broncode op basis van ontwerpdocumenten
  • Uitvoeren van unit tests en componenttests
  • Gebruik van versiebeheer (bijv. Git)
  • Toepassen van code-standaarden en naming conventions
  • Inbouwen van logging, monitoring en foutafhandeling

3. Betrokken rollen

  • Software developers
  • DevOps engineers
  • Security engineers
  • Testers
  • Code reviewers / peer developers

4. Op te leveren resultaten

  • Werkende broncode volgens ontwerp
  • Configuratiebestanden (bijv. .env, Dockerfiles, CI/CD pipelines)
  • Codecoverage rapporten
  • Automatische testsuites (unit, integratie, security)
  • Documentatie over opbouw, installatie en gebruik

5. Beveiligingsfocus

  • Inputvalidatie (client- en server-side)
  • Foutafhandeling zonder informatielekkage
  • Gebruik van veilige libraries en frameworks
  • Minimaal gebruik van privileges (principle of least privilege)
  • Secure coding practices volgens OWASP richtlijnen

6. Modelleertechnieken of tools

  • IDE’s met linting en refactoring tools (bijv. VS Code, IntelliJ)
  • Git met branchingstrategie (bijv. Git Flow)
  • SonarQube voor codekwaliteit en security
  • Jenkins, GitHub Actions of GitLab CI/CD
  • Unit testing frameworks (bijv. JUnit, Mocha, NUnit)

7. Feedbackloops of iteraties

  • Code reviews en pull requests
  • Testfeedback uit CI/CD pipelines
  • Reviewmomenten met product owner of testers
  • Scrum demo’s en sprint retrospectives

8. Communiceerbaarheid van tussenresultaten

  • Goed becommentarieerde code
  • README en technische documentatie
  • Demo’s en testomgevingen voor stakeholders
  • Automatisch gegenereerde documentatie (bijv. Swagger voor API’s)

9. Traceerbaarheid

  • Commitberichten linken aan user stories of use cases
  • Automatische koppeling tussen code en testcases
  • Documentatie per component verwijst naar bijbehorende ontwerpstukken

10. Testmogelijkheden of controlepunten

  • Unit tests, mock tests en integratietests
  • Codecoverage- en static analysis tools
  • Fuzz testing en security scanning (bijv. Snyk, OWASP ZAP)
  • Continous Integration-checks vóór merge naar hoofdbranch

11. Voorbeelden of casus

Voorbeeld:

De module AfspraakService wordt geïmplementeerd in Java met Spring Boot. Unit tests worden geschreven met JUnit5. Tijdens implementatie worden veldvalidaties toegevoegd (annotaties als @NotNull en @Size) en worden logging en foutafhandeling (met custom exceptions) ingebouwd. Een GitHub Actions workflow test elke commit.

12. Betekenis voor de volgende fase

De developmentfase levert het systeem op in werkende vorm. Dit vormt de basis voor systeemtesten en acceptatietesten in de testfase. Goed geschreven en geteste code versnelt het testproces aanzienlijk. De kwaliteit en consistentie van de code, alsmede de beschikbaarheid van documentatie en logging, beïnvloeden direct het succes van de test-, oplever- en onderhoudsfase.

Hoe gebruik je de developmentfase?

De developmentfase gebruik je om het ontwerp om te zetten in werkende, veilige en onderhoudbare software. Het is de fase waarin het team daadwerkelijk bouwt, maar altijd met kwaliteit, testbaarheid en beveiliging als leidraad. Je werkt cyclisch en gecontroleerd, waarbij iedere regel code bijdraagt aan een robuust en betrouwbaar systeem.

In de praktijk gebruik je deze fase om:

  • Stapsgewijs functionaliteit op te bouwen volgens het ontwerp en de requirements.
  • Secure coding principes direct toe te passen, zoals inputvalidatie, foutafhandeling en veilige bibliotheken.
  • Kwaliteit te bewaken met tools zoals linters, static analysis en geautomatiseerde tests.
  • Samenwerking te versterken via code reviews, pull requests en CI/CD-pipelines.
  • Traceerbaar en reproduceerbaar te werken, met versiebeheer en duidelijke commit-structuur.
  • Snelle feedback te krijgen op basis van testresultaten, builds en demo’s.

Door development goed te benutten, leg je niet alleen de functionele basis van het systeem, maar zorg je ook voor een veilige, uitbreidbare en beheersbare software die klaar is voor de test- en opleverfase.


Volgende stap: Uitleg SSDLC Testingfase