Skip to main content

Categorie: KOM

ISO 25010 – Overdraagbaarheid

Overdraagbaarheid – ISO 25010


De mate waarin een systeem, product of component effectief en efficiënt overgezet kan worden van één hardware, software of andere operationele of gebruiksomgeving naar een andere.


Met de klok mee is Overdraagbaarheid de tweede categorie, die bestaat uit Aanpasbaarheid, Installeerbaarheid en Vervangbaarheid. Webapplicaties moeten correct functioneren, ongeacht welke browser er wordt gebruikt. Voor bijvoorbeeld een Android App die je kan downloaden is het ook handig dat deze geïnstalleerd kan worden op ieder Android tablet.

Als men eenmaal gewend is aan een webapplicatie, dan is het niet wenselijk om bij het wisselen van een IPad naar een Android tablet afscheid te moeten nemen. Feitelijk moet het niet uitmaken wat voor tablet er wordt gebruikt. In de praktijk zien we hier nog wel veel problemen. Niet alleen over de verschillende besturingssystemen heen, maar ook binnen één besturingssysteem. Als gebruiker heb je geen enkele grip op het aantal releases van je App of besturingssysteem. Maar hopen dat de ontwikkelaar niet alleen tijdig maar ook correct alle aanpassingen heeft gedaan, of eisen stellen aan de aanpasbaarheid van de App zelf.

Zoals in mijn vorige blog aangegeven onderkennen we in de productrisicoanalyse drie doelgroepen, namelijk de business (product owner), beheer(ders) en gebruik(ers). Iedere doelgroep heeft zijn eigen argumenten waarom met Overdraagbaarheid meer of minder risico wordt gelopen. Afhankelijk met welke bril er gekeken wordt naar de drie attributen, bepaalt hoe belangrijk een attribuut. Gelijke belangrijkheid wil nog niet zeggen dezelfde argumentatie waarom een attribuut belangrijk wordt gevonden. Communiceren dus.


Vaststellen of een webapplicatie op alle mogelijke soorten telefoons of tablets werkt met alle gangbare releases en browsers is kostbare en tijdsintensieve aangelegenheid. Er zijn tegenwoordig wel hulpmiddelen die hierbij ondersteunen. Zelf vind ik als Overdraagbaarheid erg belangrijk wordt gevonden een vorm van crowd testing een goed alternatief. Ergens in de testcommunity is er wel iemand die beschikt over een telefoon van type x met besturingssysteem y en versie z en ook nog chinees spreekt.


Definities attributen


Aanpasbaarheid (Adaptability)

  • De mate waarin een product of systeem effectief en efficiënt aangepast kan worden voor andere of zich ontwikkelende hardware, software of andere operationele of gebruiksomgevingen.

Installeerbaarheid (Installability)

  • De mate waarin het product of het systeem effectief en efficiënt geïnstalleerd of verwijderd kan worden in een gespecificeerde omgeving.

Vervangbaarheid (Replaceability)

  • De mate waarin een product een ander specifiek softwareproduct, met hetzelfde doel in de zelfde omgeving, kan vervangen.

Binnen Overdraagbaarheid komen we eisen met betrekking tot Vervangbaarheid minder vaak tegen. Als een applicatie wordt ontwikkeld is het meestal ter vervanging va een (verouderde) applicatie. Het besluit om een nieuwe applicatie te ontwikkelen geeft al aan hoe belangrijk Vervangbaarheid vanuit het perspectief van de te vervangen applicatie wordt gezien. Maar hoe zit het met het op termijn vervangen van de nieuwe applicatie. Moet er niet worden nagedacht of er bij de ontwikkeling van de applicatie afspraken nodig zijn hoe de applicatie ooit vervangen moet kunnen worden. We hebben nog heel veel legacy, nadenken over vervangbaarheid in de toekomst van de applicatie gaat de aanwas van legacy tegen.


Professionele IT-ers stellen niet hoge eisen aan de Installeerbaarheid. Zij weten vaak wel wat ze moeten doen en iedere vorm van hulp vinden ze lastig. Zelf wil ik graag de controle over de installatie hebben en het liefst zoveel mogelijk handmatig doen. Eindgebruikers daarentegen willen het liefst dat het installeren volledig (automatisch) voor hun wordt gedaan.


ISO 25010 – Uitwisselbaarheid

Uitwisselbaarheid – ISO 25010


De mate waarin een product, systeem of component informatie uit kan wisselen met andere producten, systemen of componenten, en/of het de gewenste functies kan uitvoeren terwijl het dezelfde hard- of software-omgeving deelt.


