趙 慧
(吉利汽車整車研究院,浙江 寧波 310052)
基于IATF16949汽車行業質量管理體系的基本要求,在零部件供應商進入整車廠供應鏈體系時,需要通過產品質量保證能力的審核。審核結論達到要求時,才可以進入整車廠的供應鏈體系,參與項目開發和零部件供應。
當前主機廠常用的供應商產品質量保證能力評價方法,有德系主機廠奔馳、寶馬、大眾的VDA6.3(汽車制造業的質量管理過程評審);美系通用的QSB(質量系統基礎);美系福特的Q1;沃爾沃的MSA等。其中VDA6.3由德國汽車工業協會編制及頒布,是德國汽車行業在長期的發展過程中的凝練,在包含德系汽車行業在內的整個汽車產品鏈都有廣泛的應用。
VDA6.3、QSB、Q1、MSA等汽車行業主機廠當前應用的對供應商的評價方法,都只針對物理零部件供應商,無法對提供嵌入式軟件的供應商進行評價。究其原因,是因為在汽車行業長期的發展中,汽車主要作為一個機械產品而存在,汽車上的電子零部件所占比例非常小。但進入21世紀以后,嵌入到汽車中、基于嵌入式軟件技術的電子零部件越來越多,呈指數形態增加。如今,已經發展成多達2500個信號 (如車速這樣的基本信息),通過70多個電子控制單元 (ECU)和5種不同類型的車載網絡來交換 (引自《汽車嵌入式系統手冊》機械工程出版社)。而且,隨著車載網聯和智能駕駛技術的逐步推進,車載嵌入式軟件系統的發展趨勢有增無減。
在這種情形及發展趨勢下,控制器嵌入式軟件的質量和可靠性,越來越受到重視,并且成為影響汽車質量和安全的一個非常重要的因素。
基于這個背景,新版的汽車行業質量管理體系標準IATF16949:2016中明確提出了對嵌入式軟件供應商的選擇評價要求:
“8.4.1.2供應商選擇過程
組織應有一個形成文件的供應商選擇過程,選擇過程應包括:
a)……
……
e)對軟件開發能力的評估,如適用”
雖然新版IATF16949標準提出了對嵌入式軟件供方評價的要求,但是對如何評價卻沒有定義方法。
目前軟件產品開發相關的質量管理體系標準主要有CMMI和A-Spice。前者為美國卡耐基-梅隆大學軟件研究所編制及發布,是軟件行業應用最廣泛的質量體系標準,適用于各類軟件;后者為德國汽車工業協會發布,主要適用于車載嵌入式軟件。
雖然有CMMI和A-Spice兩大標準,但是應用于嵌入式軟件供方的實際評估中,卻遇到了巨大的困難。
1)嵌入式軟件產品對汽車行業供應商管理人員來說,本身專業難度就非常高。
2)CMMI和A-Spice標準又都過于復雜,以CMMI為例,標準本身就有400多頁,汽車行業供應商管理人員掌握起來會非常困難。
3)CMMI是體系標準,包含要求和實踐,但是沒有評價標準,更沒有標準的檢查表;A-Spice雖然開發出了評價參考模型,但是該模型有一百多頁,主要是描述的過程實踐要求,屬于復雜的指南文件,也不是檢查表,無法直接應用于評價。相較于現有的供應商評價方法,如VDA6.3,規范性和操作性都不強。
4)現在的CMMI和A-Spice標準符合性評價,都是通過軟件過程域專家現場評估的形式進行,與汽車行業現行的基于檢查表審核的形式 (如基于VDA6.3檢查表的審核)差別較大,不易于融入現有體系。
5)CMMI和A-Spice的最終評價是針對過程域,通過評估過程域的成熟度,評為1到5級。與當前汽車行業常用的基于檢查表條款打分 (如VDA6.3,每個評價條款評分為0,4,6,8,10),最后給出一個總分的的形式,差別也很大,不易于融入現有體系。
基于以上因素,筆者嘗試參考VDA6.3的評估方法和評分標準,吸收CMMI和A-Spice標準的具體要求,制作一份基于VDA6.3評價結構的嵌入式軟件供應商評價問題清單,以解決原CMMI和A-Spice缺乏標準評價表、評價過程復雜臃腫、以及和現有汽車行業供應商的評價方法不能接軌的問題。成過程成熟度級別2級,并以達到成熟度級別3級為目標。
A-Spice共有32個過程域,分6個能力等級,依次為0級不完整、1級已執行、2級已管理、3級已建立、4級可預測、5級可創新。其中有16個過程域,是BMW及其他主機廠推薦的過程域,被稱為HIS過程域。
CMMI成熟度2級中的7個過程域、成熟度3級中的11個過程域,與A-Spice中16個HIS過程域,大部分過程域重合一致。
本文即在分析CMMI成熟度2級、3級過程域,和A-Spice HIS過程域基礎之上,整合對這些過程域的要求,基于汽車行業檢查表形式的評價習慣,建立起針對嵌入式軟件供方的評價問題。這些過程域主要涵蓋了軟件開發過程中需求分析、詳細設計、測試開發、質量保證、配置管理、項目管理等主要活動。
CMMI共有22個過程域,分5個成熟度等級,依次為1級初始級、2級已管理級、3級已定義級、4級已量化管理級、5級優化級。各成熟度級別對應的過程域見圖1,其中成熟度級別2級包含了7個過程域,成熟度級別3級包含了11個過程域。作為對主機廠供應嵌入式軟件的供應商,應至少達

