Tech Blog – Co je ASPICE? Úvod do světa softwarové kvality v automobilovém průmyslu

Jindřich Balák

System and Software Quality Team Leader, vývojové centrum Valeo v Praze, Certified ASPICE Provisional Assessor

ASPICE

Automotive Software Process Improvement Capability and dEtermination


První věc, která mnoho lidí ve vývoji softwaru napadne ohledně výrazu “softwarové kvality”, jsou zvýšené náklady v projektu, práce nad rámec běžné pracovní náplně (kterou dosud dělat nemuseli), či dokonce některým může přijít na mysl, že oddělení kvality je nutnou přítěží, kterou vyžaduje pouze zákazník.

Co v praxi taková softwarová a systémová kvalita opravdu dělá?  

V případě, že žádné problémy na projektu nejsou, všechny procesy jsou správně implementované a žádné nálezy během vyhodnocení či auditů neexistují, pak právě takový je vysněný projekt každého kvaliťáka, protože v takovém případě se může soustředit jen a pouze na doručení svých vlastních úkolů (“deliverables”), provádění vyhodnocení a auditů na projektu, případně revize projektových dokumentů.
Projekty v reálném případě mají mnoho problémů a úskalí, s kterými se musi nejen vývoj, ale take kvalita potýkat.

Pravdou ale je, že softwarová a systémová kvalita řeší mnoho různých dalších aspektů projektu, jako jsou sledování vývoje projektu v čase, plnění předepsaných a odsouhlasených požadavků mezi zákazníkem a projektem, upozorňuje na problémy a také jim předchází, provádí různé audity a posouzení nejen na přidělených projektech, ale i nezávislé posouzení na základě požadavku z jiných Valeo vývojových center (v našem případě se může nacházet i na jiném kontinentu).

Proč potřebujeme ASPICE?

Komplexita v automobilovém průmyslu je čím dál tím větší a to včetně SW částí. Dříve se výrobci zaměřovali nejvíce na kvalitu a vývoj mechaniky, ale nyní se výrobci soustředí na SW automobilů, který se stává hlavní přidanou hodnotou vozů. Právě management a linkování požadavků jsou hlavní problematikou z pohledu komplexnosti, rozdílnosti automotive systémů a redukce rizik s nimi spojených. Vývojový cyklus produktů se zkracuje, tlak na efektivitu, doručování dodávek v čase a požadované kvalitě se stupňuje.  

Ve většině případů je Automotive SPICE základním předpokladem pro nové i stávající dodavatele evropských výrobců vozidel. 

Představení ASPICE

Automotive SPICE je hlavní model pro posuzování schopnosti a maturity procesů v automobilovém průmyslu. ASPICE v zásadě definuje nejlepší postupy pro embedded software.

ASPICE je standardem používaným pro zlepšování a hodnocení vývojových procesů mechatronických systémů se zaměřením na softwarové a systémové části produktu. 

ASPICE je aplikovatelný pro agilní metody i pro oblasti Functional Safety a Security. Aktuální automobily mají mnoho bezdrátových spojení s vnějším světem. Security oblast ve zjednodušeném pojetí automotive znamená, že při vývoji produktu jsou použité takové metody a ochranné mechanismy, které mají za úkol zabránit ovlivňování produktu přístupem zvenčí. Functional Safety se uplatňuje v automobilovém vývoji v systémech, jejichž nefunkčnost či jejich špatná funkce může ohrozit zdraví posádky.   

Přehled jednotlivých úrovni maturity, tzv. Capability levelů (CL.x) v pyramidě.

  • CL 0 – nebyl dosažen žádný level, procesy nejsou implementovány nebo nesplňují jejich účel
  • CL 1 – implementace procesů splňuje jejich účel
  • CL 2 – procesy jsou implementované, řízené a všechny WP jsou existující, pod kontrolou a udržovány (aktuálně nejčastěji zákazníky vyžadovaný ASPICE CL. ) 
  • CL 3 – procesy jsou implementované na základě definovaných procesů a dosahují požadovaných výstupů 
  • CL 4 – procesy fungují prediktivně v definovaných mezích a dosahují výstupů
  • CL 5 –   processy se stalé zlepšují, aby reagovali na změny v souladu s cíli organizace

ASPICE assessment

Cílem posouzení (assessment) je získání informace o stavu projektu z pohledu procesů a jejich implementace na daném projektu v určitém časovém bodě a podle definovaného standardu. ASPICE assessment je v mnoha případech vyžadován zákazníkem (a také se ho poté i účastní), kdy zákazníka zajímá odhalení problémů a aplikované postupy a procesy na projektu. Také zda je maturita projektu ve fázi slíbené zákazníkovi, tzn. ověření při účasti zákazníka, zda vývoj produktu po dvou ze třech plánovaných let je v pokročilé fázi, nikoliv teprve ve fázi počáteční. Má to souvislost i s tím, že se zákazník může finančně podílet na samotných vývojových nákladech. 

 