Uitwisselbaarheid is de vierde categorie die ik met je doorneem. Zelf vind ik de naam uitwisselbaarheid wat verwarrend. Het lijkt vanuit de naam veel op het attribuut vervangbaarheid binnen Overdraagbaarheid, maar ook wel op Herbruikbaarheid in Onderhoudbaarheid. Maar het gaat niet over de applicatie zelf die uitwisselbaar (vervangbaar) moet zijn of waarvan delen uitwisselbaar moeten zijn met andere applicaties (herbruikbaarheid), maar het gaat of de applicatie in staat is om naast andere applicaties te bestaan en gegevens uit te wisselen. Als we applicaties gaan rangschikken op Uitwisselbaarheid, scoren de systemen van de belastingdienst ongetwijfeld erg hoog. Veel gegevens worden al verkregen uit andere applicaties, zelfs van andere organisaties. Banken maken het ook steeds makkelijker om de dagafschriften te importeren in de financiële administratie. Het tijdrovende overkloppen van het papieren afschrift is niet meer nodig. Als we echter naar de hardwarecomponenten kijken, komt het geregeld voor dat het verschil uitmaakt welk merk en type gebruik wordt. Het ligt niet altijd zo voor de hand als een applicatie niet met andere applicaties gekoppeld kan worden, dat dit dan aan de hardware ligt. Maar toch komt dit geregeld voor.


Er zijn applicaties die continu informatie met elkaar uitwisselen. Koppelbaarheid is bijvoorbeeld bij een online beursapplicatie, die gebruik maakt van realtime beursinformatie, erg belangrijk. Ook de systemen van de politie dienen bijvoorbeeld te beschikken over de actuele en juiste informatie. Heb je al te snel gereden, wordt je aangehouden en dan krijg je nog een opvoedkundige reprimande om dat de vorige nog openstaat. Die had je nou net gisteren betaald en je partner die naast je zit wist niets van die bekeuring. Hoewel computergeheugen steeds goedkoper en groter wordt, moet een applicatie wel rekening houden met het geheugenbeslag. Het mag niet gebeuren dat als de applicatie live gaat, andere systemen niet meer functioneren. Naast geheugencapaciteit mag natuurlijk ook de netwerkbelasting niet te groot te zijn. Zo zijn er nog wel meer componenten te noemen die het naast elkaar laten bestaan van applicaties moeilijk maken.


Definities attributen


Beïnvloedbaarheid (Co-existence)

  • De mate waarin een product zijn gewenste functies efficiënt kan uitvoeren terwijl het een gemeenschappelijke omgeving en middelen deelt met andere producten, zonder nadelige invloed op enig ander product.

Koppelbaarheid (Interoperability)

  • De mate waarin twee of meer systemen, producten of componenten informatie kunnen uitwisselen en de uitgewisselde informatie kunnen gebruiken.

ISO 25010 – Efficiëntie

Efficiëntie – ISO 25010


De prestaties in verhouding tot de hoeveelheid middelen gebruikt onder genoemde condities


Performancetesten is na het testen van de functionaliteit de meest voorkomende testsoort. We raken steeds meer gewend (verwend) dat een applicatie snel reageert op onze handelingen. Als een webwinkel ons lang in de wachtrij laat staan, zappen we al naar een andere webwinkel. De gewenste functionaliteit van een webwinkel is nu wel bekend, nu gaan klanten verloren door de beperkte snelheid van de applicatie.

Meerdere geautomatiseerde informatiesystemen worden tegelijk gebruikt. Ieder van deze systemen legt beslag op een deel van de beschikbare capaciteit. Hoewel het tegenwoordig steeds ‘goedkoper’ wordt om de capaciteit uit te breiden, zijn er toch vaak bottle-necks die niet opgelost kunnen worden. Het netwerk heeft bijvoorbeeld een maximale bandbreedte en meer kan er echt niet over. In the cloud of juist lokaal, virtuele servers versus fysieke apparaten, Wifi of bedraad, allemaal keuzes die de performance beïnvloeden.

Het oplossen van de ene bottle-neck levert vaak op een andere plek weer een nieuwe bottle-neck op. Een spitsstrook zorgt dan wel voor een betere doorstroming op de snelweg, maar voor meer opstoppingen in de stad. Mocht een spitstrook al een bottle-neck oplossen, deze is vaak na verloop van tijd weer aanwezig. Er worden geen files meer gemeld en iedereen denkt dat dit een optimale route is om op het werk te komen. Het ‘zuigende’ effect van een betere doorstroming zorgt dan voor een groter aanbod en in het slechtste geval weer nieuwe en ditmaal grotere vertragingen. Ergo, het bijplaatsen van een server omdat de schrijfruimtes vol zijn, lost slechts een beperkte tijd het probleem op.


Wie een kaartje koopt voor de bus wordt geacht hooguit één zitplaats te gebruiken. Als een passagier ook plaatsen in beslag neemt voor zijn benen en rugzak, houdt hij zich niet aan deze afspraak en ontstaat er op zijn minst een fikse discussie als de bus vol raakt. Bij informatiesystemen geldt een vergelijkbaar verhaal. Wanneer verwacht mag worden, dat een systeem bovengemiddeld gebruik gaat maken van bijvoorbeeld het lokale netwerk, dan dient dit gebruik vooraf te worden gekwantificeerd.

