給伙伴們匯報下近況,最近一段時間由于全身心高強度投入到VCU(整車控制器)軟件開發(fā)項目中,所以公眾號很久沒更新了。
項目開發(fā)過程中,為了保證VCU軟件質量,我們重點研究了ASPICE。在此,我們把ASPICE相關內容進行了梳理,和大家做個分享交流。
ASPICE全稱為“Automotive Software Process Improvement and Capacity dEtermination”,即汽車軟件過程改進及能力評定,是汽車行業(yè)用于評價軟件開發(fā)團隊研發(fā)能力水平的模型框架標準,目的是指導汽車零部件研發(fā)廠商的軟件開發(fā)流程,從而改善車載軟件質量。
多年以來,ASPICE在歐洲汽車行業(yè)內被廣泛用于研發(fā)流程改善及供應商的研發(fā)能力評價。隨著近年車聯網、智能駕駛、新能源汽車的迅速發(fā)展,軟件在汽車研發(fā)中的占比激增,企業(yè)對軟件質量管理的需求不斷增強,ASPICE逐漸被引入到國內,被國內的企業(yè)所熟知。另一方面隨著TS16949的改版,對企業(yè)提出定期審核的要求,也對ASPICE在國內的應用起到的極大的促進作用。
【1986年CMM】CMM是由卡耐基梅隆大學(CMU)的軟件工程研究所(SEI)于1986年在美國防部(DOD)的贊助下開發(fā)的一個用于評價企業(yè)研發(fā)能力水平的模型,其目的是幫助軟件企業(yè)對軟件工程過程進行管理和改進,增強開發(fā)與改進能力,被廣泛用于軟件流程改善和軟件研發(fā)團隊能力評價。
ASPICE模型最初是在CMM基礎上發(fā)展起來的,最初的ASPICE模型幾乎與CMM完全一致,評估結果可直接轉換、CMMI評估師也可以直接獲得ASPICE審核員資質(近年已改變)。
CMMI適用于所有軟件研發(fā)團隊,ASPICE僅僅用于汽車行業(yè)的軟件研發(fā)團隊,CMMI遵從并不意味著一個組織或項目自動遵守ASPICE。盡管這兩種標準在核心概念上看起來是一樣的,但它們使用不同的過程評估模型,而且在流程領域的實現中也存在差距。
由于ASPICE是為汽車行業(yè)開發(fā)的,因此對于OEM或供應商組織來說,與行業(yè)其他部門保持一致是一個更好的選擇。對于已經適應CMMI并希望實施ASPICE同時,詳細分析當前流程與ASPICE之間的差距也是最好的起點。
【1994年SPICE】 1994年國際標準化組織ISO、國際電工委員會IEC、信息技術委員會JTC1聯合制定并發(fā)布了國際標準ISO/IEC15504,又稱SPICE。 包括: 汽車行業(yè)的SPICE;醫(yī)療設備行業(yè)的SPICE;航天行業(yè)的SPICE
【2005年ASPICEV2.0】2005年汽車行業(yè)的SPICE:Automotive SPICE從ISO體系中獨立出來,由德國汽車工業(yè)聯合會(VDA)的質量管理中心(QMC)運營發(fā)展,發(fā)布了ASPICE第一個版本:ASPICE V2.0。
【2010年ASPICEV3.0】2010對ASPICE做了一些結構上的修訂,包括將PRM和PAM合二為一、將ENG工程過程組拆分為SYS系統工程組和SWE軟件工程組、五級名稱變化等。
【2018年ASPICEV3.1】2018年發(fā)布了當前最新版本ASPICE V3.1,v3.1在v3.0的基礎上做了一些微小改動,并將HIS SCOPE改名為了VDA SCOPE。
ISO26262是道路車輛功能安全標準,針對安全相關功能的研發(fā)活動中如何進行安全管理,給出的了具體標準,包括具體流程和方法。ISO26262中明確要求企業(yè)建立可以持續(xù)的實施改善活動組織體系和環(huán)境
ASPICE只是對過程的要求,ISO26262功能安全不光有過程要求,還有對產品設計開發(fā)的技術要求和具體技術細則,并且功能安全集中關注安全相關內容。ASPICE流程與ISO26262功能安全流程在主要生命周期的系統過程域和軟件過程域、支持生命周期過程域大部分流程要求相似,但也有差別,不能完全等同。二者都能從某種程度上提高軟件質量水平。
ASPICE三級中明確要求建立相關流程體系和組織環(huán)境,因此實施ASPICE同事有助于滿足SIO26262中相關要求,而另一方面ISO26262中給出了研發(fā)生命周期的具體流程和方法指引也有助于企業(yè)實施ASPICE
對于汽車行業(yè)來說,“安全”和“質量”永遠都是不可忽視的兩個重要因素。而且隨著軟件定義汽車、自動駕駛時代的來臨,汽車軟件的質量安全甚至直接關乎到人身安全。ASPICE作為一套專門針對汽車電子與軟件開發(fā)過程成熟度的評估模型,有著重要的意義。
ASPICE最初由歐洲20多家主機廠認識到軟件質量的重要性之后,制定的一個規(guī)范,目的是指導供應商的軟件開發(fā)流程,改善車載軟件的質量。隨著智能網聯、自動駕駛、新能源汽車的發(fā)展和軟件定義汽車的時代要求,軟件在汽車研發(fā)中的占比激增,軟件質量管理的需求日益增強,所以ASPICE的重要性日益凸顯。目前ASPICE是國內外眾多主機廠對軟件開發(fā)相關供應商的強制要求,通過ASPICE評估供應商的過程能力,并以此作為供應商的選擇標準。
對供應商來說: 借助ASPICE評估模型的指導,供應商軟件開發(fā)可以逐步完成對現有流程的查漏補缺,建立了一套相對成熟的流程體系,減少由于產品開發(fā)后期發(fā)現的質量問題而對產品開發(fā)造成的成本影響。未來不僅可以滿足全球主流整車廠嚴苛的軟件質量要求,也可以實現不同項目之間的匹配,以便靈活的應用在更多項目中,不僅在專業(yè)開發(fā)領域有機會搶占更多先機,也會更加有利于公司與全球各個整車廠進行更高層次的技術與產品合作。
對整車廠來說: 整車廠可以使用ASPICE框架在供應商選擇過程中評估供應商的過程質量能力。整車廠可以將自己的系統開發(fā)過程定義為符合ASPICE標準,這將有助于評估和提高流程能力。目前各個汽車行業(yè)都進入了域控及自動駕駛賽道,軟件的重要度越來越高,作為對汽車軟件質量評估的重要標準,ASPICE嚴謹的審核體系,不僅可以作為他們判斷供應商開發(fā)能力及自主軟件開發(fā)能力的評估指南,而且也可以幫助改善自身流程,建立滿足功能安全要求的流程體系,從而有效保證軟件安全,最終保證整車的安全和質量。
無論工業(yè)4.0、智能制造還是自動駕駛,汽車工業(yè)正面臨著新的挑戰(zhàn),軟件正在越來越多領域的產品中成為核心,并對車輛中現有系統交付的功能水平產生重大影響,軟件的作用在未來會越來越重要。正因為如此,ASPICE特地強調了汽車領域的組織提高他們的軟件開發(fā)能力,以處理不斷增加的系統復雜性。相信未來,隨著軟件技術的不斷升級,ASPICE將在持續(xù)幫助行業(yè)改進和優(yōu)化生產全流程中,發(fā)揮越來越核心的價值。
ASPICE主要內容包括了符合性聲明,過程能力確定,過程參考模型和實施指標,過程能力等級與過程屬性。
ASPICE 過程評估模型及過程參考模型符合 ISO/IEC33004,可作為實施過程能力評估的基礎來使用。ISO/IEC 33020 是用作符合 ISO/IEC 33003 標準的度量框架。
ASPICE過程能力確定包含三個部分,分別為過程參考模型、度量框架、過程評估模型。
使用過程評估模型來確定過程能力的概念是基于一個二維框架。第一個維度是由過程參考模型(過程維度)定義的過程來提供。第二個維度是由進一步細分到過程屬性的能力等級(能力維度)所構成。過程屬性提供了過程能力可度量的特性。
過程評估模型從過程參考模型中選擇過程并增補了指標。這些指標支持收集客觀證據,使評估師能夠根據能力維度對過程進行評定分配,他們之前的關系如下圖所示:
ASPICE將汽車系統研發(fā)過程劃分為了32個過程,并將這32個過程歸類到3大類(主要生命周期20個過程,組織生命周期5個過程和支持生命周期7個過程)、8個過程組(獲取過程組;供應過程組;系統過程組;軟件工程組;支持過程組;管理過程組;重用過程組;過程改進過程組)。
實際項目評估中,由于考慮到性價比和項目范圍,通常評估時不會包括所有過程,而是根據被評估項目的具體情況選擇被評估的過程域。目前國內外主機廠在對供應商審核時通??疾?6個重點過程域,叫VDA Scope(以前的HIS Scope),多數審核選擇對這16個過程進行審核。當然,也有個別主機廠會對額外的過程有要求。
HIS:德文Hersteller Initiative Software;英文EOM Initiative Software;EOM所倡導的供應商。HIS成員:奧迪、寶馬、奔馳、保時捷、大眾,主要致力于軟件產品和過程的標準化。HIS定義的ASPICE過程是HIS成員對供應商的最低要求,需要通過其中16個過程,能力達到3級。2016年HIS解散,VDA QMC將HIS Scope改名定義為VDA Scope。
所有過程依據過程類別進行分組,并根據他們所處理活動的類型在過程組內進一步劃分。每個過程都以目的陳述來描述。目的陳述包括,在特定環(huán)境下執(zhí)行時過程的特有功能性目標。針對每個目的陳述,都有一個相關聯的特定成果清單,作為過程實施的預期正面結果的清單。針對過程維度,Automotive SPICE 過程參考模式提供了過程集合如圖。
度量框架主要繼承ISO/IEC 33020中的定義,包括過程能力基本和過程屬性、過程屬性評定、評分規(guī)模、評分方法、合計方法、流程能力等級模型等
度量框架為能力維度提供了必要的需求和規(guī)則。它定義了一個可使評估人員確定對象過程的能力級別的模式。這些能力級別被定義為度量框架的一部分。為了能夠進行評定,度量框架提供了定義過程能力的有可度量特性的過程屬性。每個過程屬性被分配到特定的能力級別。某個過程屬性達成的程度是基于已定義的評定尺度的評定方式來表示。評估師對對象過程的最終能力級別的導出規(guī)則是由過程能力等級模型來表示。
過程評估模型過程評估模型提供了指標,以識別過程成果和過程屬性成果(成就)在項目和組織單位的實例化過程中是存在還是缺失的。這些指標為評估師收集必要的客觀證據提供了指導,以支持能力的判定。這些指標不應被視為必須遵循的檢查單集。為了判斷過程成果和過程成就的存在還是缺失,評估需要獲取客觀的證據。所有證據是來自對工作產品和被評估過程的存儲庫內容的檢查,以及來自被評估過程的執(zhí)行者和管理者提供的證詞。將證據映射到 PAM 指標,以允許建立與相關過程成果和過程屬性成就的對應關系。有兩種指標:
-- 過程實施指標 ,其只適用于能力級別 1 級。它們提供了過程成果實現程度的指示。
-- 過程能力指標 ,其適用于能力級別 2 級到 5 級。它們提供了過程屬性成就實現程度的指示。
評估指標是用來確認某些實踐得到執(zhí)行,就如評估中收集的證據所顯示的。所有這樣的證據來自被評估過程的工作產品的檢查,或者來自過程執(zhí)行者和管理者所做的陳述?;緦嵺`和工作產品的存在提供與它們相關的過程的實施的證據。同樣,過程能力指標的存在提供了過程能力的證據。獲取的證據應以與相關指標明確關聯的形式進行記錄,以支持按 ISO/IEC33020 要求對評估師的判斷進行確認或驗證。
過程維度中的過程可取自 ASPICE 過程參考模型,該內容包含在下表中由左側紅色豎線顯示的部分。與過程維度中各個過程相關的表包含過程參考模型(由紅色欄顯示)和定義過程評估模型所需的過程實施指標。過程實施指標是由基本實踐(由綠色欄顯示)和輸出工作產品(由藍色欄顯示)所構成。
前文已提到,過程參考模型所有過程依據過程類別進行分組,并根據他們所處理活動的類型在過程組內進一步劃分??偣灿?3 個過程類別程,總共有8個過程組,標準里面8個組的每個子內容都按照過程ID、過程名稱、過程目的、過程成果、基本實踐、輸出工作產品6個流程進行評估。
我們以軟件工程組(SWE)中的軟件架構設計(SWE.2)為例,說明過程參考模型的內容和實施指標,具體過程如下:
過程能力指標是達成所考慮的過程屬性指定的能力的方法。
過程能力指標的證據支持對過程屬性的達成程度的判斷。過程評估模型的能力維度由與ISO / IEC 33020定義相匹配的六個能力等級組成。過程能力指標是對包含在過程能力等級1到等級5的能力維度中的9個過程屬性進行描述。該過程評估模型中的每個過程屬性與過程度量框架中定義的過程屬性相同。通用實踐指出每個過程屬性的特征。通用資源與整體的過程屬性相關聯。過程能力等級0級不包括任何類型的指標,因為它反映了未實施的過程或未能部分實現其任何成果的過程。
ASPICE根據企業(yè)管理的細致和嚴謹程度不同,將企業(yè)的軟件研發(fā)能力劃分為6個級別,0級為最低級,5級為最高級。級別越高代表研發(fā)項目出現意外情況的可能性更低,企業(yè)對項目和產品的成功掌控力越強,越有能力按時向客戶交付高質量的產品。6個等級的說明如下:
在引入ASPICE之前,企業(yè)通常已經存在一定的流程和規(guī)范,只是這些沒有被白紙黑字寫下來,因此,說是從頭引入ASPICE,倒不如說是在現有的基礎上嘗試做到標準的要求。由于高度定制化,因此市場上幾乎沒有可共享的文件,這也讓想引入ASPICE的公司造成相當大的困難,對于一個企業(yè)來說,導入ASPICE后,需要有專職人員整體把握ASPICE要求,參與所有過程方案的討論和制定,還需要有實施具體過程階段的代表人員,參與該階段過程與技術方案的討論和制定,與之前沒有導入ASPICE開發(fā)方法相比較,項目的研發(fā)人力投入可能會增加1倍。如果要引入ASPICE,需要步驟如下:
了解ASPICE的基礎概念。培訓主要有兩種,分別是ASPICE標準解讀訓練和ASPICE助理評估員培訓。
確認當前公司現行的作業(yè)流程與ASPICE標準定義的差距,并通過由差異分析來規(guī)劃后續(xù)所需要的資源。一般來說差距分析前,需要做如下準備:(1)當前已執(zhí)行的流程和相關的證據;(2)企業(yè)現存的標準流程;(3)公司現有的工具;(4)公司未來要發(fā)展的標準和流程。
定義并編寫ASPICE流程范圍的所有流程,程序,指導書,表單,查檢表,并建立工具及工具操作說明書。
依據所定義流程,結合項目的開發(fā),執(zhí)行定義的全部流程,并保留全部的流程證據。
針對已執(zhí)行的專案,執(zhí)行預評估并找到執(zhí)行上的落差,并作為下一個工程流程(V模型)執(zhí)行時的改善,提高正式評估通過的可能性。
針對已執(zhí)行的專案,執(zhí)行正式評估,評估完成后,將會收到正式的評估結果。
ASPICE評估的有效性是只對評估項目有效,對其他項目無效,有效期為1年。
ASPICE評估對象是項目,而不是產品或公司體系。ASPICE評估只能證明一個公司某個項目在某個時間段的過程能力情況。假設一個公司項目通過ASPICE CL2評估時,說明該公司被評估項目X的相關被評估過程達到了CL2能力度等級。但并不能說明該公司其他項目Y也達到了CL2能力度級別。
被評估項目如果沒有發(fā)生變更(包括開發(fā)過程調整、組織結構調整、人員替換等),則可以認為評估結果在12個月之內是有效的。
在主機廠考察供應商時,如果供應商在幾個月前的項目中實施了一次ASPICE評估結果,則主機廠可能會認為企業(yè)目前的過程能力可接受。但如果供應商在幾年前的項目中實施了一次ASPICE評估結果,則主機廠可能不會接受。這個具體可接受的時間期限依不同OEM而定,不能一概而論。
在Automotive SPICE領域,沒有機構去執(zhí)行和管理評估,而完全由評估師個人進行ASPICE評估并簽發(fā)評估結果,只是iNTACS(國際評估師認證機構)去管理評估師。iNTACS定義了評估師的級別,級別晉升條件和級別維持的條件。ASPICE評估師的級別從低到高分別為:Provisio nal Assessor,Competent Assessor, PrincipalAssessor。
ASPICE的評估嚴格來說并不是“認證”,其實ASPICE的評估結果應該是評估報告,而不是證書。它只是表明項目評估范圍內的過程具備的能力度等級。目前行業(yè)內流行的ASPICE證書只是作為評估通過的一個附加證明,是為了便于企業(yè)商務市場宣傳應用而生的一個產物而已。
所有的評估結果依賴于證據,相關活動執(zhí)行人應在評估期間的訪談時證實其執(zhí)行了ASPICE相關活動,并且能夠提供完備的相關文檔記錄,證明項目實施了ASPICE相關活動,總結起來就是評估結果依賴于“人證和物證”。
我們了解了ASPICE概念、意義、內容以及評估流程。企業(yè)具體實施起來雖然是非常大的挑戰(zhàn),但是只要企業(yè)對汽車軟件質量和安全足夠重視,相信各企業(yè)一定會加大投入把ASPICE標準實施起來,一起推進整個汽車行業(yè)向更好的方向發(fā)展。