圖1 各成熟度級別對應的過程域
編制10條針對嵌入式軟件供方的評價問題,涵蓋CMMI成熟度2級、3級過程域,和A-Spice HIS過程域的主要要求。
1)問題1:是否對項目實施了策劃,并且與顧客達成一致?
2)問題2:是否建立了配置管理計劃,并且得到了落實?
3)問題3:是否建立了質量保證計劃,并且得到了落實?
4)問題4:是否對需求實施了分析和管理?
5)問題5:是否保證了需求、設計、開發和測試文檔之間的一致性和雙向可追溯性?
6)問題6:是否開展了軟件的詳細設計?
7)問題7:是否制定并落實了軟件開發各階段的測試方案?
8)問題8:是否對變更請求進行了規范管理?
9)問題9:是否建立了度量計劃并且得到了落實?
10)問題10:是否采用了軟件開發評估方法來評估組織的軟件開發過程?
4.2.1 問題1:是否對項目實施了策劃,并且與顧客達成一致?
與評價有關的要求:①明確了項目范圍;②評估利用現有資源實現項目目標的可行性;③完成工作所需的活動和資源的規模估算;④識別完成工作所需的知識與技能的差距,并安排了培訓;⑤項目組內以及項目組與其他項目和單位之間的接口被識別和定義;⑥識別和分類了項目風險,并計劃及實施了風險緩解計劃;⑦制定、實施和維護項目執行計劃;⑧監測和報告項目進展;⑨在項目目標無法達成時及時采取糾正措施。
4.2.2 問題2:是否建立了配置管理計劃,并且得到了落實?
與評價有關的要求:①制定配置管理策略,包含計劃和配置管理的組織機構;②應用信息系統實施配置管理;③所有配置項根據配置管理策略被識別,定義和基線化;④控制配置項的修改和釋放;⑤記錄并報告配置項和修改的狀態;⑥確?;€的完整性和一致性;⑦計劃和執行了配置審計。
4.2.3 問題3:是否建立了質量保證計劃,并且得到了落實?
與評價有關的要求:①制定、實施了執行質量保證的戰略;②獨立、客觀地開展質量保證工作;③識別、記錄工作產品和過程的不符合信息,傳達給相關方,跟蹤、解決和進一步防止;④對工作產品和過程與相關要求的一致性進行驗證,記錄并傳達給相關方;⑤建立將不合格升級到適當管理級別的上升機制;⑥確保升級的不合格解決;⑦保留了相關記錄。
4.2.4 問題4:是否對需求實施了分析和管理?
與評價有關的要求:①與利益相關者建立持續溝通;②利益相關者要求被識別、確認和基線化;③建立一種變更機制,根據利益相關者需求的變化,評估并將利益相關者需求的變化納入基線要求;④建立了一個機制,用于持續監測利益相關者的需求;⑤建立了一種確保顧客能夠容易地確定其請求的狀態和處理的機制;⑥識別技術和利益相關者需求變化帶來的變化,評估相關風險及管理其影響;⑦建立一套定義的系統要求,并對系統需求的正確性和可驗證性分類和分析;⑧定義實現系統需求的優先級;⑨達成共識的系統要求傳達給了所有相關方;⑩建立了必須的功能與質量屬性的定義;11○清晰地定義要分配給系統的軟件元素及其接口的軟件需求,對軟件需求進行分類并分析其正確性和可驗證性;12○清晰地定義了實施軟件需求的順序;13○軟件需求被定義、確認并傳達給所有受影響的各方。
4.2.5 問題5:是否保證了需求、設計、開發和測試文檔之間的一致性和雙向可追溯性?
與評價有關的要求:①在利益相關者要求和系統要求之間建立一致性和雙向可追溯性;②在系統要求和系統架構設計之間建立一致性和雙向可追溯性;③在系統架構設計和系統集成測試規范中的測試用例之間以及測試用例和測試結果之間建立一致性和雙向可追溯性;④在系統要求和系統資格測試規范中的測試用例之間以及測試用例和測試結果之間建立一致性和雙向可追溯性;⑤在系統要求和軟件要求之間建立一致性和雙向可追溯性;并在系統架構設計和軟件要求之間建立一致性和雙向可追溯性;⑥在軟件需求和軟件架構設計之間建立一致性和雙向可追溯性;⑦在軟件需求和軟件單元之間建立一致性和雙向可追溯性;并在軟件結構設計和軟件詳細設計之間建立一致性和雙向可追溯性;并在軟件詳細設計和軟件單元之間建立一致性和雙向可追溯性;⑧軟件單元之間建立一致性和雙向可追溯性;⑨在軟件架構設計的要素和包括在軟件集成測試規范中的測試用例之間,以及在測試用例和測試結果之間建立一致性和雙向可追溯性;⑩在軟件需求和軟件資格測試規范中的測試用例之間以及測試用例和測試結果之間建立一致性和雙向可追溯性 (引自Automotive Spice VDA-QMC)。
4.2.6 問題6:是否開展了軟件的詳細設計?
與評價有關的要求:①開發了描述軟件單元的詳細設計;②定義每個軟件單元的接口;③定義軟件單元的動態行為;④軟件詳細設計和與軟件架構設計的關系達成一致傳達給所有受影響的各方。
4.2.7 問題7:是否制定并落實了軟件開發各階段的測試方案?
1)與評價有關的要求,系統集成測試:①開發了包括回歸測試策略的系統集成測試策略來測試系統項交互;②開發了根據系統集成測試策略的系統集成測試規范,適用于提供集成系統項目與系統體系結構設計的兼容性的證據,包括系統項目之間的接口;③根據系統集成測試策略和放行計劃選擇系統集成測試規范中包含的測試用例;④使用所選擇的測試用例測試系統項交互,并記錄系統集成測試的結果;⑤系統集成測試的結果被匯總并傳達給所有受影響的各方。
2)與評價有關的要求,系統資格測試:①開發了包括回歸測試策略的系統資格測試策略,以測試集成系統;②根據系統資格測試策略制定綜合系統的系統資格測試規范,適用于提供符合要求的證據;③根據系統資格測試策略和放行計劃選擇系統資格測試規范中包含的測試用例;④使用選定的測試用例測試集成系統,記錄系統資格測試的結果;⑤匯總系統資格測試的結果并傳達給所有受影響的各方。
3)與評價有關的要求,軟件單元測試:①開發了包括回歸測試策略的軟件單元驗證策略以驗證軟件單元;②根據軟件單元驗證策略制定軟件單元驗證的準則,這些策略適合于提供軟件單元與軟件詳細設計和非功能軟件要求的符合性的證據;③根據軟件單元驗證策略和軟件單元驗證的定義準則驗證軟件單元,并記錄結果;④單元驗證的結果被匯總并傳達給所有受影響的各方。
4)與評價有關的要求,軟件集成和集成測試:①開發了包括回歸測試策略的軟件集成測試策略來測試軟件單元和軟件項交互;②根據軟件集成測試策略開發用于軟件集成測試的規范,其適于集成軟件項目與軟件架構設計的兼容性的證據,包括軟件單元之間和軟件項目之間的接口;③根據軟件集成測試策略和放行計劃選擇軟件集成測試規范中包含的測試用例;④使用選定的測試用例測試集成軟件項目,并記錄軟件集成測試的結果;⑤將軟件集成測試的結果匯總并傳達給所有受影響的各方。
5)與評價有關的要求,軟件資格測試:①開發了包括與項目計劃和放行計劃一致的回歸測試策略的軟件資格測試策略,以測試集成軟件;②開發了根據軟件資格測試策略對集成軟件進行軟件資格測試的規范,該規范適合于提供符合軟件要求的證據;③根據軟件資格測試策略和放行計劃選擇軟件資格測試規范中包含的測試用例;④使用選定的測試用例測試集成軟件,并記錄軟件鑒定測試的結果;⑤將軟件資格測試的結果匯總并傳達給所有相關方 (引自Automotive Spice VDA-QMC)。
4.2.8 問題8:是否對變更請求進行了規范管理?
與評價有關的要求:①制定變更請求管理策略;②記錄和識別變更請求;③識別變更請求與其他變更請求的依賴性和關系;④分析變更請求,估計資源需求;⑤根據分析結果和資源批準并確定變更實施的優先級;⑥批準變更實施,并跟蹤到關閉;⑦所有變更請求的狀態是已知的;⑧在變更請求和受影響的工作產品之間建立雙向可追溯性。
4.2.9 問題9:是否建了度量計劃并且得到了落實?
與評價有關的要求:①建立并持續組織承諾,實施度量過程;②確定組織過程的度量需求;③識別和開發了由信息需求驅動的適當的一系列度量;④建立度量目標,明確說明度量項;⑤識別和執行了測量活動;⑥收集、存儲、分析度量數據,并對結果進行解釋;⑦信息工具用于支持決策,并為交流提供客觀基礎;⑧對測量過程和措施進行評估并與過程所有者溝通。
4.2.10 問題10:是否采用了軟件開發評估方法來評估組織的軟件開發過程?
與評價有關的要求:①采用軟件開發評估方法來評估組織的軟件開發過程;②按照風險和對顧客潛在影響的優先級,為軟件開發能力自評估保留形成文件的信息;③應在內部審核方案中包含軟件開發能力評估。
參考VDA6.3的評分標準,每個問題設置可評價分數為10、8、6、4、0。評分和對應的問題要求具體落實情況如下:①10分:要求完全得到落實;②8分:要求基本上得到落實,只有輕微的不符合;③6分:要求部分得到落實,存在明顯不符合;④4分:要求落實不夠,存在嚴重不符合;⑤0分:要求沒有得到落實。
1)當前汽車行業針對供應商的成熟的準入評價方法,主要針對傳統的物理零件供應商,針對軟件供應商的現有評價方法過于繁瑣,與傳統物理的評價方法存在體系上的不一致,很難融入現有體系及大規模開展。
2)筆者根據自己的實際工作經驗,將對軟件供應商的質量要求CMMI、A-Spice,使用傳統汽車行業最常見VDA6.3評價方法進行整合、提煉,提出了基于VDA6.3評價結構的嵌入式軟件供應商評價方法。一方面,吸收了CMMI、ASpice的精要,形成了一種創新性的,適應汽車行業的嵌入式軟件供應商評價方法;另一方面,該嵌入式軟件供應商評價方法,與現有最常用的汽車行業傳統供應商評價方法VDA6.3使用同樣的評價形式和結構,便于傳統汽車行業供應商管理人員接受,更易于推廣。
3)基于科學地評價嵌入式軟件供應商質量保證能力的目的,整合吸收CMMI與A-Spice要求,該文共設計了10個嵌入式軟件供應商的評價問題,涵蓋項目管理、需求分析、設計開發、測試、變更管理等軟件開發活動的各個環節,可以準確客觀地評價嵌入式軟件供應商的質量保證能力。