ASPICE assessment se skládá z :

R&D tým

Vývojový tým alokovaný na příslušný projekt.

Místní koordinátor ASPICE

Podporuje správnou organizaci assessmentu, kooperuje s Lead assessorem a R&D týmem, ale zároveň by neměl zasahovat do průběhu assessmentu tak, aby ovlivnoval hodnocení R&D týmu. Toto naopak může podpořit během assessmentu Procesní inženýr.

Lead Assessor

Je hlavním členem týmu, řídí assessment a prezentuje výsledky assessmentu R&D týmu a vedení firmy. 

Co-Assessor nebo více Co-Assessorů 

Může se jednat o zákazníka, který si assessment vyžádal, případně o další interní nezávislé assessory, kteří se podílí na výsledcích hodnocení assessmentů. Ve většině případu se jedná o rozsáhle projekty, kde je alkováno mimo Lead Assessora celkem 3-5 Co-Assessorů, samožřejmě v závislosti na velikosti daného projektu. 

Assessor musi mit platnou certifikaci Intacs.

V tabulce níže je možné vidět příklad výsledku hodnocení projektu podle procesů:

 

Popis hodnocení jednotlivých PA (procesních atributů, kde PA1. = CL1, PA2.1+PA2.2 = CL2, atd.):

  • N = Nedostatečné
  • P = Částečně dosažené
  • L = Téměř dosažené 
  • F = Plně dosažené

Procentuální rozsah hodnocení pro NPLF:

Process reference model, přehled jednotlivých procesů dle VDA ,které jsou označené červeným rámečkem. Procesy jsou rozřazeny do tří základních životních cyklů: 

  • Podpůrné       VDA: ACQ.4 – monitorování dodavatelů

                         VDA: SYS.x a SWE.x – Inženýrské procesy vývoje

  • Organizační    VDA: MAN.3 – projektový management
  • Podpůrné       VDA: SUP.x – Kvalita, změnový, konfigurační a problém management.

Od roku 2021 přibyla nová procesní skupina SEC z důvodu VDA Automotive SPICE for CyberSecurity.

Klíčový koncept (V-model, standard vs. process, traceability)

Není cílem zde vysvětlovat pravidla vývoje a popis pravidel prolinkování Doors modulů na jednotlivých levelech. Moduly v systému IBM Doors lze v jednoduchosti vysvětlit kupříkladu jako souhrn požadavků a jejich atributů do těchto tzv. modulů podle jejich určení.( Např. SYS.1-5, SWE.1-6, STKHLD, apod.). Provázany mohou být jednotlivé požadavky horizontálně na jednotlivé testy v testovací specifikaci, vertikálně, případně mohou být provázany i v rámci stejného modulu mezi sebou. Důležité z pohledu ASPICE je také sledování nastavených procesů dle standardů v projektu, a také zda jsou projektem následovány a naplňovány.

Časté problémy na projektech z hlediska ASPICE

  • Omezené lidské zdroje na projektu, kdy se výsledky tvoří způsobem ,,quick and dirty, což způsobí problémy v budoucích fázích projektu a jejich retrospektivní opravy. Tento způsob je méně efektivní, vice nákladný a zmatený, ale bohužel někdy nevyhnutelný.
  • systémová a softwarová kvalita není všespásná, konkrétně mám na mysli přístup stylem ,,Ty jsi zodpovědný za ASPICE, takže za nesplnění či nedosažení nastaveného cíle může kvalita. , Toto tvrzení je naprostý omyl, a to i naopak: myslet si, že pokud úspěšně projekt dosáhne svých cílů, tak to není zásluhou jen kvality. Vždy jde o spolupráci vývojového týmu a oddělení kvality, ani bez jednoho z nich není možné uspět. 
  • Podcenění monitoringu projektu / implementace nástrojů pro sledování stavu projektu s časovým zpožděním. V tomto případě se jedná především o to zajistit správné nastavení filtrů pro atributy požadavků, implementace V-model reportu, tedy stavu zákaznických požadavků a jejich sledovatelnosti. V takovém případě může projekt mylně nastavit priority pro implementace požadavků, jejich testování a následné doručení softwarového balíčku s jinými funkcionalitami, které v tu danou chvíli nejsou očekávány zákazníkem a naopak nedoručení požadovaných funkcionalit v daném software release.

Pokud vás problematika ASPICE zaujala, doporučuji si podrobně přečíst kompletní ASPICE standard: Automotive SPICE 3.1  a Automotive SPICE for CyberSecurity