對(duì)于一個(gè)現(xiàn)代化的企業(yè)來(lái)說(shuō),數(shù)字化管理系統(tǒng)非常重要。
將范圍縮小到汽車(chē)行業(yè),企業(yè)的數(shù)字化管理系統(tǒng)大致包含了ERP(人力、資源、財(cái)務(wù)、供應(yīng)商等)、MESS(生產(chǎn)制造)、PLM(BOM、PDM、供應(yīng)商管理,有形的硬件產(chǎn)品生命周期)和ALM(需求管理、測(cè)試管理、bug管理,無(wú)形的軟件產(chǎn)品生命周期管理)。
一些汽車(chē)行業(yè)的企業(yè),在搭建自身的車(chē)載軟件研發(fā)數(shù)字化管理系統(tǒng)中,存在的一些誤區(qū),以及可能導(dǎo)致的一些風(fēng)險(xiǎn)。
1.?過(guò)于關(guān)注單點(diǎn)問(wèn)題的高效解決,而忽視了整體流程的高效管理
2.?高估了流程的獨(dú)特性,而低估了流程的通用性
3.?被動(dòng)收集各類平臺(tái)數(shù)據(jù),形成“虛假”且“臃腫”的研發(fā)數(shù)字化管理系統(tǒng)
1 過(guò)于關(guān)注單點(diǎn)問(wèn)題的高效解決,而忽視了整體流程的高效管理
有一次我去給一家企業(yè)講解研發(fā)管理系統(tǒng),客戶是做電驅(qū)系統(tǒng)的架構(gòu)設(shè)計(jì)與集成。我的講述思路是,如何在滿足汽車(chē)行業(yè)的三大法規(guī)標(biāo)準(zhǔn)(ASPICE、功能安全和信息安全)的情況下,實(shí)現(xiàn)從需求管理、開(kāi)發(fā)任務(wù)管理、測(cè)試管理、項(xiàng)目管理、質(zhì)量管理等流程的全打通。
我自以為講解的還算比較充分,事實(shí)上也得到了對(duì)方實(shí)施這一計(jì)劃的工程師認(rèn)可,將我推給了其他正在創(chuàng)業(yè)的同事。
不過(guò)我也碰到了一些挑戰(zhàn),對(duì)方的負(fù)責(zé)人質(zhì)疑說(shuō),整個(gè)系統(tǒng)是站在流程質(zhì)量和項(xiàng)目管理的角度來(lái)設(shè)計(jì)的,對(duì)于工程師直接提高某一現(xiàn)有工序的效率,比如幫助需求工程師更快速地、自動(dòng)化地生成需求,幫助測(cè)試工程師更快地生成自動(dòng)化測(cè)試用例,或者更高效地掃描出代碼缺陷等,則缺少效果。
這家公司擁有業(yè)界最優(yōu)秀的汽車(chē)工程師。事實(shí)上,他們一方面能提供最佳的產(chǎn)品設(shè)計(jì)品味、最好的內(nèi)外飾設(shè)計(jì)思路、富有競(jìng)爭(zhēng)力的售后運(yùn)維服務(wù),但是卻在研發(fā)和運(yùn)營(yíng)效率上有所拖累。內(nèi)部系統(tǒng)和工具過(guò)多,數(shù)據(jù)傳輸效率低于同行。
在公司創(chuàng)業(yè)早期,人員冗余+強(qiáng)大的工程師個(gè)體,是一個(gè)優(yōu)勢(shì),很容易通過(guò)賽馬機(jī)制,使得某一方提前跑出來(lái)。但是當(dāng)同行都推出車(chē)型之后,此時(shí)更考驗(yàn)不同團(tuán)隊(duì)的精細(xì)化管理和效率提升,龐大而臃腫的研發(fā)團(tuán)隊(duì)和研發(fā)數(shù)據(jù),反而形成了太多噪音,成為拖累。
以車(chē)載軟件開(kāi)發(fā)為例,這是一個(gè)涉及多個(gè)環(huán)節(jié)的復(fù)雜過(guò)程,包括需求分析、系統(tǒng)設(shè)計(jì)、編碼實(shí)現(xiàn)、測(cè)試驗(yàn)證、部署上線以及后續(xù)的維護(hù)和更新。如果管理者只關(guān)注測(cè)試用例的自動(dòng)化,或者代碼自動(dòng)掃描,可能會(huì)導(dǎo)致以下幾個(gè)問(wèn)題:
1. 研發(fā)流程的瓶頸轉(zhuǎn)移:即使測(cè)試用例的自動(dòng)化提高了測(cè)試效率,但如果需求分析和設(shè)計(jì)階段存在問(wèn)題,可能會(huì)導(dǎo)致測(cè)試階段頻繁修改用例,反而增加了工作量。同時(shí),如果代碼實(shí)現(xiàn)階段的質(zhì)量控制不到位,可能會(huì)導(dǎo)致測(cè)試階段發(fā)現(xiàn)大量問(wèn)題,導(dǎo)致測(cè)試工作量激增,從而形成新的瓶頸。
(精益管理里面,有一個(gè)很經(jīng)典的提高效率的例子。比如項(xiàng)目是“某五星級(jí)餐廳準(zhǔn)備晚餐”,分析其流程包含了:確定菜品、app下單買(mǎi)菜、小哥送菜、洗菜、炒菜、上菜。這其中不僅涉及了像炒菜這種“工序”,還包含了炒菜和上菜這兩道工具之間的交接時(shí)間。因此,為了提高整體的做飯效率,需要先調(diào)研每一個(gè)工序花費(fèi)的時(shí)間,以及工序之間的交接時(shí)間,找到效率瓶頸,然后再逐點(diǎn)解決。可見(jiàn),不僅僅是“工序”會(huì)成為效率瓶頸,工序與工序之間的“交接流程”本身,也可能成為效率瓶頸。)
2. 資源分配不均衡:過(guò)多的資源可能被分配到測(cè)試自動(dòng)化上,而其他同樣重要的環(huán)節(jié),如需求分析的準(zhǔn)確性、系統(tǒng)設(shè)計(jì)的合理性、代碼的可讀性和可維護(hù)性等,可能因資源不足而受到影響。
3. 產(chǎn)品質(zhì)量風(fēng)險(xiǎn):車(chē)載軟件對(duì)安全性和穩(wěn)定性的要求極高,如果開(kāi)發(fā)流程中的某些環(huán)節(jié)被忽視,可能會(huì)導(dǎo)致軟件在實(shí)際運(yùn)行中出現(xiàn)嚴(yán)重的安全問(wèn)題或穩(wěn)定性問(wèn)題。
4. 市場(chǎng)競(jìng)爭(zhēng)力下降:如果因?yàn)殚_(kāi)發(fā)流程中的問(wèn)題導(dǎo)致產(chǎn)品上市延遲,或者產(chǎn)品質(zhì)量不符合市場(chǎng)預(yù)期,可能會(huì)導(dǎo)致公司在激烈的市場(chǎng)競(jìng)爭(zhēng)中失去優(yōu)勢(shì)。
5. 維護(hù)成本上升:在車(chē)載軟件的后續(xù)維護(hù)階段,如果因?yàn)榍捌陂_(kāi)發(fā)流程的問(wèn)題導(dǎo)致軟件存在大量隱患,可能會(huì)導(dǎo)致維護(hù)成本大幅上升,甚至需要進(jìn)行昂貴的召回。
因此,管理者應(yīng)該采取一個(gè)更全面的視角,關(guān)注整個(gè)車(chē)載軟件開(kāi)發(fā)流程的每一個(gè)環(huán)節(jié)。
2 高估了流程的獨(dú)特性,而低估了流程的通用性
這里也分享一個(gè)案例,這個(gè)案例來(lái)自于我和某車(chē)載團(tuán)隊(duì)一名測(cè)試leader的對(duì)話。
我和其討論的話題是:如何更好地構(gòu)建測(cè)試團(tuán)隊(duì)的管理工具,以提高軟件測(cè)試團(tuán)隊(duì)的效率。他向我展示,在測(cè)試管理工具層方面,他的團(tuán)隊(duì)做了大量工具開(kāi)發(fā),形成了一個(gè)相對(duì)完善的測(cè)試管理系統(tǒng),包含所有的測(cè)試用例、用例評(píng)審、測(cè)試計(jì)劃、發(fā)版計(jì)劃、執(zhí)行結(jié)果回填等等。
1. 當(dāng)我問(wèn)他,整車(chē)需求和該團(tuán)隊(duì)的產(chǎn)品需求、開(kāi)發(fā)任務(wù),都存在于需求管理系統(tǒng),測(cè)試用例如何和這些需求、開(kāi)發(fā)任務(wù)做關(guān)聯(lián)?----通過(guò)鏈接關(guān)聯(lián),雙向點(diǎn)擊可訪問(wèn),已解決
2.?以及需求、開(kāi)發(fā)人員是否能隨時(shí)訪問(wèn)他的測(cè)試平臺(tái),以方便查看測(cè)試用例和結(jié)果?----局部可以開(kāi)放權(quán)限,大部分人不行,因?yàn)檫@個(gè)平臺(tái)是測(cè)試部門(mén)內(nèi)部的平臺(tái)
3. 其他測(cè)試部門(mén)是否也使用他的平臺(tái)?----不使用,其他部門(mén)也會(huì)開(kāi)發(fā)自己的測(cè)試管理平臺(tái)
4.?為什么其他測(cè)試部門(mén)不使用他的平臺(tái),而需要自己獨(dú)立開(kāi)發(fā)?------因?yàn)槊總€(gè)部門(mén)的測(cè)試流程和使用習(xí)慣不同
5.?追溯性的統(tǒng)計(jì),功能安全、信息安全流程如何支持?----暫時(shí)無(wú)法解決,也不考慮
6.?如果產(chǎn)品和開(kāi)發(fā)很少能訪問(wèn)他們的測(cè)試工具,那如何才能讓產(chǎn)品、開(kāi)發(fā)、測(cè)試形成一個(gè)更高效的溝通機(jī)制?----
他有點(diǎn)犯難了,他認(rèn)為那是整個(gè)大部門(mén)的事情,他這邊沒(méi)有辦法干涉,也解決不了,所以他只能想盡辦法讓測(cè)試過(guò)程更高效,至于整體團(tuán)隊(duì)的效率,他難以推動(dòng)
這位測(cè)試leader雖然意識(shí)到將測(cè)試管理平臺(tái),和需求、開(kāi)發(fā)平臺(tái)一體化管理,能提高效率,他卻無(wú)法推動(dòng)整個(gè)團(tuán)隊(duì)往一個(gè)平臺(tái)上使勁兒和遷移。
即使他意識(shí)到,各個(gè)部門(mén)重復(fù)建立測(cè)試管理平臺(tái),是資源的大浪費(fèi),他也無(wú)法推動(dòng)其他部門(mén)使用他的工具。
這不是工程師個(gè)人能力的問(wèn)題,而是因?yàn)?,這是企業(yè)一把手工程。
使用不同的測(cè)試平臺(tái),和各個(gè)部門(mén)測(cè)試流程的獨(dú)特性有一定關(guān)系,但顯然關(guān)系不大。
因?yàn)榭戳艘槐樗南到y(tǒng),我們自己開(kāi)發(fā)的MappingSpace系統(tǒng),也能夠在幾乎不怎么調(diào)整的情況下,滿足絕大部分功能。
換句話說(shuō),我們往往容易高估企業(yè)流程的獨(dú)特性,而低估了企業(yè)流程的通用性。
這也是很多國(guó)內(nèi)公司非常喜歡做定制化系統(tǒng)的原因。
寧愿摒棄一套行業(yè)通用的平臺(tái),也要找業(yè)余團(tuán)隊(duì)定制化開(kāi)發(fā),認(rèn)為自己的流程非常獨(dú)特。往高大上了講,就是源碼可見(jiàn),自主可控,隨時(shí)可調(diào)整。
不過(guò)深入分析里面的原因卻很復(fù)雜,和國(guó)民性格、復(fù)雜的采購(gòu)申請(qǐng)流程、對(duì)產(chǎn)品的認(rèn)知、對(duì)乙方的信任、幕后交易都不無(wú)關(guān)聯(lián)。但是,自研有很大風(fēng)險(xiǎn)。
一方面,部門(mén)之間的測(cè)試管理系統(tǒng),差距肯定會(huì)越來(lái)越大,這樣的測(cè)試平臺(tái),在誕生之初,就無(wú)需考慮設(shè)計(jì)的通用性。
另一方面,隨著差距越來(lái)越大,再也無(wú)法做到統(tǒng)一,此時(shí)就進(jìn)入了下一個(gè)狀態(tài)——打通。請(qǐng)看下一個(gè)故事。
3 被動(dòng)收集各類平臺(tái)數(shù)據(jù),形成“虛假”且“臃腫”的研發(fā)數(shù)字化管理系統(tǒng)
這個(gè)故事是我和整車(chē)部門(mén)的一位大項(xiàng)目管理的對(duì)話,這位PM的目標(biāo)是開(kāi)發(fā)整車(chē)項(xiàng)目管理的數(shù)字化平臺(tái)。他自述是這個(gè)平臺(tái)的第4代產(chǎn)品經(jīng)理,因?yàn)榍懊嫒a(chǎn)品經(jīng)理都離職了,留下了一大堆還未完成的feature,他這個(gè)平臺(tái)的目的是,將各個(gè)部門(mén)、各類工具上的研發(fā)數(shù)據(jù)匯總,建立追溯性,然后在這個(gè)平臺(tái)上以更加可視化、結(jié)構(gòu)化的方式顯示出來(lái),基于此來(lái)做更高效、更清晰的項(xiàng)目管理和質(zhì)量管控。
我說(shuō)那這個(gè)系統(tǒng)豈不是很復(fù)雜,因?yàn)樗粌H要去和各個(gè)業(yè)務(wù)部門(mén)梳理業(yè)務(wù)數(shù)據(jù),以判斷這些數(shù)據(jù)分別屬于什么類型,然后才能和自己做的這個(gè)平臺(tái)的數(shù)據(jù)結(jié)構(gòu)做匹配。而且這似乎只是一個(gè)“數(shù)據(jù)匯總平臺(tái)”,離真正的研發(fā)流程管控還差了很遠(yuǎn)。
他表示同意,現(xiàn)階段各個(gè)部門(mén)不同的工具平臺(tái)都太多了,還有不少部門(mén)在線下管理,沒(méi)有形成線上的數(shù)據(jù),沒(méi)有辦法去做流程管控,只能先將業(yè)務(wù)數(shù)據(jù)匯總到這樣一個(gè)平臺(tái)上來(lái),然后基于數(shù)據(jù)再去反推流程,針對(duì)異常數(shù)據(jù)或者無(wú)法提供數(shù)據(jù)的部門(mén),再去各個(gè)擊破。
這確實(shí)是一個(gè)很復(fù)雜、很繁瑣的工程,而且我非常懷疑這個(gè)項(xiàng)目在第四代產(chǎn)品經(jīng)理手上,能不能順利完工。我對(duì)這個(gè)數(shù)據(jù)匯總平臺(tái),能產(chǎn)生多少效果,也有一些懷疑。
最終,我提了一個(gè)可能的方向:現(xiàn)在這種情況,有點(diǎn)像逆向工程。通過(guò)結(jié)果數(shù)據(jù)來(lái)反推過(guò)程。但是由于需要理清楚的過(guò)程涉及到太多不同的部門(mén),以及部門(mén)之間的交互錯(cuò)綜復(fù)雜,這是一個(gè)龐大得似乎看不到頭的工程。有沒(méi)有可能采用正向開(kāi)發(fā)的模式,先找到一個(gè)大家都認(rèn)可的開(kāi)發(fā)流程,然后將已有的流程往這個(gè)正向開(kāi)發(fā)的流程的方向去靠近,最終將大家的流程梳理到一個(gè)統(tǒng)一的平臺(tái)上
總結(jié)
汽車(chē)行業(yè)的研發(fā)數(shù)字化系統(tǒng)搭建過(guò)程中,對(duì)于以下三點(diǎn)的考慮非常重要:
第一:要站在全局的角度設(shè)計(jì)。所謂的全局,應(yīng)盡可能依賴汽車(chē)行業(yè)的標(biāo)準(zhǔn)和法規(guī),減少后期逆向工程來(lái)滿足法規(guī)的成本和代價(jià)。基于標(biāo)準(zhǔn)和法規(guī),并不一定意味著繁瑣,也可以裁剪,追求更快地開(kāi)發(fā)速度。
第二:中大型企業(yè)的數(shù)字化研發(fā)系統(tǒng)設(shè)計(jì),應(yīng)盡可能讓不同部門(mén)采用相似的流程,采用相同的工具。而不是每個(gè)部門(mén)采用一套工具,最終去打通數(shù)據(jù)流轉(zhuǎn),極易造成上述第二和第三個(gè)例子中的情況,從而拖累整體的研發(fā)數(shù)字化流程。
第三:?jiǎn)吸c(diǎn)效率很重要,但整體的流轉(zhuǎn)流程更重要。使用精益管理的方法,逐個(gè)分解流程中涉及的“工序”和“交接”,各個(gè)擊破,提高整個(gè)團(tuán)隊(duì)的協(xié)作效率。
作者介紹:羅宇超,云體科技創(chuàng)始人,軟件質(zhì)量工程師,工具連接工程師