摘要:隨著汽車軟件行業(yè)不斷引進認證體系,汽車電子企業(yè)在不斷提升產(chǎn)品質(zhì)量的過程中,面臨著如何更好地開展軟件需求工作的難題。文章通過對軟件需求工作中容易出現(xiàn)的人員缺口及人員知識面不足、溝通能力欠缺、文檔編寫能力不足、軟件需求意識薄弱等問題展開分析,結(jié)合基于相關(guān)標準的指導(dǎo)方向,提出挖掘潛在人員、制訂培訓(xùn)計劃、建立組隊模式等方式,旨在更好地開展汽車項目的軟件需求工作。
關(guān)鍵詞:軟件需求;汽車軟件;管理方式;ASPICE;軟件需求域
中圖分類號:TP311;U463" " " "文獻標識碼:A" " " 文章編號:1674-0688(2024)02-0050-04
0 引言
軟件需求質(zhì)量直接影響企業(yè)的軟件產(chǎn)品的質(zhì)量和口碑,在整個軟件生命周期中,在需求階段發(fā)現(xiàn)的問題所需的修改成本最低[1]。軟件需求具有模糊性、不確定性、變化性、漸近性等特點[2],軟件需求工程師只有具備較強的責(zé)任心和學(xué)習(xí)力,不斷積累經(jīng)驗,才能更好地推進軟件需求工作。在軟件定義汽車的時代,汽車制造企業(yè)對汽車軟件的質(zhì)量、成本、專業(yè)、安全等方面都具有較高的要求,而軟件需求工作在汽車軟件項目中占據(jù)重要地位。
ASPICE(Automotive Software Process Improvement and Capability dEtermination)是一種面向汽車軟件開發(fā)的過程改進和能力評定標準。在目前的汽車軟件開發(fā)中,相關(guān)技術(shù)人員需要結(jié)合ASPICE體系實施軟件開發(fā)工作,全面把握汽車軟件開發(fā)流程,在此基礎(chǔ)上使汽車軟件的開發(fā)取得比較理想的成果[3]。在ASPICE體系中,軟件需求工程師需要重點關(guān)注系統(tǒng)過程組和軟件過程組,ASPICE體系對軟件需求提出了嚴格的追溯要求,軟件需求與系統(tǒng)需求、系統(tǒng)架構(gòu)存在向上追溯關(guān)系,軟件需求與軟件架構(gòu)存在向下追溯關(guān)系,軟件需求與軟件合格性測試存在橫向追溯關(guān)系。一部分傳統(tǒng)汽車電子企業(yè)的人員能力、需求質(zhì)量與認證要求存在一定差距,在降本保質(zhì)的大方向下,企業(yè)既要減少人力投入,又要保證產(chǎn)品質(zhì)量,因此探討軟件需求工作的方式是汽車電子企業(yè)需要長期實踐的課題,也是提升其市場競爭力的重要措施之一。
在軟件需求和ASPICE體系兩個領(lǐng)域中,不乏學(xué)者展開研究,但對ASPICE體系下企業(yè)開展軟件需求工作的方式的討論較少。本文以ASPICE體系下的軟件需求工作為脈絡(luò),結(jié)合H公司的實踐情況,梳理出可供參考的軟件需求工作推進方式,希望對汽車電子企業(yè)更好地開展軟件需求工作有所幫助。
1 基于汽車電子行業(yè)主流認證體系解讀的軟件需求工作要求
汽車電子企業(yè)的軟件需求工作要滿足各主流認證體系的流程要求,比如ASPICE、ISO26262、ISO21434等,并結(jié)合企業(yè)自身情況探尋高質(zhì)量地完成軟件需求工作。本文研究基于體系流程解讀,從軟件需求分析、軟件需求編寫、軟件需求評審、軟件需求管理4個方面探討工作方向。
1.1 軟件需求分析
在參加系統(tǒng)需求和系統(tǒng)架構(gòu)的正式評審會議后,可以初步評定分配到軟件域的需求的合理性,制訂有效的軟件需求工作計劃,責(zé)任到人、具體到終版時間。
1.2 軟件需求編寫
根據(jù)系統(tǒng)需求、系統(tǒng)架構(gòu)、UIamp;UE(用戶界面和用戶體驗)遷移圖、客戶原始資料等,可以獲得滿足理想特點的結(jié)構(gòu)化軟件需求。單個軟件需求的理想特點包括完整性、正確性、可行性、必要性、優(yōu)先級順序、無歧義、可驗證性。整組軟件需求的理想特點包括完整性、一致性、可修改性、追溯性[4]。
1.3 軟件需求評審
嚴格執(zhí)行評審流程,組織項目管理、產(chǎn)品經(jīng)理、軟件經(jīng)理、系統(tǒng)需求工程師、軟件測試工程師、開發(fā)擔當?shù)葘浖枨笠?guī)格書進行評審,及時跟蹤和解決評審過程中發(fā)現(xiàn)的問題,并提交評審報告。關(guān)鍵人員缺席或不發(fā)表任何意見將導(dǎo)致評審結(jié)果無效。
1.4 軟件需求管理
評審?fù)ㄟ^的軟件需求規(guī)格書需要申請發(fā)布基線,配置管理員進行打基線入庫事宜。后續(xù)變更必須嚴格遵照變更流程,同步維護軟件需求規(guī)格書的變更履歷。
2 軟件需求管理中從業(yè)人員存在的問題
汽車電子企業(yè)提供的產(chǎn)品形態(tài)一般包括硬件設(shè)備和軟件系統(tǒng)。H公司是一家專注汽車電子領(lǐng)域的高科技企業(yè),在引進ASPICE體系前,不重視區(qū)分系統(tǒng)需求和軟件需求,主要由需求工程師對接資料后傳達給開發(fā)工程師,然后由開發(fā)工程師根據(jù)自身理解實現(xiàn)軟件功能的設(shè)計和布局,并且對文檔的詳細度要求不高。從項目立項到量產(chǎn)的整個階段都弱化了軟件需求工作的概念,使得軟件的開發(fā)建立在沒有依據(jù)的設(shè)計上。H公司引進ASPICE體系后,軟件需求工作有了明確定義,但是實踐過程中仍出現(xiàn)諸多人力資源方面的問題。
2.1 從業(yè)人員存在缺口
H公司原有的需求工程師主要負責(zé)與客戶對接,對軟件細節(jié)的分析能力要求不高,引入ASPICE體系后只負責(zé)系統(tǒng)需求域的工作。軟件需求域的工作依賴專人處理,需要對系統(tǒng)需求中與軟件相關(guān)的部分進行分析,轉(zhuǎn)化成一組可以指導(dǎo)軟件開發(fā)、用例編寫的軟件需求。在原組織架構(gòu)上,軟件需求域的人員儲備存在缺口。
2.2 人員的知識面不足
汽車軟件涉及的知識面廣,H公司引入ASPICE體系后,對軟件需求從業(yè)人員提出更高的要求,從業(yè)人員須具備多年的軟件項目經(jīng)驗及持續(xù)學(xué)習(xí)能力,其知識面應(yīng)包括但不限于以下方面:識別功能和非功能需求;識別接口需求;掌握軟件工程語言;識別結(jié)構(gòu)化軟件需求;保證追溯關(guān)系;識別通信協(xié)議需求,明確通信方式;解讀與細化行業(yè)標準,如國標、歐標等;分離軟硬,如用戶界面與邏輯分離的設(shè)計、中間件與硬件的分離等;分離架構(gòu),如A組件變成B庫+C組件的設(shè)計形式;設(shè)計軟件流程與失效模式,包括運行時環(huán)境的考慮、進程的職責(zé)分配等;重點統(tǒng)籌跨模塊、跨芯片、跨設(shè)備、跨網(wǎng)絡(luò)的整體需求關(guān)聯(lián)性,必要時增加一些統(tǒng)籌的軟件需求ID(編號)來描述統(tǒng)籌的需求;提及關(guān)鍵細節(jié),如指定具體加密算法等級,如ECU(電子控制單元)間、片間、進程間通信協(xié)議細節(jié)等;明確模塊的CPU(中央處理器)、GPU(協(xié)處理器)、內(nèi)存占用要求,常態(tài)、最差態(tài)的系統(tǒng)應(yīng)對策略;協(xié)助系統(tǒng)需求工程師與客戶溝通挖掘潛在需求。
H公司出于系統(tǒng)穩(wěn)定考慮,采用技術(shù)多基于原有項目,對新知識和新技術(shù)的積累并不充分,人員方面也缺少對應(yīng)的知識儲備,與體系要求存在一定差距。
2.3 從業(yè)人員的溝通能力欠缺
出于人力成本考慮,H公司從現(xiàn)有團隊中發(fā)展軟件需求人員,但是一般項目中懂技術(shù)又善于表達的人員比例相對較低,技術(shù)出身的軟件需求從業(yè)人員的溝通表達能力不足。
2.4 從業(yè)人員的文檔編寫能力不足
H公司以往項目對文檔編寫要求不高,但僅留存簡單的需求文檔和代碼庫,一旦人員流動或以舊項目為基線時,需求難追溯,文檔資料參考價值低。面對體系提出的各類文檔要求,從業(yè)人員難以適應(yīng)。
2.5 軟件項目從業(yè)人員意識薄弱
雖然H公司的體系部門、質(zhì)量部門已明確項目需要執(zhí)行的體系流程,并且不斷強調(diào)體系流程的重要性,但是項目成員間仍存在敷衍流程、缺乏學(xué)習(xí)主動性的現(xiàn)象。軟件需求工作需要與系統(tǒng)需求、測試擔當、開發(fā)擔當、項目管理、產(chǎn)品經(jīng)理等多個崗位的工作人員協(xié)作,但項目成員對流程的認識不足、成員之間的配合不到位,從而影響軟件需求工作的質(zhì)量。
3 軟件需求工作中從業(yè)人員存在問題的解決對策
3.1 挖掘潛在人員
H公司在推進軟件需求工作前后的項目組織架構(gòu)變化見圖1和圖2。通過外部招聘或者內(nèi)部轉(zhuǎn)崗的方式,擴充軟件需求隊伍。軟件需求工程師可以通過從系統(tǒng)需求工程師、開發(fā)工程師、測試工程師等轉(zhuǎn)崗或者外部招聘等方式擴充,要求其具有一定的軟件項目經(jīng)驗、學(xué)習(xí)能力強、善于或者樂于溝通。第一個試點項目從業(yè)務(wù)開發(fā)部門選拔了數(shù)名具有多年開發(fā)經(jīng)驗且語言和文檔寫作能力突出的開發(fā)工程師轉(zhuǎn)崗到軟件需求工程師,軟件需求小組初步建立。
3.2 制訂培訓(xùn)計劃
軟件需求工程師通常有不同的知識背景。H公司制訂年度軟件需求工程師培訓(xùn)計劃從內(nèi)訓(xùn)和外訓(xùn)兩個方面展開。內(nèi)訓(xùn)包括學(xué)科內(nèi)的軟件需求分析與管理培訓(xùn)、協(xié)作部門展開的設(shè)計與業(yè)務(wù)培訓(xùn)、項目部門主導(dǎo)的管理培訓(xùn);外訓(xùn)包括車企的研發(fā)流程培訓(xùn)、行業(yè)內(nèi)的信息安全與網(wǎng)絡(luò)安全培訓(xùn)等(見表1)。制訂內(nèi)部和外部培訓(xùn)計劃,為工程師提供更多的學(xué)習(xí)機會,有效地解決軟件需求工程師水平參差不齊的問題,實現(xiàn)信息的互通,從而更好地開展汽車軟件需求分析工作。
3.3 建立組隊模式
出于項目節(jié)點和成本考慮,H公司采用全職軟件需求工程師搭配開發(fā)工程師的方式推進軟件需求域的工作。這種“一對多”的組隊模式,由軟件需求工程師負責(zé)統(tǒng)籌、輔導(dǎo)和審核,軟件開發(fā)工程師負責(zé)需求編寫,多向溝通達成互助機制,形成良好的交流協(xié)作環(huán)境,最大限度地提升軟件需求規(guī)格書的質(zhì)量。主車廠的項目C、項目T及項目H在軟件需求域的具體分工見表2。
組隊關(guān)系主要呈現(xiàn)以下特征:①“一對多”的組隊模式,全職軟件需求工程師負責(zé)規(guī)劃、管理項目軟件需求,消化體系要求,并且輔導(dǎo)開發(fā)工程師進行軟件需求的分析和編寫。②以開發(fā)工程師為項目實施主力的培養(yǎng)趨勢,從 “全職負責(zé)較多模塊”向 “開發(fā)負責(zé)較多模塊”方向轉(zhuǎn)變,在解決人員缺口的同時,提升開發(fā)工程師的需求分析能力和意識,為后續(xù)開發(fā)建立良好的需求理解基礎(chǔ)。③有待提高的需求分析能力,綜合觀察兩種角色負責(zé)的模塊數(shù)和產(chǎn)出的軟件需求數(shù)來看,開發(fā)工程師相對落后,因此有必要持續(xù)提升其軟件需求分析能力。
H公司的產(chǎn)品線涵蓋智能座艙、智駕駛、網(wǎng)聯(lián)與軟件服務(wù)系統(tǒng)、新能源汽車控制電子、汽車音響系統(tǒng)等,該公司始終堅持以客戶為中心的理念,為國內(nèi)外眾多知名汽車廠商提供高質(zhì)量的產(chǎn)品和優(yōu)質(zhì)的服務(wù)。2022年,H公司迭代研發(fā)體系,先后引進了ASPICE、ISO26262、ISO21434 認證流程,重視軟件需求,在落實軟件需求工作的過程中遇到諸多問題,其中,從業(yè)人員存在的問題尤其關(guān)鍵。對此,H公司研究了針對性的解決對策,經(jīng)過多次實踐,軟件需求工作逐步推進。
3.4 模板迭代
H公司在研發(fā)體系發(fā)布的軟件需求規(guī)格書的基礎(chǔ)上,結(jié)合項目自身特點、常見填寫方式等,整理出專用模板,供軟件需求工程師學(xué)習(xí),從而在滿足體系要求的前提下,提升成員的文檔編寫質(zhì)量和效率。初次開展軟件需求工作的團隊,軟件需求工程師需要進行模板講解,并且對開發(fā)工程師輸出的文件至少審核1次,審核通過后組織相關(guān)方軟件需求評審。
3.5 提升軟件項目從業(yè)人員的體系意識
H公司通過如下方式提升了軟件需求工程師的軟件需求意識。①體系培訓(xùn)和考核,體系部門定期針對新引進的流程進行宣講,要求全員參與并設(shè)定考核要求。②項目與學(xué)科培訓(xùn),將專業(yè)知識學(xué)習(xí)和經(jīng)驗分享落實到軟件需求工程師的年度工作計劃中,軟件需求工程師需定期進行學(xué)科內(nèi)或者項目維度的軟件需求知識分享。③直面客戶壓力,軟件需求工程師或者項目管理人員與客戶對接核心模塊時,可以邀請開發(fā)工程師參會,讓其直接感受客戶對軟件需求分解、設(shè)計細節(jié)的要求。
4 結(jié)語
在軟件定義汽車的趨勢下,車企對軟件供應(yīng)商研發(fā)能力的要求不斷提高,研發(fā)體系“正規(guī)化”已成為衡量供應(yīng)商質(zhì)量的重要指標。本文對汽車電子企業(yè)H公司開展軟件需求工作中從業(yè)人員存在的問題進行分析,結(jié)合基于體系流程解讀的工作要求,提出挖掘潛在人員、制訂培訓(xùn)計劃、搭建組隊模式、模板結(jié)合實踐、提升從業(yè)人員的軟件需求意識的方式應(yīng)對軟件需求工作過程中出現(xiàn)的從業(yè)人員缺口、知識面不足、溝通能力欠缺、文檔編寫能力不足、軟件需求意識薄弱等問題。H公司的實踐經(jīng)驗可為類似企業(yè)的軟件需求工作的開展提供借鑒。探討軟件需求工作的實施方式將是產(chǎn)品質(zhì)量保障過程中需要關(guān)注的重點課題,在體系流程的指導(dǎo)下,根據(jù)企業(yè)人力資源的特點和業(yè)務(wù)目標順勢推進,在實踐中動態(tài)調(diào)整,爭取從源頭上提升產(chǎn)品質(zhì)量。
5 參考文獻
[1]李曉明,孫林巖,汪應(yīng)洛.基于知識管理的軟件需求工作研究[J].研究與發(fā)展管理,2005,17(2):28-32,39.
[2]嚴艦.基于Aspice的汽車軟件開發(fā)流程研究[J].電腦知識與技術(shù),2021,17(24):90-91,94.
[3]周秀琴.T公司Mercury項目軟件需求工作研究[D].杭州:浙江工業(yè)大學(xué),2019.
[4]張曉博.軟件項目需求管理常見問題[J].合作經(jīng)濟與科技,2023(20):133-135.