Defectes de sistemes: Confiem en els nostres mètodes per gestionar-los?
El passat 29 de juny va tenir lloc a GMV un seminari web de caràcter intern en el qual oradors de diverses sectorials i amb diferents visions i necessitats van debatre entorn del tema “Defectes de sistemes: confiem en els nostres mètodes per gestionar-los?”.
L’origen d’aquest esdeveniment va ser una notícia publicada en mitjans digitals en la qual s’informava que el pentàgon havia trobat a l’última campanya de proves gairebé 900 defectes de programari al caça F-35, alguns dels quals d’alta criticitat i tan cridaners com que el canó de 25 mm que equipa l’avió no funcionava bé i la seva precisió era “inacceptable” quan es tractava de batre objectius a terra.
Aquesta notícia va ser objecte de debat intern dins del Departament de Qualitat i RAMS (Reliability, Availability, Maintainability and Safety) de GMV. Ens preguntàvem: són molts 900 defectes? són pocs? La quantitat de defectes podria semblar molt gran, però quants d’ells podrien tenir conseqüències realment greus o catastròfiques? Tot això ens va fer plantejar, així mateix, si algun dels sistemes que hem desenvolupat o estem desenvolupant actualment a GMV pogués arribar a tenir tal quantitat de defectes “escapats al client”, així com quines serien les hipotètiques conseqüències si, a més, algun d’aquests defectes pogués resultar en un incident de caràcter greu o catastròfic. Totes aquestes qüestions van servir de motivació per organitzar el seminari web esmentat.
Durant aquest es va assenyalar que un aspecte important que cal tenir en compte a l’hora de valorar la qualitat d’un desenvolupament, a més del nombre de defectes que s’hagin pogut escapar al client, era la criticitat d’aquests, que ve determinada per les conseqüències de les fallades que puguin ocasionar. Aquest és un aspecte que el Sistema de Gestió de Qualitat de GMV preveu en el sentit que és adaptable en funció del nivell de criticitat del sistema que calgui desenvolupar. Per això, els projectes de desenvolupament es categoritzen en “Projectes de Desenvolupament Operacional” i “Projectes de Desenvolupament Operacional Crític” i s’ajusten els processos, procediments i pràctiques base del Sistema de Gestió de Qualitat en funció que es tracti d’una o altra categoria de projecte. Aquest ha estat un dels elements clau a l’hora d’implantar una metodologia de desenvolupament eficient.
En el cas dels “Projectes de Desenvolupament Operacional” no crític s’ha establert un conjunt mínim de pràctiques base que ens estan permetent desenvolupar productes d’alta qualitat i a un cost òptim.
Entre els elements que ha facilitat assolir aquest objectiu, hi ha disposar d’un model predictiu de defectes programari que permet estimar des de fases inicials dels projectes i en funció dels defectes que es van detectant en les diferents activitats de verificació i validació, la qualitat del programari que es lliurarà, i també permet identificar accions correctives quan les dades puguin indicar que l’esmentada qualitat pot ser deficient. Aquest model permet controlar, així mateix, el cost dels defectes, fet que enllaça amb l’objectiu de ser eficients a l’hora de gestionar els defectes.
Es tracta d’una eina molt potent de la qual, en general, no disposen altres empreses del sector aeronàutic i que només empreses com GMV, que han assolit un nivell de maduresa 5 (el màxim) segons el model de millora CMMI, han desenvolupat.
Així mateix, cal esmentar que en tots els projectes de GMV s’han institucionalitzat de manera molt generalitzada i rigorosa un conjunt de pràctiques eficients a l’hora de detectar defectes en fases anteriors a les proves, com són les inspeccions formals de codi (que poden arribar a detectar fins a un 66% dels defectes totals que troben al llarg de tota la vida del producte) i les revisions formals de requisits i disseny.
Totes aquestes pràctiques i eines permeten a GMV lliurar productes que si bé no estan exempts de defectes (convé recordar aquí que tot producte lliurat per qualsevol empresa té defectes), sí que tenen una excel·lent qualitat, amb una baixa taxa de fallades quan l’està utilitzant el client i tot això sense incórrer en sobrecostos per assolir aquest nivell de qualitat. En el cas de desenvolupaments programari aquesta taxa de defectes escapats al client està per sota d’1 defecte per cada mil línies de codi.
Respecte dels “Projectes de Desenvolupament Operacional Crític”, no només es tracta de lliurar productes amb una taxa de fallades petita sinó també d’evitar que s’escapi cap fallada que pugui arribar a tenir conseqüències catastròfiques o greus. Per aconseguir aquest objectiu, d’una banda, s’apliquen activitats de verificació més rigoroses i, per una altra, es duen a terme unes exhaustives anàlisis de RAMS. GMV disposa d’una consolidada metodologia de RAMS que s’aplica en els “Projectes de Desenvolupament Operacional Crític” per tal d’identificar i implementar requisits i recomanacions addicionals orientats a evitar que ocorrin fallades de naturalesa severa. Tenint en compte que, segons alguns estudis de l’estat de l’art relatius a la qualitat SW, els defectes de severitat alta són majoritàriament de disseny/requisits, les activitats d’enginyera RAMS, que es basen en anàlisis d’alt nivell dels esmentats elements, constitueixen la millor garantia per evitar els defectes severs que puguin conduir a incidents de conseqüències catastròfiques o greus.
En vista dels arguments presentats abans i d’altres d’exposats al llarg del seminari web, la impressió general entre els participants va ser que GMV disposa d’una sòlida metodologia de desenvolupament que permet una gestió eficient dels defectes.
Autor: Santiago Ledesma