Rekensoftware van zorg naar zekerheid
Herkent u dit: uw bedrijf vertrouwt op rekensoftware waarvan de kwaliteit bedenkelijk is? Bijvoorbeeld omdat de code lang geleden gemaakt is, misschien zelfs door mensen die nu niet meer bij u werken. In dat geval spreken we van legacy-code. Of omdat het software is die rechtstreeks uit de R&D-afdeling komt maar het R&D-stadium nog niet ontgroeid is. U bent zich bewust van de risico’s, maar ook van de kosten. Hoe brengt u deze programmatuur van een zorg naar een zekerheid?
VORtech helpt dagelijks klanten die hiermee te maken hebben. In onze blogreeksen over legacy code en over onze projecten vindt u tal van voorbeelden.
Hieronder leest u eerst wat de voornaamste risico’s zijn van rekencode van slechte kwaliteit. Vervolgens geven we een stappenplan voor het aanpakken van de risico’s, eerst voor legacy code en dan voor R&D-code.
Wat zijn de risico’s van slechte rekencode?
Wat ook de oorzaak is van slechte codekwaliteit, de risico’s zijn hetzelfde:
- De software kan onopgemerkte fouten bevatten waardoor u ten onrechte op de uitkomsten vertrouwt.
- De code is moeilijk te doorgronden, waardoor u de code nauwelijks nog kunt (laten) aanpassen of uitbreiden.
- Er originele ontwikkelaars zijn vaak de enigen die weten hoe de code in elkaar steekt. Als ze vertrekken dan is die kennis weg.
Voor legacy code vindt u hier een uitgebreidere beschrijving van de belangrijkste risico’s.
Hoe brengt u de kwaliteit van rekencode op acceptabel niveau?
Om deze vraag te beantwoorden moet onderscheid gemaakt worden tussen het moderniseren van legacy code en het verbeteren van R&D- of researchcode.
Hoe moderniseert u legacy-code?
Als we voor onze klanten legacy-code moderniseren, gebruiken we daarvoor het volgende stappenplan:
- Inventariseer de situatie. Is het eigenlijk wel nodig om de code te moderniseren en is er draagvlak voor? Is er nog voldoende kennis van de programmeertaal? Wat is er aan documentatie? Is er nog een bruikbare ontwikkelomgeving? Zijn er voldoende testen? Is de oorspronkelijke ontwikkelaar nog beschikbaar? Of iemand anders die de code goed kent? Is het moderniseren van de huidige code de beste optie, of zijn de eisen dermate veranderd dat er nieuwe software moet komen waarin de oude is opgenomen? Pas als er duidelijkheid is over al deze vragen, is het zinvol om dingen aan te pakken.
- Breng de code onder in versiebeheer, voor zover dat nog niet gebeurd is en richt de teststraat in met de testen die al voorhanden zijn.
- Verbeter de testen. Om vast te kunnen stellen of de software gedurende het proces steeds de goede resultaten blijft geven zijn goede testen onmisbaar. Sowieso zijn er specifieke testen nodig voor elke functionaliteit. En liefst ook aparte testen per functionaliteit. Daarnaast zijn er detailtesten nodig die onderdelen van de code testen. Maar dat kan vaak pas gedaan worden na de volgende stap.
- Modulariseer de code. Zorg dat de code gaat bestaan uit heldere onderdelen die elk een duidelijke functie hebben. Daarmee voorkom je dat een aanpassing op de ene plek onverwachte gevolgen heeft op een andere plek. Bovendien geeft dit de gelegenheid om elk van de onderdelen kort en krachtig te documenteren.
- Moderniseer de modules die gemoderniseerd moeten worden. Vaak is het niet nodig om code helemaal te moderniseren maar kan volstaan worden met het moderniseren van onderdelen. Dat beperkt ook de risico’s omdat veel van de oorspronkelijke functionaliteit behouden kan blijven.
Hoe brengt u researchcode op niveau?
Voor researchcode is het stappenplan erg vergelijkbaar. Alleen de laatste stap is anders:
- Optimaliseer de programmatuur. Bij R&D-code wordt vaak niet gelet op bepaalde aspecten die voor de operatie wel van belang zijn. Performance is typisch iets dat in de R&D-fase niet van belang is, maar bij het gebruik wel. Door de vorige stappen is nu snel te vinden wat de performance-bottlenecks zijn en hoe die verholpen kunnen worden.
Kunnen we u helpen?
Als u meer wilt weten of advies wilt hebben, bel ons op +31(0)15 285 01 25, stuur ons een e-mail of vul het contactformulier in. Een van onze experts neemt dan contact met u en zal uw vragen graag beantwoorden.
Meer lezen?
Op andere plaatsen op onze website vindt u meer informatie over onze diensten rondom legacy software en R&D-software. Zo kunnen we u adviseren en kunnen we code verbeteren en optimaliseren. In onze blogserie over legacy code en de blogserie over onze projecten vindt u voorbeelden uit onze praktijk. Lees ook onze whitepapers over legacy code en over het versnellen van rekenprogrammatuur.