Ontwikkel Proces

Waar gaat het om?

Een IT-systeem lijkt in veel opzichten op een gebouw. Beide bestaan uit afzonderlijke componenten die in verband staan. De kwaliteit van afzonderlijke componenten bepaalt of iets eenvoudig aan te passen is. Het samenspel van componenten bepaalt of het geheel aan te passen is zonder onbedoelde neveneffecten.

Als niet al vanaf het begin een goede structuur is neergelegd kan het systeem later alleen tegen hoge kosten aangepast worden aan nieuwe eisen.

Wat maakt source code goed?

Er bestaan codeer-regels die maken dat source code goed te onderhouden is. Dat is belangrijk want goed onderhoudbare software gaat langer mee en is beter herbruikbaar.

Bij goede code is functionaliteit samengebracht in modules. De modules worden overal toegepast waar die functionaliteit nodig is. Dit is het principe van cohesie.
Modules hebben zo weinig mogelijk interactie. Het principe van minimale afhankelijkheid.
Elke routine is eenvoudig van opzet, bevat weinig verschillende code-paden. Dat zorgt ervoor dat bij wijzigen geen verrassingen optreden.
Duplicatie van code wordt vermeden. Dezelfde source code op meer plaatsen in het systeem introduceert onnodig foutgevoeligheid bij wijzigen.

Alle principes worden gelaagd ingezet. Dan ontstaat een bouwwerk van overzichtelijke routines. Routines die ook jaren later een programmeur niet voor puzzels stellen.

Hoe weet ik dat?

Kwaliteit en onderhoudbaarheid kunnen eenvoudig met gebruik van geschikte tooling worden gemeten. ITs Jaap beschikt over een groot arsenaal van tools, geschikt voor bijna elke programmeertaal en systeemgrootte.

Naast het meten zelf wordt tevens focus gelegd op source-code waar aanpassingen het meeste effect sorteren. Dat gaat in nauw overleg met het team, omdat het natuurlijk geen zin heeft source code te verbeteren die niet (meer) vaak gewijzigd zal worden.

Wat als …..

source-code niet flexibel is, niet goed te onderhouden en niet aan te passen?

ITs Jaap kan uw organisatie verder helpen met een uitgewerkte codeerstandaard waarin de laatste inzichten over codekwaliteit verwerkt zijn. Zo’n standaard komt uiteraard tot stand in nauwe samenwerking met programmeurs en architecten.

Soms is een meer omvattende aanpak wenselijk. Beschrijven en invoeren van een ontwikkelraamwerk helpt de betrokkenen om betere code te produceren, sneller en met minder fouten. Ook dit traject kan ITs Jaap verzorgen.

Wezenlijke verbetering met inzet van (open source) tooling tijdens het ontwikkelproces is mogelijk – doch heeft zijn beperkingen. Een gecombineerde aanpak (standaarden en procesoptimalisatie en tooling) biedt de grootste garantie op succes.

Verwante activiteiten

Kwaliteit van source code is heeft verband met de systeemkwaliteit. Immers, herstel van defects gebeurt sneller en zekerder als source code goed onderhoudbaar is. Met security is er ook een relatie: omissies in de source code, leidend tot kwetsbaarheden, zijn bij goede kwaliteit code minder in aantal en duidelijker traceerbaar.