Kwaliteit van Software (Deel 1)

Hoewel kwaliteit niet gedefinieerd en meetbaar is, zijn er aspecten die invloed hebben op de kwaliteit van software. Op hoofdlijnen kun je de aspecten die de kwaliteit van software beïnvloeden in 2 modellen indelen: productkwaliteit en geschiktheid voor gebruik.

Dit eerste artikel richt zich op geschiktheid in gebruik. Vanuit de ISO 25010 is geschiktheid in gebruik ingedeeld 5 categorieën en 11 kwaliteitseigenschappen. Deze zijn onder aan het artikel benoemd.

Niet voor software architecten

Voor een software architect of ontwikkelaar een gedeelte van de ISO-norm waar je initieel heel weinig mee kunnen. Dit gedeelte van de norm zegt namelijk niets over de functionele of non functionele eisen van de applicatie, maar richt zich voornamelijk op de keuze vanuit management/business analist voor een bepaalde applicatie of functionaliteit. Wat is de impact van het gebruik van deze applicatie op de mens, het bedrijf en zijn omgeving.

En toch

Op het moment dat je wat meer verdiept in dit gedeelte van de norm zie je dat de verschillende kwaliteitsaspecten direct of indirect invloed hebben op de functionele en non functionele eisen van je applicatie. En ook als deze aspecten niet in de eisen zijn benoemd zijn kun je er rekening mee houden.

Voorbeelden:

Is de applicatie of applicatie onderdeel heel specifiek gericht op 1 taak, of kan ik hem zo maken dat deze ook voor andere taken te gebruiken is (Flexibiliteit).

Kan ik een mobiele applicatie zo maken dat deze weinig stroom verbruikt (Efficiëntie)

Beperk ik of mijn mobiele applicatie tijdens het auto rijden gebruikt kan worden (Risicobeperking)

Waar gebruik ik deze norm als software architect nog meer voor?

Veel van de aspecten gaan over de interactie en het gevoel van de gebruiker en daarmee het belang van een goed UX-design.

Tijdens discussies over functionaliteit: wat is de toegevoegde waarde van specifieke functionaliteit ten opzichte van de hoeveelheid tijd en moeite deze te realiseren. Zorgt bepaalde functionaliteit voor een verhoogd risico. Ervaren gebruikers specifieke gewenste functionaliteit als lastig en verminderen daarmee de tevredenheid van een gebruiker.

Gebruikers acceptatie, zijn er trainingen nodig in het gebruik van de applicatie, is er een acceptatie plan. Moet er hulp functionaliteit ingebouwd worden.

etc.

ISO 25010: Geschiktheid voor gebruik

Effectiviteit

De nauwkeurigheid en volledigheid waarmee gebruikers gespecificeerde doelen behalen.

Efficiëntie

De hoeveelheid resources die gebruikt zijn in verhouding tot de nauwkeurigheid en volledigheid waarmee gebruikers doelen behalen.

Voldoening/tevredenheid

De mate waarin gebruikersbehoeften vervuld worden als de applicatie gebruikt wordt in een gespecificeerde gebruiksomgeving.

Bruikbaarheid: mate waarin een gebruiker tevreden is met de voor de gebruiker waargenomen behaalde doelen, inclusief de resultaten en de gevolgen van het gebruik van de applicatie.

Vertrouwen: mate waarin een gebruiker of andere belanghebbenden erop vertrouwt dat de applicatie zich zal gedragen zoals bedoeld.

Plezier: mate waarin een gebruiker tevreden is met het verwezenlijken van zijn persoonlijke wensen.

Welzijn: mate waarin een gebruiker tevreden is met zijn fysieke welzijn.

Vrijwaring tegen risico

Economisch-risico-beperking: mate waarin een applicatie de risico's beperkt voor financiële status, efficiënte werking, commerciële eigendommen, reputatie of andere middelen in de beoogde gebruikscontexten.

Gezondheids- en veiligheidsrisicobeperking: mate waarin een applicatie de risico's voor personen beperkt in de beoogde gebruiksomgevingen.

Omgevingsrisicobeperking: mate waarin een applicatie de risico's voor eigendommen of voor de omgeving beperkt in de beoogde gebruiksomgevingen.

Omgevingsdekking

De mate waarin een applicatie effectief, efficiënt, zonder risico's en met voldoening gebruikt kan worden, zowel in de gespecificeerde gebruiksomgevingen als buiten deze initieel niet-expliciet gespecificeerde gebruiksomgevingen.

Omgevingscompleetheid: mate waarin een applicatie effectief, efficiënt, zonder risico en met voldoening gebruikt kan worden in alle gespecificeerde gebruiksomgevingen.

Flexibiliteit: mate waarin een applicatie effectief, efficiënt, zonder risico en met genoegen gebruikt kan worden buiten de initieel gespecificeerde gebruiksomgevingen

Bron: ISO/IEC 25010:2011(en), Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — System and software quality models

#quality #softwarequality #softwaredevelopment #softwarearchitect