Meer kwaliteit in software ontwikkeling

Mijn visie op software ontwikkeling

Een recent onderzoek zegt dat 73% van de opdrachtgevers achteraf hun software project als “niet succesvol” beschouwt. Dit treurige cijfer is afkomstig uit grote internationale projecten, en moet je vast niet te letterlijk nemen als kans voor een klein of middelgroot 50-250k maatwerk project. Maar iets hiervan zie ik zeker terug in de praktijk. In de 15 jaar dat ik mezelf ‘aanbood’ als freelance software ontwikkelaar, gingen 3 op de 4 berichten in mijn mailbox niet over nieuwe software, maar over een bestaand project dat slecht presteerde!

Waarom zijn zoveel opdrachtgevers na afloop ontevreden over hun maatwerk software project?

Het grappige is, als ik dit aan opdrachtgevers vraag dan ligt het altijd aan de bouwer. “Ze luisteren niet”, “ze testen niet goed”, “ze zijn slecht bereikbaar”. En als laatste, deze zit er altijd bij: “ze zetten voor álles de meter aan!”. Begrijp me niet verkeerd, dit zijn legitieme ergernissen. Maar volgens mij zijn het geen oorzaken voor slechte software, of eigenschappen van een slechte dienstverlening. Het zijn symptomen van een slechte samenwerking. En ik denk dat twee ingrediënten genoeg zijn om deze symptomen te bestrijden: eenvoud en communicatie.

 

Houd het simpel

Hoe eenvoudig het soms ook lijkt, software ontwikkeling wordt snel complex. Mede daarom is het zo verstandig om het simpel te houden, vooral in het begin. Streef niet meteen naar de ultieme vorm en uitwerking, maar denk in stappen. Start klein, met de software als geheel, met elke functie en met elke feature. Vergeet niet dat het grootste deel van de software er uiteindelijk anders uitziet dan je zelf voor ogen had. Doordat dingen anders lopen dan verwacht. Doordat je klanten andere vragen gaan stellen. En doordat je markt, je branch, de hele wereld, constant verandert. Door kleine stapjes te nemen houd je het niet alleen simpel, je bespaart ook nog een flinke kostenpost aan wijzigingen achteraf.

Vuistregel: als een vergadering, schets of flowdiagram meer vragen oproepen dan beantwoordt, dan is het onderwerp niet genoeg versimpeld!

Focus op communicatie

Succesvolle software ontwikkeling draait om communicatie. Logisch: iemand met domeinkennis, kennis van een specifieke markt of branche (de opdrachtgever), wil een technisch product laten maken door iemand met technische kennis (de ontwikkelaar). De techneut moet gaan begrijpen wat het rol en doel van de software is, en de domeinspecialist moet gaan begrijpen wat het gevolg van technische beslissingen is. Hoe zorg je dat ze beiden krijgen wat ze nodig hebben? Met communicatie. Dus investeer in communicatie! Blijf praten, overleggen en bellen. Spreek elkaar als iets niet goed voelt. 

Vuistregel: zoek niet in de eerste plaats een techneut om je software te bouwen, maar een specialist die kan luisteren en zich goed kan uitdrukken.

Ik heb de scherven echt al talloze keren mogen oprapen: de meeste software projecten die mislukken, doen dat omdat het product veel te ingewikkeld is gemaakt en omdat er niet goed wordt gecommuniceerd. Maar als je eenvoud en communicatie leidend maakt in jouw benadering van je software project, dan beloof ik dat je kans van slagen onmiddelijk vele malen groter wordt. Om je te helpen dit toe te passen, deel ik op deze site zoveel mogelijk voorbeelden, tips en advies. De blogartikelen zijn een goed startpunt. Succes!

-Jorrit