Wanneer het informatiesysteem na de laatste ‘Enter’ van het invoerscherm de klantgegevens gaat bijwerken, is er even tijd voor een kop koffie. In bepaalde omstandigheden is dat acceptabel, in andere niet. Veel zal afhangen van de soort gebruikers en de aard van het gebruik. Een belangrijk element is ook (daar komt ie weer!) de verwachting van de gebruiker op dat moment.


Definities attributen


Snelheid (Time-behaviour)

  • De mate waarin antwoord- en verwerkingstijden en doorvoersnelheid van een product of systeem, tijdens de uitvoer van zijn functies, voldoet aan de wensen.

Middelenbeslag (Resource utilization)

  • De mate waarin de hoeveelheid en type middelen die gebruikt worden door een product of systeem, tijdens de uitvoer van zijn functies, voldoet aan de wensen.

Capaciteit (Capacity)

  • De mate waarin de maximale limieten van een product- of systeemparameter voldoet aan de wensen.

ISO 25010 – Beveiligbaarheid

Beveiligbaarheid – ISO 25010


De mate waarin een product of systeem informatie en gegevens beschermt zodat personen, andere producten of systemen de juiste mate van gegevenstoegang hebben passend bij hun soort en niveau van autorisatie.


Geregeld zien we nieuwsberichten over hackers die vertrouwelijke informatie hebben buitgemaakt. De toegang tot de data was onvoldoende afgeschermd. Hoe zit het dan met toegang tot de systemen zodat ongemerkt criminele activiteiten kunnen worden uitgevoerd onder valse naam. Ik vergelijk dit altijd maar met het rondrijden met mijn kentekenplaten op een andere auto. Ik heb er zolang er niets gebeurt geen last van, maar ik loop wel ongemerkt een risico.

In de productrisicoanalyse onderkennen we drie doelgroepen, namelijk de business (product owner), beheer(ders) en gebruik(ers). Iedere doelgroep heeft zijn eigen argumenten waarom met Beveiligbaarheid meer of minder risico wordt gelopen. Als we kijken naar de attributen binnen Beveiligbaarheid ligt dit meer genuanceerd. Onweerlegbaarheid is misschien voor de product owner belangrijk, maar voor een beheerder wellicht niet of nauwelijks. Hierover communiceren, zodat men van elkaar weet waarom wat voor de een belangrijk is en voor de ander niet, is dan ook zeer belangrijk.


In mijn komende blogs zal ik geregeld terugkomen op vaststellen de business value, welke prioriteit geven we aan het attribuut en hoeveel inspanning (omvang) denken we nodig hebben om de risico’s te elimineren of te minimaliseren. De business value komt met name van de product owner, risico’s is door alle doelgroepen gezamenlijk te bepalen, de omvang met name door de ontwikkelaars / testers. Als Onweerlegbaarheid belangrijk én risicovol is, dan is het zaak om de criteria met betrekking tot Onweerlegbaarheid te beschrijven, de risico’s die worden gelopen als we niets met Onweerlegbaarheid doen en welke kwaliteitsmaatregelen gaan we inzetten. Niet alles op testen laten aankomen in een van de laatste fasen van het project, dan is het namelijk in veel gevallen te laat.


Definities attributen


Authenticiteit (Authenticity)

  • De mate waarin bewezen kan worden dat de identiteit van een onderwerp of bron is zoals wordt beweerd.
  • De mate waarin een claim over de oorsprong of de auteur van de informatie verifieerbaar is, bijvoorbeeld aan handschrift.

Verantwoording (Accountability)

  • De mate waarin acties van een entiteit getraceerd kunnen worden naar die specifieke entiteit.

Onweerlegbaarheid (Non-repudiation)

  • De mate waarin kan worden bewezen dat acties of gebeurtenissen plaats hebben gevonden, zodat later deze acties of gebeurtenissen niet ontkend kunnen worden.

Integriteit (Integrity)

  • De mate waarin een systeem, product of component ongeautoriseerde toegang tot of aanpassing van computerprogramma’s of gegevens verhindert.

Vertrouwelijkheid (Confidentiality)

  • De mate waarin een product of systeem er voor zorgt dat gegevens alleen toegankelijk zijn voor diegenen die geautoriseerd zijn.

Beveiligbaarheid begint niet pas bij de applicatie of houdt juist op bij de applicatie. Beveiligbaarheid gaat over de gehele keten, van de start van een transactie tot het verwijderen van (verouderde) gegevens. Toegangscontroles door enkel controle op naam en wachtwoord is niet voldoende, dit strekt zich zelfs uit tot het beperken van fysieke toegang. Hoe waardevoller de gegevens zijn voor oneigenlijk gebruik, hoe hoger het risico is dat men loopt op Beveiligbaarheid.


Is Beveiligbaarheid belangrijk, bepaal dan op welke van de onderliggende attributen risico wordt gelopen. Is de kans dat het risico optreedt laag en zijn de faal- en herstelkosten laag, dan lijft Beveiligbaarheid van belang maar kan de inspanning om aan te tonen dat het risico niet aanwezig is, beperkt blijven tot de standaard maatregelen.

 

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.

  • 1
  • 2