Methodieken Methodieken

Afhankelijk van de omvang en de afgesproken invulling van de opdracht, gebruiken wij verschillende methodieken om software te ontwikkelen.

In het algemeen vindt er eerst samen met de klant een gesprek plaats om de wensen en eisen in kaart te brengen en om de uitgangspunten en onzekerheden zo helder mogelijk te definieren. Op basis van de conclusie en de omvang van het project wordt een van onze ontwikkel methodieken gekozen. Hierna kan een globale schatting van de total kosten worden afgegeven.

Alle methodieken gaan uit van een inventarisatie van wensen en eisen ("requirements") en kunnen verder worden uitgewerkt in een functioneel ontwerp en use-cases of user stories (extreme programming). Na afsluiting van deze activiteit kan er vervolgens een traditioneel technisch ontwerp gemaakt worden of met behulp van Class, Responsibilities, en Collaboration kaarten (extreme programming) een ontwerp worden gemaakt.

Tijdens de implementatie ligt er veel nadruk op testen: eerst de test bedenken en schrijven, dan pas de feitelijke code! In teams waarin meerdere ontwikkelaars werken wordt gebruik gemaakt van pair programming (extreme programming) of de meer traditionele vormen van ontwikkeling. Broncode wordt pas opgeslagen ("bevroren") in de repository als alle tests succesvol zijn uitgevoerd. Waar mogelijk wordt gebruik gemaakt van automatisch testen. Dagelijks wordt een integratie test uitgevoerd. Dit is een iteratief proces.

Met de eindgebruikers wordt op reguliere basis gesproken om het product/systeem en de verwachtingen te managen. Deze feedback wordt gebruikt om het systeem (gecontroleerd) te verbeteren en in een vroeg stadium verschuivende uitgangspunten te signaleren.

Acceptatie tests worden uitgevoerd naar aanleiding van de use-cases of user stories. Een bepaalde input in het systeem moet leiden tot een bepaalde output (black box testen). Een test kan leiden tot twee resulaten: goed(pass) of fout (failed). De klant voert deze tests zelf uit, of de tests zijn geautomatiseerd. De acceptatie test levert een lijst met problemen op die moeten worden gerepareerd. Dit is een iteratief proces.

Als alle acceptatie tests zijn goedgekeurd dan voldoet het systeem aan de eisen en wensen van de klant en kan het systeem worden uitgerold en in onderhoud worden genomen.