Onze werkwijze

Van idee naar werkende software

Een softwareproject hoeft niet ingewikkeld te beginnen. Misschien heb je al precies voor ogen wat je wilt laten ontwikkelen, maar het kan ook zijn dat dit de eerste keer is dat je met maatwerksoftware werkt. In beide gevallen beginnen we op dezelfde manier: met een kennismakingsgesprek.

Je hoeft vooraf geen technisch plan te hebben en je hoeft ook niet precies te weten welke functionaliteiten nodig zijn. Samen brengen we eerst het probleem, het doel en de belangrijkste wensen in kaart. Daarna werk ik stap voor stap toe naar een oplossing die past bij je project, organisatie en budget. Tijdens het hele traject weet je waar we staan, welke keuzes er gemaakt moeten worden en wat de volgende stap is.

Stap 01

Kennismaken en je vraag begrijpen

We beginnen met een vrijblijvend kennismakingsgesprek. We stellen ons aan elkaar voor en je vertelt meer over je project, onderzoek of organisatie. Daarbij gaat het in eerste instantie niet over techniek, maar vooral over wat je wilt bereiken. Misschien wil je bijvoorbeeld deelnemers via een app gegevens laten verzamelen, een bestaand proces digitaliseren of heb je een idee waarvoor nog geen passende digitale oplossing bestaat.

Ik stel vragen om het vraagstuk goed te begrijpen en denk direct met je mee over mogelijke oplossingen. We bespreken in grote lijnen welke onderdelen waarschijnlijk nodig zijn, welke mogelijkheden er zijn en of er zaken zijn waar we rekening mee moeten houden. Aan het einde van dit gesprek hebben we meestal een helder beeld van waar de software naartoe moet. Je hoeft dan nog niets definitief te beslissen.

Naar de volgende stap
Stap 02

Van wensen naar een concreet plan

Na de kennismaking werk ik de besproken wensen verder uit in een plan van aanpak. Daarin beschrijf ik wat we gaan ontwikkelen en welke functionaliteiten daarvoor nodig zijn. Bij sommige projecten is dat direct duidelijk. Bij andere projecten zijn er meerdere mogelijkheden en moeten we samen nog een aantal keuzes maken.

Je ontvangt het plan zodat je het rustig kunt doorlezen. Daarna plannen we een gesprek om vragen te beantwoorden en eventuele aanvullingen te bespreken.

We bepalen ook samen welke functionaliteiten echt noodzakelijk zijn en welke vooral wenselijk zijn. Hiervoor gebruiken we de MoSCoW-methode: we maken onderscheid tussen wat absoluut nodig is, wat belangrijk is en wat eventueel later ontwikkeld kan worden. Zo voorkomen we dat een project onnodig groot wordt en houden we de aandacht bij wat echt waarde toevoegt.

Naar de volgende stap
Stap 03

Duidelijke afspraken en een passende offerte

Wanneer het plan compleet is, ontvang je de definitieve versie. Pas wanneer je daarmee akkoord bent, maak ik de offerte voor de ontwikkeling. Daardoor weet je vooraf waarvoor je betaalt en wat er binnen het project wordt ontwikkeld.

Past de offerte nog niet goed binnen het beschikbare budget? Dan kijken we samen waar we kunnen bijsturen. Omdat we eerder al hebben bepaald welke onderdelen het belangrijkst zijn, kunnen we gericht functionaliteiten aanpassen, uitstellen of weglaten. Zo proberen we de beschikbare tijd en het budget vooral te besteden aan de onderdelen die voor je project de meeste waarde hebben.

We bespreken in deze fase ook alvast wat er na de ontwikkeling met de software gebeurt. Denk bijvoorbeeld aan hosting, technisch onderhoud en beheer. Je hoeft daar op dat moment nog geen keuze over te maken. Als je wilt dat CodeSprinter dit na oplevering verzorgt, ontvang je daarvoor een aparte offerte.

Naar de volgende stap
Stap 04

Ontwikkelen, bekijken en testen

Na akkoord op de offerte begint de ontwikkeling. Je hoeft vervolgens niet maanden te wachten voordat je iets van de software ziet. Ik werk het liefst in stappen en laat regelmatig zien wat er inmiddels is gebouwd.

Zodra dat mogelijk is, zet ik de software in een afgeschermde testomgeving. Dit noemen we de stagingomgeving. Daar kun je zelf inloggen en de eerste functionaliteiten uitproberen, terwijl ik verder werk aan de rest van het project.

Tijdens de ontwikkeling houden we demo’s waarin ik laat zien wat er is veranderd en waarin we feedback bespreken. Door de software al vroeg te gebruiken, ontdekken we snel of alles in de praktijk werkt zoals bedoeld. Kleine aanpassingen en onduidelijkheden kunnen daardoor tijdens de ontwikkeling worden opgelost, in plaats van pas helemaal aan het einde.

Naar de volgende stap
Stap 05

Klaar voor gebruik

Wanneer alle afgesproken functionaliteiten zijn ontwikkeld en getest, maken we de software klaar voor gebruik. We lopen de laatste zaken na en richten de productieomgeving in: de omgeving waarin de software uiteindelijk echt gebruikt wordt. Wat daarvoor nodig is verschilt per project. Denk bijvoorbeeld aan gebruikersaccounts, een domeinnaam, koppelingen met andere systemen, het klaarzetten van gegevens of instructies voor gebruikers.

Omdat je tijdens het ontwikkelproces al regelmatig met de software hebt gewerkt, weet je op dit moment al goed hoe het systeem werkt. De uiteindelijke livegang is daardoor geen onverwacht groot moment, maar vooral de stap van testen naar daadwerkelijk gebruiken.

Naar de volgende stap
Stap 06

Na de livegang

Een softwareproject hoeft niet te stoppen zodra de applicatie online staat. Als je gebruikmaakt van mijn managed dienstverlening, kan CodeSprinter ook de hosting, het technisch beheer en het onderhoud verzorgen. Ik houd de omgeving in de gaten, voer technisch onderhoud uit en zorg dat de software kan blijven draaien.

Ook kan de software later worden uitgebreid. Vaak ontstaan nieuwe ideeën pas nadat een applicatie daadwerkelijk in gebruik is. Een onderzoek kan veranderen, een organisatie kan groeien of gebruikers kunnen nieuwe wensen hebben. We kunnen de software daarom ook na de eerste oplevering verder ontwikkelen wanneer daar behoefte aan is.

Yassine El Fahmi werkt achter zijn laptop
Je kennis, mijn technische vertaling
Tot slot

Je hoeft het technische proces niet zelf te kennen

Bij maatwerksoftware komen veel technische keuzes kijken, maar die hoef je niet allemaal zelf te kunnen maken. Mijn rol is niet alleen om de software te bouwen, maar ook om je door het proces heen te begeleiden. Ik leg uit welke keuzes er zijn, wat de gevolgen daarvan zijn en wat ik in je situatie zou adviseren.

Je brengt de kennis over je onderzoek, organisatie of project. Ik zorg voor de technische vertaling daarvan naar software die in de praktijk werkt.

Plan een kennismaking