Kiezen en investeren in kwaliteit is cruciaal voor lage TCO

Marktwerking, veranderende wetgeving en nieuwe technologische mogelijkheden stellen steeds nieuwe eisen aan applicaties. Tijdens de gehele applicatie levensduur dient hier rekening mee te worden gehouden. Deze veranderingen moeten worden doorgevoerd om de applicatie up-to-date en beheersbaar te houden, waarmee de levensduur van de applicatie kan worden verlengd.

De levenscyclus van een applicatie start met een idee en eindigt wanneer een applicatie geen business-waarde meer heeft en vervolgens uit productie wordt gehaald. Tijdens deze levenscyclus zijn er drie hoofdaspecten te onderscheiden, te weten: governance, development en operations. De governance-fase staat voor de beslissingen die op managementniveau worden genomen, de development-fase voor de daadwerkelijke ontwikkeling en operations voor het beheer van een applicatie.

De vraag is of er vanuit governance en development voldoende rekening wordt gehouden met de Total Cost of Ownership (TCO) van een applicatie en daarmee met de gevolgen voor beheer.

In de praktijk komt het nog steeds regelmatig voor dat er een strikte scheiding is tussen development en operations. Hoewel die scheiding wordt opgelegd door governance vanuit bijvoorbeeld offerte- of aanbestedingstrajecten, kan dit nadelige gevolgen hebben voor het ontwikkelproces en uiteindelijk voor de TCO van de applicatie. Een voorbeeld daarvan is het starten van een project tegen de laagst mogelijke kosten, zonder na te denken over het effect op de kwaliteit van de applicatie en de gevolgen daarvan voor beheer. Een tweede belangrijk punt is te weinig aandacht voor de architectuur en de flexibiliteit die hiermee geboden wordt naar de toekomst om snel en effectief functionaliteit te vervangen of toe te voegen. Een derde voorbeeld in deze context is de keuze van de te gebruiken technologie en tooling, zonder effecten als kennisborging af te stemmen met beheer. Deze voorbeelden hebben een direct negatief effect op de kosten voor beheer.

 

Application Lifecycle Management

Om een onnodig hoge TCO te voorkomen is het belangrijk naar de gehele application lifecycle te kijken: van het idee voor een nieuwe applicatie tot en met het moment dat de toegevoegde waarde van diezelfde applicatie te laag is en deze uit productie wordt genomen. Dat heet Application Lifecycle Management (ALM). De gedachte hierachter is het verkrijgen van een zo hoog mogelijke toegevoegde waarde voor de business met een zo laag mogelijke TCO.

Een applicatie bouwen en beheren kost uiteraard geld. Wanneer een applicatie beter wordt gebouwd en er voldoende aandacht is voor architectuur, gebruikte technologie, tooling en code kwaliteit, zal een applicatie meer opleveren in relatie tot de investering. Hierdoor kan de software efficiënter worden beheerd en zijn er minder kosten gemoeid met dit beheer. Tevens kan de levensduur van de applicatie aanzienlijk worden verlengd, doordat de applicatie beheersbaar blijft.

Beheer is traditioneel goed voor zo’n 80 procent van de kosten van de gehele levenscyclus van een applicatie. De meeste kosten komen dus na development en daar valt de grootste winst te behalen als de totale kosten voor de applicatie naar beneden moeten worden gebracht. Om een kostendaling van de TCO te bereiken is een optimale afstemming en inzicht over de gehele levenscyclus noodzakelijk. Dit kan concreet door in de ontwikkelingsfase meer te investeren in en aandacht te hebben voor kwalitatief goede software. Kwalitatief goede software begint met een toekomstvaste en flexibele architectuur en continu aandacht voor codekwaliteit en documentatie in afstemming met beheer. Deze investering tijdens development levert daarna tijdens beheer alleen maar voordelen op.

 

Kwaliteit, TCO en productiviteit

Tijdens softwareontwikkeling zijn de gemaakte keuzes van grote invloed op het beheer van de applicatie. De keuzes tijdens het bouwen van software moeten ook in het beheer efficiënt kunnen worden geborgd. Er ontstaat dan een naadloze verbinding tussen ontwikkeling en beheer. Als positief gevolg kunnen aanpassingen eenvoudiger worden doorgevoerd. Dit staat of valt met de kwaliteit van de software.

Een systeem dat kwalitatief goed in elkaar zit, kan effectiever worden beheerd met een hogere productiviteit. Op het moment dat er iets fout gaat in de code, zal dit bij kwalitatief goede software vaak maar op één plaats worden aangepast en hiermee wordt testen vereenvoudigd. In kwalitatief slechtere software moet het vaak op meerdere plekken worden opgelost. Wanneer de productiviteit in het beheer laag is, en er meer tijd nodig is om zaken aan te passen, gaan de kosten vanzelfsprekend omhoog.

Het is als organisatie dus belangrijk om te kiezen voor kwalitatief goede software. Een juiste architectuur, een juiste aanpak en de juiste toolset zijn expliciete keuzes die vanuit het aspect governance moeten worden gemaakt, aan het begin van de applicatiecyclus.

 

Functiepunten

In de praktijk is de kwaliteit van software nog zeer divers en een hoge kwaliteit niet standaard het geval. Het meten van kwaliteit is voor opdrachtgevers in IT echter lastig. Wel komen er steeds betere hulpmiddelen om kwaliteit te toetsen en dus onafhankelijk aan te tonen.

Eén mogelijkheid om de kwaliteit van software uit te drukken, is de duiding van het aantal fouten per functiepunt. Met behulp van functiepunten kan de omvang van een systeem worden aangegeven. Kwalitatief goede software levert een lager aantal fouten per functiepunt. Minder goede software levert vanzelfsprekend een hoger aantal fouten per functiepunt.

Onderzoek op het gebied van software engineering methodology door Capers Jones, stelt dat ‘best in class’ software gemiddeld 0.13 fout per functiepunt kent. Bij gemiddelde software is deze foutkans 0.75 en bij kwalitatief slechte software is dit zelfs meer dan 3. Slechte software levert dus veel meer fouten per functiepunt op, wat betekent dat er meer hersteltijd nodig is om de applicatie probleemloos in de lucht te houden.

 

Lange termijn

Als beslissingen door governance en development vanuit een korte termijn-perspectief worden genomen, kan dit later in de levenscyclus negatieve gevolgen hebben. Er wordt dan pas op een later tijdstip daadwerkelijk rekening gehouden met beheer, dat op langere termijn een belangrijke rol gaat spelen. Dit is opmerkelijk omdat er voor bedrijven juist veel winst valt te behalen door bij softwareontwikkeling vanaf het begin de focus op kwaliteit te leggen en de gehele levenscyclus voor ogen te houden.

Dit begint bij de keuzes die gemaakt worden op governance-niveau. Zodra het eerste idee voor een applicatie ontstaat moet kwaliteit, gedurende de gehele applicatie levenscyclus, de rode draad vormen in de te maken keuzes. Bedrijven moeten zich niet langer afvragen hoe ze zo goedkoop mogelijk het softwareontwikkelproject kunnen uitvoeren, maar hoe ze zo goedkoop én goed mogelijk de gehele applicatie in de lucht kunnen krijgen én houden. Application Lifecycle Management biedt hier uitkomst.

Oscar Lubbers, Manager Managed IT Services, Info Support

Gerelateerde berichten...