Automotive SPICE® (ASPICE) este un model de evaluare și îmbunătățire a proceselor pentru proiectarea de software și sisteme auto. Menținut de VDA QMC's Automotive Special Interest Group și aliniat la normele de măsurare ISO/IEC 330xx, ASPICE definește rezultatele pe care procesele ar trebui să le obțină, precum și dovezile care ar trebui produse la finalizarea cu succes a activității. Este independent de ciclul de viață, ceea ce înseamnă că echipele agile, cele cu model V și cele hibride se pot conforma, cu condiția să producă și să demonstreze în mod constant rezultatele așteptate. În timp ce ISO 26262 rămâne responsabilă pentru siguranța funcțională, ASPICE sprijină siguranța prin asigurarea faptului că procesele care creează produse de lucru relevante pentru siguranță sunt coerente, controlate și auditabile.
Această prezentare generală este destinată unui public dublu. Liderii și proprietarii de programe vor găsi o linie vizuală clară de la ASPICE la rezultatele de afaceri, cum ar fi previzibilitatea, pregătirea pentru audit și alinierea furnizorilor. Liderii de execuție și inginerii vor găsi îndrumări operaționale cu privire la porți, linii de bază, trasabilitate, revizuiri și aprobări care se potrivesc ciclurilor de viață existente mai degrabă decât să le înlocuiască.
ASPICE acoperă activitățile la care v-ați aștepta într-un program modern, cu utilizare intensivă de software și le leagă împreună astfel încât să se comporte coerent ca un întreg. Activitatea începe cu gestionarea cerințelor pentru a vă asigura că ceea ce intenționați să construiți este necesar, testabil și înțeles de toți. Cerințele mature au identități stabile, surse și justificări clare și criterii de acceptare neechivoce. Atunci când cerințele se modifică, aceste modificări sunt controlate și lasă o urmă. Arhitectura sistemului și a software-ului transpune intenția în structură: interfețele sunt definite, responsabilitățile sunt alocate și alegerile majore de proiectare sunt înregistrate împreună cu raționamentul lor. Arhitectura nu este o imagine statică, ci mai degrabă un contract viu care permite echipelor independente să colaboreze, ținând cont în același timp de preocupările legate de siguranță, securitate cibernetică și performanță.
Implementarea transformă proiectul în cod și configurație funcționale, punând accentul pe control mai degrabă decât pe stil. Se convine asupra standardelor de codare, se efectuează revizuiri, construcțiile sunt reproductibile și rezultatele lanțului de instrumente (de exemplu, analiza statică, testele unitare și acoperirea) sunt legate de elementele pe care le verifică. Integrarea este planificată progresiv în raport cu liniile de bază desemnate. Mediile, stub-urile și datele necesare sunt disponibile înainte de a fi necesare. Rezultatele sunt înregistrate astfel încât regresiile să poată fi explicate mai degrabă decât presupuse. Verificarea și testarea oferă o bază factuală pentru deciziile de lansare: fiecare cerință este verificată la nivelul corespunzător, rezultatele sunt legate de versiunea exactă testată, iar orice abatere intră într-un proces disciplinat de rezolvare a problemelor, în loc să fie acceptată în tăcere.
Configurarea și gestionarea schimbărilor oferă stabilitate. Produsele de lucru sunt identificate în mod unic; liniile de bază semnificative sunt înghețate la momentul potrivit; modificările sunt analizate în funcție de impactul lor și aprobate înainte de a fi încorporate; și orice livrare poate fi recreată exact așa cum a fost aprobată. Atunci când apar defecte, procesul de rezolvare a problemelor le duce de la detectare la închidere prin triaj, analiza cauzelor principale și acțiuni corective sau preventive. Acest lucru garantează că problemele nu reapar sub o altă formă. Asigurarea calității oferă o perspectivă independentă asupra tuturor acestor aspecte, confirmând că procesul convenit a fost urmat și că dovezile sunt fiabile. Managementul proiectului planifică și monitorizează activitatea, identifică riscurile și ia decizii de "merge/nu merge" bazate pe criterii și nu pe opinii. În multe programe, domeniul de aplicare include, de asemenea, monitorizarea furnizorilor și guvernanța lansării produselor. Așteptările și dovezile sunt definite cu partenerii încă de la început. Progresele sunt revizuite la intervale convenite și orice abateri sunt abordate în mod constructiv, dar ferm. Etapa finală este, de asemenea, gestionată riguros pentru a se asigura că ceea ce este lansat corespunde cu ceea ce a fost aprobat și comunicat clienților.
Pentru că ASPICE specifică rezultatele așteptate și dovezile care le dovedesc, îmbunătățirea devine un plan concret mai degrabă decât o aspirație. De exemplu, o cerință fără o legătură de testare, o construcție care nu poate fi reprodusă pornind de la o linie de bază sau o aprobare care se referă la "cea mai recentă", mai degrabă decât la o revizuire specifică, devine o lacună acționabilă cu un pas următor evident. Închiderea câtorva astfel de lacune sporește previzibilitatea, reduce lupta împotriva incendiilor și eliberează capacitate pentru remedieri mai profunde. După câteva cicluri, planificarea devine mai ușoară, riscurile ies la suprafață mai devreme, iar clienții vor observa diferența: mai puține modificări tardive și probleme de integrare și versiuni care sunt valoroase în sine.
Maturitatea ASPICE este evaluată pentru fiecare proces, mai degrabă decât ca o insignă unică pentru organizație. Scala variază de la nivelul de capacitate 0 la nivelul de capacitate 5. La nivelul 0, un proces este considerat incomplet deoarece nu își atinge scopul propus. La nivelul 1, procesul este executat, rezultatele preconizate sunt atinse și există dovezi că activitatea a fost realizată în mod real. La nivelul 2, este introdusă disciplina de gestionare: activitatea este planificată, monitorizată și controlată, iar produsele muncii sunt gestionate în cadrul controlului configurației. La nivelul 3, un proces definit este implementat în mod consecvent în cadrul proiectului pentru a se asigura că rezultatele nu depind de obiceiurile locale sau de eforturile individuale. La nivelul 4, procesul devine previzibil, fiind plasat sub control cantitativ în limite definite. Nivelul 5 instituționalizează inovarea prin îmbunătățirea bazată pe date. Evaluatorii stabilesc gradul de îndeplinire a atributelor relevante utilizând scara standard "Neîndeplinit/Parțial/Larg/În întregime îndeplinit". Pentru a revendica un nivel, toate atributele de la acel nivel și de la toate nivelurile inferioare trebuie să fie realizate în mare parte sau în totalitate. Nivelurile superioare semnifică repetabilitate și control mai degrabă decât perfecțiune. Majoritatea organizațiilor obțin cel mai mare randament progresând în mod fiabil de la nivelul 1 la nivelul 2 și apoi la nivelul 3 înainte de a urmări controlul cantitativ și inovarea pe scară largă.
În ASPICE se pune un accent deosebit pe două concepte: trasabilitatea și consistența. Trasabilitatea conectează ciclul de viață de la început până la sfârșit. O cerință începe cu o identitate, o sursă și o justificare clare și se concretizează în arhitectură și proiectare detaliată. Acest proiect este apoi implementat în cod sau configurație, iar verificarea și validarea demonstrează că a fost obținut comportamentul dorit. Istoricul problemelor, modificărilor și deciziilor rămâne, de asemenea, atașat aceluiași fir. Acest lucru vă permite să dovediți acoperirea și să efectuați o analiză a impactului real atunci când ceva se schimbă. Puteți vedea ce artefacte de proiectare, module de cod, cazuri de testare și documente trebuie să circule împreună și să verificați acest lucru înainte de semnare. Consistența asigură faptul că diferitele produse de lucru spun aceeași poveste în același timp. Elementele de proiectare își îndeplinesc cu adevărat cerințele, codul implementează interfețele și constrângerile specificate de arhitectură mai degrabă decât pe cele deduse, testele verifică comportamentul cerut de cerințe și permis de proiectare, iar nota de lansare descrie cu exactitate ceea ce este livrat. Menținerea consistenței împiedică contradicțiile să devină probleme de integrare, reducând refacerea, durata ciclului și riscul pentru siguranță și fiabilitate.
Alinierea furnizorilor se îmbunătățește atunci când ASPICE este aplicat cu claritate operațională. Stabilirea în prealabil a dovezilor necesare, a ritmului de raportare și a criteriilor de acceptare transformă integrarea în muncă planificată, mai degrabă decât în descoperire. Analizele de rutină în raport cu aceste așteptări, urmate de acțiuni corective dacă este necesar, fac ca progresul să fie vizibil, iar riscurile să fie explicite în întregul lanț de aprovizionare. Cerințele minime sunt simple: un set coerent de legături de urmărire către construcția testată, rezultate corespunzătoare conținutului declarat, un istoric controlat al modificărilor cu aprobări și un pachet de livrare a cărui documentație corespunde produsului livrat.
Predictibilitatea se îmbunătățește atunci când comportamentul este măsurat, astfel încât este util un set mic și ușor de măsurători. Acoperirea trasabilității arată dacă dovezile țin pasul cu schimbările. Rata primei treceri a porții indică dacă criteriile sunt realiste și dacă echipele se pregătesc în timp util. Timpul de rotație al schimbărilor dezvăluie blocajele din procesele de analiză sau de aprobare. Scurgerile de defecte din fazele anterioare în cele ulterioare evidențiază porțile slabe sau integrarea grăbită. Aceste măsuri nu sunt scopuri în sine; mai degrabă, ele informează cu privire la ajustările proceselor și facilitează atingerea unor niveluri mai ridicate de capacitate atunci când organizația este pregătită.
O abordare practică constă în compararea practicilor actuale cu procesele ASPICE de bază, selectarea câtorva lacune cu impact ridicat pe care să le abordați, definirea unor criterii clare de intrare și ieșire, stabilirea unor puncte de referință și configurarea unor identificatori stabili în instrumentul dumneavoastră de ciclu de viață. Apoi, testați aceste controale la următoarea livrare. Analizați rezultatele, abordați impedimentele principale și extindeți abordarea la procese suplimentare. ASPICE este apoi adoptat ca un set de obiceiuri disciplinate care se potrivesc contextului dumneavoastră, mai degrabă decât să înlocuiască complet modul în care lucrați.
În rezumat, ASPICE este o abordare bazată pe dovezi pentru a construi software auto mai previzibil, nu doar birocrație. Prin clarificarea a ceea ce trebuie realizat și a modului în care acest lucru va fi demonstrat, aceasta ajută organizațiile să își rafineze procesele, să demonstreze conformitatea și să colaboreze eficient cu clienții și furnizorii. Rezultatul practic este mai puține surprize, integrări mai ușoare și versiuni care rezistă în fața examinării. Rezultatul general este reprezentat de vehicule mai sigure și mai fiabile și de un avantaj competitiv real pentru echipele care aplică bine modelul. Dacă sunteți în căutarea unui punct de plecare structurat, luați în considerare efectuarea unei scanări concise a pregătirii și a unei autoevaluări ușoare pentru a identifica primele lacune și dovezile de care veți avea nevoie pentru a le aborda.