Maturitatea este o caracteristică de calitate software care evidenţiază modul în care se reflectă procesele de realizare a produselor software în produsul software. Se identifică cinci niveluri de derulare a proceselor de dezvoltare a produselor software.
Primul nivel să zicem iniţial este acela în care programatorii fac ceea ce cred ei că este bine pentru a face software, crezând că dacă lucrează empiric, produsul software chiar va fi excelent, lucru puţin probabil. El corespunde aprecierii după ureche a produsului software dacă este bun sau nu este bun.
Al doilea nivel corespunde situaţiei în care programatorii îşi dau seama că apar elemente repetabile în munca lor, că anumite module se regăsesc în mai multe produse software. Ei încep să lucreze ceva mai disciplinat, căutând să economisească muncă vie. Corespunde unei abordări empirice a calităţii produsului, după ce acesta a fost implementat, folosind înregistrări sporadice legate de modul în care funcţionează sau nu corect produsul.
Al treilea nivel corespunde situaţiei în care programatorii se documentează, folosesc standarde şi caută să refolosească componente, făcând economie de muncă vie, întrucât fluxurile pe care le definesc arată interesul lor pentru creşterea productivităţii şi calităţii produselor software pe care le realizează.
Al patrulea nivel este cel al managementului bazat pe utilizarea metricilor, încât produsul este proiectat cu o serie de caracteristici, iar în procesul de producţie se urmăreşte realizarea nivelurilor de calitate planificate. Se observă o evoluţie spre latura industrială, predictibilă a producţiei de software. Acesta corespunde managementului calităţii software.
Al cincilea nivel este cel al optimizării, managerii de proiecte urmărind creşterea eficienţei în toate sectoarele care concură la realizarea unui produs software. Este urmărită creşterea calităţii, implementarea de tehnici şi metode subordonate scopului urmărit, fără a porni de la idei preconcepute legate de resursele disponibile, dacă acestea nu sunt adecvate scopului definit. Este stadiul cel mai înalt al derulării proceselor de realizare a produselor software, în care diferenţele dintre ceea ce este planificat şi ceea ce se realizează efectiv sunt controlate strict, fără a depăşi limite considerate acceptabile, datorită măsurilor luate din timp de a gestiona riscurile. Acest stadiu corespunde managementului total al calităţii software, despre care mi-am exprimat rezervele legate de existenţa lui atât timp cât nu dispunem de cel puţin 2.000 km de autostradă ca să facem dovada că avem managementul calităţii.
|