Onlangs kwam het rapport ‘The Cost of Poor Software Quality in the USA 2020’ onder mijn aandacht, en ik was er behoorlijk onder de indruk van. Daarin staat dat organisaties tegenwoordig worstelen met de balans tussen snelheid van ontwikkeling en de kwaliteit van de applicaties en het onderhoud ervan. Omdat softwarekwaliteit vaak wordt beschouwd als ‘impliciet OK’, of ‘moet goed zijn omdat we alle bugs die we in al onze tests hebben gevonden hebben verwijderd’, wordt softwarekwaliteit en het effect ervan op de kosten voor onderhoud in de praktijk niet op grote schaal gemeten.

Het rapport toont aan dat de kosten van slechte software kwaliteit in de VS meer dan 2 biljoen dollar is. De meeste van deze kosten zijn gerelateerd aan productie-incidenten en het verlies van business als gevolg daarvan. Echter, daarnaast wordt 260 miljard US Dollar besteed aan mislukte IT-projecten. In de meeste gevallen is er onvoldoende aandacht voor kwaliteit en vaak worden deze projecten ook te optimistisch geschat.
Hoewel de bedragen in Nederland gelukkig veel lager liggen, worden dezelfde uitdagingen geconfronteerd als in de VS. Veel organisaties hebben een agile manier van werken gekozen, waarbij er de focus ligt op het zo snel mogelijk leveren van de meeste bedrijfswaarde. Het kwaliteitsaspect wordt vaak gedekt door tests en ontwikkelaarstools die op codeniveau meten, zoals bijvoorbeeld het veelgebruikte SonarQube. Dit zijn goede maatregelen, maar meestal niet voldoende. Het is belangrijk om te meten op systeemniveau, waarbij alle verbindingen tussen componenten, modules en lagen worden geanalyseerd. Bij Metri gebruiken we technologie om de kwaliteit van software op systeemniveau objectief te meten, tegen alle internationale normen en best practices. We rapporteren dit op managementniveau en bieden bruikbare inzichten aan ontwikkelaars: waar in de code kritische schendingen worden ontdekt, waarom dit kritieke schendingen zijn (met referentie naar de betreffende standaard of best practice) en vaak ook hoe deze op te lossen. Op deze manier kan het management inzicht krijgen in de trends in kwaliteit en bijbehorende risico’s en kunnen ontwikkelaars de code op een systematische en gerichte manier verbeteren, waardoor de systeemkwaliteit wordt verhoogd tegen weinig mogelijk inspanning.
De algemene aanbevelingen van het Consortium for IT Software Quality (CISQ) voor 2021 en daarna blijven de nadruk leggen op preventie. De beste aanpak is om zwakke punten en kwetsbaarheden in software zo snel mogelijk te detecteren en te corrigeren, bij voorkeur daar waar ze zijn geïnjecteerd, om de aangerichte schade en kosten voor het repareren te beperken. Meer specifiek worden de volgende aanbevelingen gedaan voor softwareontwikkelingsorganisaties:
- Vermijd ontwikkeling standaarden van lage kwaliteit en pas veilige coderingsstandaarden toe.
- Erken de inherente moeilijkheden van het ontwikkelen van software en gebruik effectieve tools om te helpen omgaan met deze problemen.
- Zorg voor een vroege en perdiodieke analyse van de ontwikkelde broncode om kritieke schendingen, zwakke punten en kwetsbaarheden vroegtijdig op te sporen.
- Meet structurele kwaliteitskenmerken, zoals Robuustheid, Efficiency, Security, Onderhoudbaarheid en Overdraagbaarheid.
- Focus op de evaluatie van opgenomen componenten (bijvoorbeeld open source) en platforms die onbekende zwakke punten of kwetsbaarheden kunnen hebben.
- Verkrijg meer informatie over de typische kwetsbaarheden en misbruikbare zwakke punten die zijn toe te schrijven aan bepaalde programmeertalen.
- Gebruik de best practices voor het beheer van een legacy-systeem – vooral als het gaat om het kennismanagement van hoe het systeem intern werkt. Benchmarking van de software risico’s en kwaliteit is een goede plek om te beginnen.
- Vermijd mislukte projecten door deze professioneel te begroten door gecertificeerde Software Cost Estimators.
- Besteed aandacht aan gedefinieerde kwaliteitsdoelstellingen en meet deze doelstellingen gedurende de hele levenscyclus van het project.
- Investeer slim in verbeteringen in de kwaliteit van de software op basis van CPSQ-nummers.
- Focus op de verschillende resultaten van goede versus slechte softwarekwaliteit in uw organisatie en relevante benchmarkorganisaties. Door te proberen CPSQ te verbeteren, zullen andere economische doelgebieden worden beïnvloed, bijvoorbeeld eigendomskosten, winstgevendheid, menselijke prestatieniveaus, innovatievermogen en de effectiviteit van uw bedrijfskritieke IT-systemen.
Het klinkt misschien ongelofelijk, maar de diensten die Metri biedt als onderdeel van haar IT Intelligence propositie dekken eigenlijk al deze aanbevelingen.
Het is interessant om te zien dat CISQ een factor 5 tot 10 verschil ziet tussen goed presterende teams en slecht presterende teams, vergelijkbaar met de resultaten die Metri ook waarneemt in de Agile Team Performance Monitor studies die we hebben uitgevoerd. CISQ analyseerde de verschillen tussen de top 10% performers en de onderste 10% organisaties die ze bestudeerden. Wanneer u dieper in de gegevens graaft, is de duidelijke reden de toepassing van bepaalde kwaliteit en proces best practices.
De belangrijkste enablers voor het bereiken van de beste kosten, planning en kwaliteitsprestaties zijn:
- Een goed gedefinieerd, maar aanpasbaar ontwikkelingsproces
- Uitstekende begrotingsmethoden (zie de Metri Cost Estimation suite: link)
- Projectmanagement discipline
- Uitstekende medewerker vaardigheidsniveaus
- Kwaliteitsvisie
- Focus op klanttevredenheid
- TQM managementcultuur
- Foutpreventie
- Voortgang en kwaliteit meten
Metri helpt haar klanten bij het implementeren van deze key enablers, terwijl ze verbeteringen en de voordelen meet. In bijna elke organisatie zal een verhoogde focus op kwaliteit resulteren in een lagere Total Cost of Ownership, vooral wanneer softwarefouten op een gerichte en kostenefficiënte manier worden opgelost.
Wil je meer weten?
Vul onderstaand formulier in om zelf een afspraak in te plannen voor een vrijblijvend gesprek. Kom je er niet uit? Bel ons dan op 020 655 1777.