Calitatea produselor software este într-o creştere continuă şi odată cu această creştere se diversifică şi criteriile de evaluare a calităţii. Această diversificare a apărut, atât în urma evoluţiilor tehnologice dar şi de nevoia de a furniza produse şi servicii competitive.
La un moment dat a fost evident că absenţa unor buguri într-o aplicaţie nu era suficientă pentru garanta calitatea unei aplicaţii. Aceasta a făcut ca în prezent eforturile să se concentreze în zona calităţii interacţiunii dintre un operator uman şi un produs software. Pentru multă vreme, criteriile asociate gradului de satisfacţie a utilizatorilor erau considerate pur şi simplu extravaganţe sau aberaţii contractuale. Utilizatorul era singurul blamat pentru greşeli de utilizare, cu pretextul că a evitat aceeaşi greşeală în alte 99 de cazuri. De altfel, utilizatorii înşişi dezvoltau mai degrabă abordări alternative, work-around-uri, decât să ridice problema "dificultăţii în utilizare" unui manager sau unui furnizor de servicii.
Paradoxal, nevoia de a ţine cont de percepţia utilizatorilor a apărut impusă de creşterea concurenţei dintre furnizorii de produse IT şi nu de cererea utilizatorilor direcţi. În zilele noastre, un produs destinat publicului larg care nu ţine cont de preferinţele acelui public este sortit eşecului fără drept de apel.
Primul pas a fost făcut prin optimizarea interfeţei, a obiectelor vizuale, cu care un utilizator interacţiona direct. Această acţiune era situată în general spre sfârşitul procesului de dezvoltare. Rolul componentelor vizuale a devenit mai clar, informaţia în format grafic a început să înlocuiască informaţia de tip text, instrumentele de ajutor au devenit mai eficiente.
În prezent, metodologiile IT care au plasat operatorul uman în centrul proceselor sale, au făcut ca aspectul vizual al unei aplicaţii software să fie definit în etapele incipiente şi, concentrează rezultatele unor sarcini care au loc cu mult înainte de a scrie prima linie de cod.
Astfel, sunt identificate şi definite categoriile de utilizatori, obiectivele lor, sarcinile pe care aceştia trebuie să le execute şi contextul în care acele sarcini sunt executate. Toate datele iniţiale sunt ajustate de-a lungul unei serii de procese iterative şi interactive cu participarea directă a utilizatorului final. În acest fel, punctele negative în utilizarea unui produs sunt identificate de la începutul dezvoltării, ajustarea lor necesită semnificativ mai puţine resurse, iar produsul final este adoptat mult mai uşor de către utilizatori.
Impactul unei asemenea abordări s-a dovedit suficient de important încât o întreagă familie de standarde ISO să îi fie dedicate în exclusivitate. (ISO 9241 - Ergonomis of Human-System Interaction, ISO 25000 - Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE)).
De altfel, principala consecinţă a adoptării unei asemenea metodologii este enunţată explicit în standardul ISO 9241:210 (2010) "Human-centred design for interactive systems": creşterea productivităţii utilizatorilor şi a eficienţei operaţionale a organizaţiilor.
O funcţionalitate simplă, de exemplu un convertor valutar, deşi este utilizată în acelaşi fel, poate fi integrată în mod radical diferit în funcţie de tipurile de utilizatori, fluxurile de lucru implicate şi contextul de utilizare.
În forma sa cea mai cunoscută, un convertor valutar permite selecţia de către utilizator a două valute diferite şi calculul de către sistem a valorii unei cantităţi din prima valută în cea de-a doua. Cu toate acestea, scopul pentru care este dorită această conversie face ca integrarea funcţionalităţii într-o aplicaţie să varieze semnificativ.
Interdependence of human-centred design activities - ISO 9241:210 (2010) /pg 11
De exemplu, dacă scopul este integrarea într-o aplicaţie de facturare, trebuie avut în vedere că aplicaţia va fi accesată în general de către personal cu o calificare medie, care o utilizează frecvent, folosind dispozitive variate (fixe şi mobile). Utilizarea frecventă este asociată cu un risc crescut de apariţie a erorilor umane. În acest context, se recomandă utilizarea unei interfeţe simplificate, folosind cuvinte din vocabularul comun, cu minimizarea intervenţiei utilizatorilor (selecţii din liste predefinite, utilizare de stiluri şi formate unice, etc.). Conversia dintr-o valută în alta ar putea fi complet executată de către sistem, în cazul în care utilizatorul selectează doar serviciul ce urmează să fie facturat şi furnizorul acestuia.
Pe de altă parte, utilizarea convertorului valutar în vederea stabilirii unei politici bancare pe termen lung este cel mai probabil făcută de personal înalt calificat, cu o frecvenţă de utilizare mai redusă (2-3 ori pe an) şi se face în general de pe dispozitive fixe, utilizând simultan surse de informare suplimentare (monitoare multiple). Astfel, aplicaţia ar trebui să utilizeze în descrieri termeni specifici, să permită particularizarea fluxurilor de lucru şi a modului de organizare a informaţiei. Funcţionalitatea care permite conversia valutelor devine explicită şi contextuală (atât datele de intrare cât şi modul de utilizare a datelor de ieşire variază de la un context la altul).
Exemplu de mai sus este teoretic şi a fost selectat pentru a ilustra antagonismul unor situaţii posibile. Cu toate acestea, cazurile reale întâlnite în practică pot fi de multe ori spectaculoase prin diferenţele majore dintre presupunerile iniţiale şi rezultatul cercetărilor asociate domeniului de User Experience.
Parametrii de calitate ai unui produs software, prezentaţi în continuare, au fost selectaţi tocmai pentru caracterul lor general. Nu sunt exclusivi şi în mod sigur pot fi rafinaţi atunci când le sunt asociaţi indicatori numerici.
Aceştia sunt:
Eficacitatea, definită ca posibilitatea unei aplicaţii de a permite satisfacerea corectă şi completă a unei nevoi a utilizatorilor.
Eficienţa reprezintă posibilitatea unei aplicaţii de a fi eficace utilizând o cantitate rezonabilă de resurse. Caracterul "rezonabil" este impus de tipul de resurse la care se face referire: acestea pot fi atât de natura financiară sau materială, cât şi asociate efortului cognitiv (cognitive workload) al utilizatorilor. Prin efort cognitiv se înţelege, spre exemplu, atenţia, memoria sau uşurinţa în învăţare.
Absenţa riscurilor în utilizare: probabil acesta este parametrul cel mai uman dintre toate. Rolul său este de a diminua riscurile generate de oboseală, neatenţie sau necunoaştere.
Din lista de mai sus, parametrul cel mai important din punctul de vedere al finanţatorilor, al celor care sunt Business Owners rămâne, Eficienţa. Oricât de mult ar creşte gradul de atenţie acordat utilizatorilor unei aplicaţii, obiectivele utilizatorilor vor fi întotdeauna subordonate obiectivelor finanţatorilor. Indiferent dacă este vorba de o maximizare de profit sau de promovarea unui respect mai mare pentru formele de viaţă pe cale de dispariţie, eficienţa instrumentelor utilizate este critică pentru însăşi existenţa produsului respectiv.
Utilizând o abordare orientată spre utilizatorul final, dezvoltarea unui produs reuşeşte să combine interesele variate ale tuturor celor care beneficiază direct sau indirect de pe urma acelui produs. Implementarea unei asemenea abordări într-o organizaţie necesită de multe ori o schimbare de paradigmă, de politică managerială, şi asta poate face ca procesul de implementare să fie condiţionat de asumarea lui explicită de către Top Managementul organizaţiei.
de Ovidiu Mățan
de Ovidiu Mățan
de Ovidiu Mățan
de Ovidiu Mățan
de Ovidiu Mățan