都在講數字化,數字化的第一層是IT工具,工具打通就是工具鏈。在數字化的進(jìn)程中,我們現在能夠比較好落地及落得比較好的就是工具鏈,工具鏈也幾乎是能把敏捷與標準化平衡好的最佳方式。
今天,我們來(lái)聊聊汽車(chē)電子軟件行業(yè)目前使用的工具鏈,由于不同公司的工具種類(lèi)紛繁復雜、不同的人使用經(jīng)驗與習慣千奇百怪、不同開(kāi)發(fā)理念對工具的特有需求五花八門(mén)(如敏捷、DevOps、仿真在環(huán)等)、不同產(chǎn)品類(lèi)型與不同復雜度的軟件及不同角色對于工具的需求也各有不同,而且私以為汽車(chē)軟件工程基本框架和方法論并未有顛覆性變化,所以本文嘗試整理一些常用的工具,但不追求全面不遺漏,也不會(huì )涉及太多使用方法和操作技巧的內容,而更多的是結合當前V模型的業(yè)務(wù)慣例與一些日常工作體悟進(jìn)行的梳理。
1、先說(shuō)點(diǎn)別的
開(kāi)始前先說(shuō)點(diǎn)別的?!白稣_的事”和“正確地做事“這兩個(gè)概念,大家應該是耳熟能詳了,據說(shuō)是德魯克在一本書(shū)上講的,沒(méi)確認過(guò),但也不要緊,我們也就是拿過(guò)來(lái)作為參考。
認真完成本文標題的目標和把工具鏈使用得爐火純青,自然屬于正確地做事,但這是在“做正確的事“嗎?
其實(shí),發(fā)出這個(gè)疑問(wèn),除了德魯克的啟發(fā)外,還有一個(gè)原因,我對工具的態(tài)度的轉變,也正好結合對自己想法變化原因的反思,來(lái)探討工具的意義。
早些年的一段時(shí)間,我對工具的態(tài)度大約是屬于嗤之以鼻,總覺(jué)得用工具的人缺少思考和業(yè)務(wù)能力,純粹是熟練,工具本身難以構成突出的競爭力,工具人甚至被認為是能力差的代名詞,特別是對于早期制造業(yè)中較多接觸到的CAD、CAE、SAP、ERP、PLM及一些實(shí)驗排期或庫存管理的系統等。
隨著(zhù)在汽車(chē)電子軟件領(lǐng)域經(jīng)驗的積累和對數字化及敏捷開(kāi)發(fā)等的理解的深入,越來(lái)越深刻地體會(huì )到充分使用工具的必要性。多說(shuō)一句,制造業(yè)多會(huì )叫軟件或系統,不習慣叫工具,從稱(chēng)呼上其實(shí)也能體會(huì )到一點(diǎn)定位上的差異。
細究原因,產(chǎn)品與行業(yè)的需求是一部分原因,另一部分原因也來(lái)源于自己職場(chǎng)或社會(huì )經(jīng)驗的疊加,工具類(lèi)似于一種資源、一種手段、一個(gè)杠桿,個(gè)人加徒手能夠完成的工作是極其有限的,借力才能大力。沒(méi)有工具的話(huà),我們所依托的其實(shí)只剩下“語(yǔ)言“,思考需要基于語(yǔ)言,溝通更離不開(kāi)語(yǔ)言,而語(yǔ)言是局限的。
舉個(gè)最簡(jiǎn)單的例子,當你用圖表這種基礎工具去描述一件事物時(shí),你做的不是簡(jiǎn)單的語(yǔ)言同態(tài)映射,而是不同邏輯和模式下的表達與展示,看這個(gè)圖表和對應的描述文字時(shí),你獲取的信息、感受、思考與靈感均是完全不同的,這就是”圖表“這個(gè)工具能給你帶來(lái)的額外價(jià)值。
這個(gè)道理并非新穎,但在汽車(chē)電子軟件這個(gè)領(lǐng)域,對于多數人來(lái)說(shuō),并未邁入工具及工具鏈的門(mén)檻,當別人都還習慣于excel碼字、打電話(huà)和開(kāi)會(huì )時(shí),你用到這個(gè)杠桿,可能會(huì )幫你更容易撬起來(lái)一些你想要的東西。
2、業(yè)內常用的工具類(lèi)別
按照汽車(chē)軟件的來(lái)龍去脈,基本會(huì )有這7個(gè)環(huán)節:需求、架構、開(kāi)發(fā)、集成、驗證、項目管理、配置管理,對應的有相應的工具。
當然,不是每一個(gè)環(huán)節都是一個(gè)單獨的工具,很多工具開(kāi)發(fā)者都希望盡可能涵蓋更廣,所以,理論上,一個(gè)工具可以支持很多環(huán)節,甚至是全生命周期的。但是,基于慣例或者各自?xún)?yōu)勢,每一個(gè)環(huán)節又會(huì )用到比較流行的工具或某個(gè)模塊,一個(gè)工具也會(huì )交叉使用在不同環(huán)節上。
下面做一些整理,應該基本可以反映出當下汽車(chē)行業(yè)慣用的一些工具。
需求:Doors、DNG、JAMA、Polarion、TRM、Clear Quest、Reqtify……
架構:OpenAmeos、Rhapsody、Systemweaver、PREEvision、Pure:Variant、Visio、EA、Simulink、AUTOSAR Blockset……
開(kāi)發(fā):Eclipse、VS Code、Jenkins、Wind River、Perl、Green Hills、Vector、Source Insight……
集成:Jekins、RTC、Harness、MAKEFILE……
驗證:Coverity、Polyspace、Tessy、QAC、Gerrit、Parasoft、VectorCast、dSpace、CANOE、CarMaker、Reactis、RQM、ECU-Test、JIRA、Gtest、PC-lint、Findbugs、Junit……
項目管理:JIRA、Polarion、RTC、Clear Quest、Git、Asana、飛書(shū)、Project、DTS、RDM、Redmine、禪道、PTC Integrity……
配置管理:RTC、SVN、Sharepoint、MS Teams、MKS、Gitlab、Confluence、PlasticSCM、ClearCase、Synergy、Preforce……
3、工具鏈的“鏈“
我一直比較排斥造詞、造概念等故弄玄虛和簡(jiǎn)單問(wèn)題復雜化的行為,說(shuō)起來(lái)天花亂墜且清新脫俗,做起來(lái)還是老一套。
對于工具鏈的“鏈“,我們也不要把它想得多么高深。
簡(jiǎn)單理解,”鏈“就是建立鏈接和數據同步。再擴展一點(diǎn),就是建立不同但相關(guān)數據的鏈接和相同但不同區域數據的同步,前者側重靜態(tài)關(guān)系,后者側重動(dòng)態(tài)流轉。
當然,鏈條里不能忽略人,但人腦子里沒(méi)有天線(xiàn),無(wú)法直接建立連接和傳輸數據,把人加進(jìn)鏈條更多是把與人交互密切的載體加入鏈條,比如,手機和郵箱。
而且,人在里面的作用越小越好,人作用越小,說(shuō)明自動(dòng)化和智能化的程度越高。
ASPICE要求我們做追溯,追溯就是典型的建立不同但相關(guān)數據的鏈接,用文字描述、excel貼鏈接、變更履歷里加編號,甚至測試發(fā)微信給需求,這都是建立鏈接,方式有多種多樣,只不過(guò)都上系統后,工具里直接建立鏈接會(huì )有更多的好處,比如,穩固、清晰、透明、歷史追溯性好等。
除了工程里的追溯,不同系統間可以自由跳轉訪(fǎng)問(wèn)也是一種很實(shí)用的鏈接。
數據同步和我之前多次提到的數據同源有一定的關(guān)系,數據同源是提升透明度、效率、準確性的良好手段,良好的數據同步又是實(shí)現數據同源的支撐。
無(wú)論是面對頻繁變化的項目計劃、不斷迭代的軟件,還是處理成千上萬(wàn)的Bug,或者完成整合數據的配置管理,或者進(jìn)行不同區域和組織間文件的傳遞。通過(guò)工具的打通,讓數據流轉起來(lái),讓數據自動(dòng)同步,這都是工具“鏈“的重要需求。
此外,建立連接和傳輸數據不一定就是簡(jiǎn)單的原始連接和源數據傳遞,可能更需要特殊的匹配、統計、計算等處理工作,比如,需求和測試系統經(jīng)過(guò)比對識別符來(lái)完成鏈接,并在此基礎上自動(dòng)計算出覆蓋率。
基于多種客觀(guān)原因和主觀(guān)考量,“鏈“的建立并不容易,數據孤島和部門(mén)墻依然風(fēng)行。然而,這種現實(shí)的弊端正是工具鏈存在的價(jià)值及大家對它的期許。
4、工具要用到什么程度?
我們多數不是專(zhuān)門(mén)的工具鏈公司從業(yè)者或者說(shuō)本文多數受眾不是,我們不需要深入到工具開(kāi)發(fā)邏輯層面,更多是在工具的應用和功能挖掘組合上。其實(shí),當前流行的工具內嵌了很多強大的功能,實(shí)際被挖掘使用的部分卻又是非常少的。
首先呢,我認為是盡可能用出花樣來(lái),要全面,要結構化,要美觀(guān),要自動(dòng)化,不要去依賴(lài)于傳統的excel、ppt,盡管Office非常強大,但非?;A和普遍,經(jīng)典的不等于未來(lái)的。
玩工具鏈也并非目的,而是手段,是顯示出你的獨特性的手段。業(yè)務(wù)能力有高低,經(jīng)驗積累有厚薄,你使用工具展示、匯報、分析的水平也是一種資源。在全面數字化和智能化到來(lái)之前,工具化是一個(gè)必經(jīng)之路。
其次,或許沒(méi)必要系統學(xué)習,有那么多工作在等著(zhù),我們無(wú)法投入太多精力在工具上,但應該時(shí)刻思考并尋找工具的支持,如何將自己的一些工作數字化、工具化。
未必需要自己親力親為,大一點(diǎn)的公司都會(huì )有工具組,要充分利用好他們。在不斷的過(guò)程中,學(xué)會(huì )用工具加速自己的工作,理解工具的運行邏輯,將自己更多的時(shí)間投放在創(chuàng )造性的思考上。
既然智能化時(shí)代終將來(lái)臨,不妨主動(dòng)邁過(guò)去。
5、寫(xiě)在最后
寫(xiě)到這里,我同時(shí)還在反思自己行文的基準——工具是否有那么重要?我們慣常講的一句話(huà)是“這只是一個(gè)工具”。言下之意是,這沒(méi)那么重要。而這不由得讓我想起,也有很多人說(shuō)過(guò)“語(yǔ)言只是工具”,可在我多年外企的經(jīng)歷中,深知一口流利的英語(yǔ)給人職業(yè)發(fā)展帶來(lái)的助力是多么大。
長(cháng)期以來(lái),我們很多人都被不會(huì )借力、借工具、借資源所誤。
轉自焉知汽車(chē)