ISO 25010 – Onderhoudbaarheid
Onderhoudbaarheid – ISO 25010
De laatste (hoedanigheids)categorie in de reeks is onderhoudbaarheid, met name gericht op de ondersteuning tijdens het beheren van de applicatie. Dit is niet alleen relevant voor ná de oplevering aan de beheerorganisatie, maar ook tijdens de ontwikkeling. Dit laatste wordt nog wel eens vergeten. Agile/Scrum geeft bij de tweede sprint al regressie en er moet gezorgd worden dat het bereikte kwaliteitsniveau behouden blijft. Aanpassingen en regressietesten mag dan niet dé vertragende of zelfs de blokkerende factor worden. Continuous Delivery en Continuous Integration stelt zware eisen aan onderhoudbaarheid en beheer mag dan feitelijk ook niet ontbreken tijdens de ontwikkeling. (DevOps).
Definitie van Onderhoudbaarheid (Maintainability)
De mate waarin een product of systeem effectief en efficiënt gewijzigd kan worden door de aangewezen beheerders
Het onderhoud van mijn tuin vergt redelijk veel tijd. Een aantal weken op vakantie en het onkruid tiert welig. Om dit onderhoud te verminderen is het dan ook belangrijk om bij de aanleg van de tuin al rekening te houden met het onderhoud. Heb je dagelijks veel tijd om te tuinieren, dan kan je volstaan met een minder onderhoudsvriendelijke tuin. Als het tuinieren, zoals bij mij, beperkt is tot de zaterdagmiddag, dan het liefst een tuin die zichzelf onderhoudt. Wanneer men het snoeien en bemesten opneemt in de releaseplaning is het tuinonderhoudsplan is een goed eind op weg. TIP: Laat je tuin dus niet aanleggen door een hovenier, wiens businessmodel is gebaseerd op onderhouden van tuinen. Of je moet bijna met pensioen gaan en tijd over krijgen.
Wat geldt voor een tuin, geldt ook in bepaalde mate voor een informatiesysteem. Hier is ook een bepaalde vorm van life-cycle-management gewenst: Onderhoud dat er op is gericht een optimaal presterend systeem te leveren tegen minimale kosten, gerekend over de totale levensduur van het systeem. Een beheerder moet ook kunnen adviseren over verder investeren in het systeem of het vervangen. Om dit op een verantwoorde wijze te kunnen doen, is inzicht nodig in bijvoorbeeld de (te verwachten) operationele kosten van een systeem, de onderhoudskosten van een systeem en de mate waarin het systeem blijft voldoen aan de bedrijfsdoelstellingen. Naarmate de omvang, kosten en belang van het systeem groter worden en het aantal gebruikers, locaties en operationele systeemversies toeneemt, zullen er zwaardere eisen aan onderhoudbaarheid gesteld worden. ISO 25010 heeft een opsplitsing in producteigenschappen, die ik, behalve functionele geschiktheid, allemaal heb toegelicht, en de productkwaliteit tijdens het gebruik van de applicatie. Onderhoudbaarheid gaat vanuit de ontwikkeling, waar de producteigenschappen worden gespecificeerd en gerealiseerd, nagenoeg naadloos over in de kwaliteit tijdens het gebruik.
Definities attributen
Modulariteit (Modularity)
- De mate waarin een systeem of computerprogramma opgebouwd is in losstaande componenten zodat wijzigingen van een component minimale impact heeft op andere componenten.
Herbruikbaarheid (Reusability)
- De mate waarin een bestaand onderdeel gebruikt kan worden in meer dan één systeem of bij het bouwen van een nieuw onderdeel.
Analyseerbaarheid (Analysability)
- De mate waarin het mogelijk is om effectief en efficiënt de impact, van een geplande verandering van één of meer onderdelen op een product of systeem, te beoordelen, om afwijkingen en/of foutoorzaken van een product vast te stellen of om onderdelen te identificeren die gewijzigd moeten worden.
Wijzigbaarheid (Modifiability)
- De mate waarin een product of systeem effectief en efficiënt gewijzigd kan worden zonder fouten of kwaliteitsvermindering tot gevolg.
Testbaarheid (Testability)
- De mate waarin effectief en efficiënt testcriteria vastgesteld kunnen worden voor een systeem, product of component en waarin tests uitgevoerd kunnen worden om vast te stellen of aan die criteria is voldaan.