Kvaliteten hos en programvaruprodukt inkluderar både externa och interna aspekter.
- Extern kvalitet definieras genom egenskaper som funktionalitet, användarvänlighet, prestanda och felfrekvens under drift.
- Intern kvalitet definieras genom egenskaper som testbarhet, ändringsbarhet, återanvändningsbarhet och underhållsbarhet.
- Den externa kvaliteten är vanligtvis adresserad och under kontroll eftersom den ligger nära kundens upplevda kvalitet. Den interna kvaliteten är ofta förbisedd eftersom den är svårare att synliggöra och mäta. Speciellt gäller det interna kvalitetsaspekter vars effekt märks senare i produktens livscykel.
- En god intern kvalitet reducerar inte bara framtida kostnader för produkten, det reducerar också kostnaden för att nå den önskade externa kvaliteten.
Konkreta exempel på hur kodkvaliteten påverkar livscykelkostnaden:
- Minskad utvecklingskostnad då det blir enklare att addera ny funtionalitet
- Lägre kostnad för test, av extern kvaliteten, eftersom komplex kod är svårare att testa
- Ökad produktkvalitet då “Spaghetti-lik” kod kommer generera fler buggar
- Förbättrad predikterbarhet genom att det inträffar färre överraskningar under utvecklingen
- Minskat beroende av nyckelpersoner när man har läsbar och förstålig kod
- I tillägg till att påverkan på livcykelkostad så finns det många situationer där objektiv insyn i programvarans kvalitet kan vara avgörande – dvs att man konkret behöver kunna mäta kodkvaliteten.
SQALE bygger på en kvalitetsmodell, verktygsbaserade mätningar av olika kvalitetsegenskaper samt en analys av utfallet av dessa mätningar i relation till kvalitetsmodellen.
Vår erfarenhet
Vi har under lång tid arbetat med kvalitet i många olika situationer. SQALE har framgångsrikt används sedan 2005 och vi har i Sverige genomfört ett tjugotal projekt inom fordonsindustri, telekom, IT och off-shore. Kodmässigt har vi analyserat många miljoner rader kod (modellen är språkoberoende och vi har hittills studerat C/C++, Java och PLC). I flera fall har det handlat om att en beställare vill analysera sin leverantörer produkter.
Nicolás Martín-Vivaldi (nicolas.martin-vivaldi@addalot.se) arbetar på Addalot och har 20 års erfarenhet av process- och kvalitetsförbättringar. Huvudfokus är att vägleda organisationer att bli mer framgångsrika. Dessa uppdrag inkluderar olika modeller och tekniker såsom Lean-development, och olika mognadsmodeller (CMMI, SPICE, COBIT, ISDS).
Datum: 2012-07-01, måndadens skribent hos nohau