CBB(Common Building Block)即共同性構(gòu)建模塊,指那些可以在不同產(chǎn)品、系統(tǒng)之間共用的零部件、模塊、技術(shù)及其他相關(guān)的設(shè)計(jì)成果,軟件、硬件系統(tǒng)都有自己的CBB。在產(chǎn)品中我們鼓勵(lì)共享和重用CBB,這里面好處很多,比如對(duì)于采購(gòu)、制造這些領(lǐng)域,CBB可以降低采購(gòu)成本,降低庫(kù)存和出現(xiàn)物料呆死的風(fēng)險(xiǎn),也更利于大批量制造。
我們重點(diǎn)討論一下硬件CBB,硬件基礎(chǔ)模塊是硬件系統(tǒng)中一組實(shí)現(xiàn)特定功能、性能及規(guī)格的實(shí)體硬件單元,對(duì)外以硬件接口的方式呈現(xiàn),而接口包含了硬件模塊所提供的功能和應(yīng)用它時(shí)所需的要素。硬件基礎(chǔ)模塊是構(gòu)成硬件產(chǎn)品和硬件系統(tǒng)的單元,是基于硬件系統(tǒng)架構(gòu)逐步抽象出來(lái)、定義開(kāi)發(fā)的,硬件CBB包括可共享硬件器件、可共享硬件組件/模塊、可共享單板、可共享整機(jī)、可共享硬件系統(tǒng)等。
對(duì)于硬件研發(fā)團(tuán)隊(duì)硬件CBB的價(jià)值很大,對(duì)CBB的堅(jiān)定投資是有高回報(bào)的。首先,硬件技術(shù)、硬件模塊若被大量共享,能夠極大降低研發(fā)成本,提升研發(fā)效率;在硬件共享的基礎(chǔ)上,增加新技術(shù)、新特性,新產(chǎn)品的開(kāi)發(fā)將一直“站在巨人的肩膀”,利于對(duì)市場(chǎng)做出快速反應(yīng)。同時(shí),工程師在一個(gè)CBB模塊上持續(xù)發(fā)現(xiàn)、解決問(wèn)題,提升CBB質(zhì)量,打磨出高質(zhì)量的CBB,這也是產(chǎn)品質(zhì)量保障的有效手段,共享成熟度高的貨架產(chǎn)品,能夠大大增加了產(chǎn)品穩(wěn)定性和可靠性。另外,堅(jiān)持共享,可以減少開(kāi)發(fā)團(tuán)隊(duì)低水平重復(fù)投入,釋放人力資源做更有價(jià)值的工作。
很多做硬件產(chǎn)品的大公司都把硬件CCB作為系統(tǒng)構(gòu)建的核心資產(chǎn),堅(jiān)持通過(guò)CBB的開(kāi)發(fā)和維護(hù)提高整體設(shè)計(jì)效率和設(shè)計(jì)質(zhì)量,縮短開(kāi)發(fā)周期。在大公司里有些高價(jià)值的CBB甚至可以跨產(chǎn)品、跨產(chǎn)品線共用,支持不同的應(yīng)用系統(tǒng),具備靈活方便的二次開(kāi)發(fā)能力;與產(chǎn)品或應(yīng)用系統(tǒng)間界面清晰,能實(shí)現(xiàn)平行開(kāi)發(fā);硬件CBB模塊功能規(guī)格、性能指標(biāo)清晰,可測(cè)試、可維護(hù),還有完善的資料手冊(cè)。大公司把CBB的構(gòu)建定義為平臺(tái)戰(zhàn)略的關(guān)鍵支點(diǎn),是公司重要的組織資產(chǎn)。
硬件工程師要特別要關(guān)注那些高價(jià)值硬件CBB的開(kāi)發(fā)和維護(hù)。比如,你開(kāi)發(fā)的無(wú)線路由器產(chǎn)品都會(huì)應(yīng)用2.4G或5G的棒狀天線,那么就要關(guān)注天線的性能指標(biāo)、降成本空間、應(yīng)用問(wèn)題等;如果你是開(kāi)發(fā)服務(wù)器產(chǎn)品的,可能70%的產(chǎn)品都會(huì)重用一款X86 CPU,那CPU CBB的硬件設(shè)計(jì)就是至關(guān)重要的,CBB交付后,你還要持續(xù)跟蹤供應(yīng)商,刷新器件問(wèn)題列表,合入新的優(yōu)化點(diǎn)。這些高價(jià)值CBB的持續(xù)投入能夠讓借用這個(gè)CBB的多款產(chǎn)品都收益。
“好的CBB是管理出來(lái)的”,CBB管理過(guò)程不是一個(gè)獨(dú)立的流程,而是嵌入在產(chǎn)品流程化的開(kāi)發(fā)活動(dòng)中。CBB管理可以分為4個(gè)階段:定義規(guī)劃、設(shè)計(jì)開(kāi)發(fā)、使用監(jiān)控、維護(hù)優(yōu)化四個(gè)階段,詳解一下這四個(gè)階段的主要工作。
階段一:規(guī)劃定義階段
在總體設(shè)計(jì)階段,就要規(guī)劃CBB,針對(duì)不同種類的產(chǎn)品,CBB規(guī)劃的側(cè)重點(diǎn)就不一樣。如復(fù)雜框式硬件,產(chǎn)品的生命周期很長(zhǎng),對(duì)于電源、風(fēng)扇、拉手條等關(guān)鍵組件都必須要CBB化;各單板上對(duì)于背板的接口、各個(gè)單板子節(jié)點(diǎn)的監(jiān)控也要定義為CBB,保證規(guī)則和設(shè)計(jì)要求的一致。盒式海量發(fā)貨的單板很多都是系列化的設(shè)計(jì),在一個(gè)系列中核心模塊是共用的,比如CPU模塊、業(yè)務(wù)接口模塊等,為了保證一個(gè)系列類所有單板都遵循統(tǒng)一規(guī)則,并且整個(gè)產(chǎn)品系列成本最優(yōu),這些核心共用模塊都要規(guī)劃為CBB。終端類產(chǎn)品的CBB更有學(xué)問(wèn)了,這類產(chǎn)品的定制化訴求強(qiáng)烈,單個(gè)款型對(duì)成本都極度敏感,因此如果定義CBB,必須要和產(chǎn)品設(shè)計(jì)耦合度極低,避免對(duì)其它模塊設(shè)計(jì)有影響,因?yàn)槿哂嘣O(shè)計(jì)導(dǎo)致成本增加。
階段二、設(shè)計(jì)開(kāi)發(fā)階段
規(guī)劃好后,我們要進(jìn)行CBB的設(shè)計(jì)。首先要確定好硬件CBB的設(shè)計(jì)人員,由于CBB是一個(gè)通用模塊,工程師設(shè)計(jì)CBB時(shí)要跳出單板,看到系列化的產(chǎn)品和這個(gè)產(chǎn)品的演進(jìn)路徑,心里有全景圖,才可能做出一個(gè)有生命力的CBB。定了設(shè)計(jì)人員,就要認(rèn)真分析CBB的各種接口,做好抽象的工作,這個(gè)設(shè)計(jì)很考驗(yàn)硬件工程師,接口定義不全就很難通用化,定義的過(guò)于復(fù)雜,冗余太多,又會(huì)在CBB上沉淀過(guò)多的成本,應(yīng)用起來(lái)復(fù)雜度很好。比如,CPU這類核心處理模塊定義CBB難度就很高,內(nèi)存和Flash怎么定義?電源模塊是放到CBB內(nèi),還是CBB外?集成方式是扣板還是在直接放在主板上?等等這些問(wèn)題都需要仔細(xì)考慮。定義完接口后就要做模塊的原理圖和PCB,想到你的模塊會(huì)被大量借用,你就會(huì)感到自己責(zé)任重大了。最后,還要提醒一下,CBB一定要通過(guò)文檔傳遞你的接口定義和關(guān)鍵的設(shè)計(jì)要求,方便借用者使用。
階段三、使用監(jiān)控階段
好的CBB不是一蹴而就了,CBB交付后會(huì)在一塊或者幾塊單板上先使用,這時(shí)候你就要開(kāi)始監(jiān)控使用時(shí)遇到的問(wèn)題,不管是在設(shè)計(jì)階段還在產(chǎn)品上市發(fā)貨后。硬件工程師要監(jiān)控這些CBB模塊在整機(jī)或者系統(tǒng)被借用時(shí),使用是否方便,接口的定義對(duì)主板的設(shè)計(jì)限制是否太多了。模塊在發(fā)貨后適應(yīng)不同單板和系統(tǒng)在不同場(chǎng)景應(yīng)用有什么質(zhì)量問(wèn)題,比如是不是借用到室外產(chǎn)品后防護(hù)規(guī)格就不滿足要求了。收集這些問(wèn)題后,進(jìn)行記錄和整理,這個(gè)是進(jìn)行CBB優(yōu)化的依據(jù)。
階段四、維護(hù)優(yōu)化階段
問(wèn)題都收集全了,下一步就是進(jìn)行優(yōu)化了,切記每一個(gè)改動(dòng)都要特別小心,要做好記錄,改動(dòng)點(diǎn)的驗(yàn)證要覆蓋到這個(gè)CBB不同的場(chǎng)景上。這里還要強(qiáng)調(diào)一下,硬件CBB的修改是否影響軟件系統(tǒng)要特別注意,我們?cè)贑BB設(shè)計(jì)階段都會(huì)把硬件對(duì)軟件的要求寫清楚,和軟件工程師做好澄清,但是在硬件CBB維護(hù)優(yōu)化時(shí),有時(shí)會(huì)疏漏針對(duì)所有借用CBB的單板或整機(jī)同步修改點(diǎn),請(qǐng)軟件工程師分析是否要優(yōu)化軟件,導(dǎo)致了硬件模塊優(yōu)化升級(jí)了,軟件適配沒(méi)更上,產(chǎn)品一上線問(wèn)題就暴露了。
這十多年中,我從一個(gè)初入硬件行業(yè)的小白逐步成長(zhǎng)為一個(gè)老練的硬件工程師,我一直在和CBB打交道。
剛進(jìn)入硬件團(tuán)隊(duì)的時(shí)候被師傅安排去維護(hù)幾個(gè)成熟的CBB,根據(jù)收集到的問(wèn)題進(jìn)行優(yōu)化。那時(shí)候有兩點(diǎn)體會(huì),一是有些同事水平很高,設(shè)計(jì)出的CBB考慮非常全面,特別是對(duì)于場(chǎng)景適應(yīng)性的考慮很細(xì)致,借用到單板或整機(jī)上問(wèn)題很少,我維護(hù)起來(lái)很方便;二是CBB優(yōu)化后的驗(yàn)證是個(gè)技術(shù)活,修改點(diǎn)要覆蓋全,這逼著我去熟悉不同的單板。
后來(lái),我有機(jī)會(huì)做核心CBB的設(shè)計(jì)師,那時(shí)候覺(jué)得很有榮譽(yù)感,當(dāng)時(shí)我做了一個(gè)ARM CPU的CBB,做接口設(shè)計(jì)時(shí)天天都和軟件架構(gòu)師泡在一起,學(xué)習(xí)業(yè)務(wù)模型,軟件規(guī)格升級(jí)要求等知識(shí),覺(jué)得自己進(jìn)步很快。還有一個(gè)讓我印象深刻的事是,當(dāng)時(shí)我的主管要求我硬件CBB設(shè)計(jì)一定要文檔化,文檔要包括的主要內(nèi)容有:CBB整體介紹,包括功能描述和重要性能指標(biāo)描述,限制條設(shè)計(jì)及應(yīng)用關(guān)注點(diǎn);CBB電路設(shè)計(jì),包括原理圖和接口設(shè)計(jì)說(shuō)明,關(guān)鍵接口設(shè)計(jì)要求等;CBB PCB設(shè)計(jì)指導(dǎo),對(duì)于CBB電源、時(shí)鐘、散熱的設(shè)計(jì)要求都要重點(diǎn)說(shuō)明;CBB對(duì)于軟件的設(shè)計(jì)說(shuō)明,對(duì)于一些需要配置的接口要特別寫清楚。
等我成為硬件項(xiàng)目經(jīng)理的時(shí),我更加能體會(huì)到CBB的價(jià)值和問(wèn)題,規(guī)劃好的CBB,對(duì)于設(shè)計(jì)效率,供應(yīng)柔性,制造通用性幫助都很大。然而,我也體會(huì)到定義CBB也是一種“妥協(xié)”的結(jié)果,由于在資源、時(shí)間、成本等方面的限制,不同團(tuán)隊(duì)的核心目標(biāo)可能會(huì)和CBB建設(shè)的目標(biāo)發(fā)生沖突。這時(shí)候就需要項(xiàng)目經(jīng)理站出來(lái),去平衡各方利益,堅(jiān)持對(duì)團(tuán)隊(duì)長(zhǎng)期利益最優(yōu)原則,說(shuō)服大家使用CBB。
同時(shí),我還希望大家多去思考并警惕過(guò)度CBB化給產(chǎn)品和團(tuán)隊(duì)帶來(lái)的“負(fù)作用”。首先在產(chǎn)品設(shè)計(jì)中,由硬件CBB搭積木一樣組合一個(gè)單板讓硬件設(shè)計(jì)缺乏了很多美感,強(qiáng)行使用CBB導(dǎo)致有些設(shè)計(jì)很變扭,不得不進(jìn)行妥協(xié),硬件成本做不到極致。其次,CBB質(zhì)量出問(wèn)題會(huì)有蝴蝶效應(yīng),特別是核心CBB出問(wèn)題對(duì)于產(chǎn)品就是災(zāi)難,一個(gè)單點(diǎn)錯(cuò)導(dǎo)致系列化的產(chǎn)品都出錯(cuò)。2009年起豐田公司旗下的多款車型因加速踏板故障存在自動(dòng)加速問(wèn)題,導(dǎo)致多起傷亡,這個(gè)剎車門事件就是CBB應(yīng)用的一個(gè)負(fù)面典型案例。最后,回到CBB對(duì)于硬件工程師的“負(fù)作用”,過(guò)多依賴CBB師硬件工程師失去了對(duì)產(chǎn)品每個(gè)關(guān)鍵模塊設(shè)計(jì)細(xì)節(jié)的控制力,由設(shè)計(jì)師變成了裝配工人,有空心化的風(fēng)險(xiǎn),很難培養(yǎng)出18般武藝樣樣精通的高手。綜上,不論對(duì)于大公司,還是中小公司,硬件CBB都不是萬(wàn)能的,我們?cè)谕ㄟ^(guò)CBB獲益的同時(shí)也要預(yù)防CBB給我們帶來(lái)的問(wèn)題。
大公司用CBB能夠幫助團(tuán)隊(duì)減少工作量,提升硬件模塊復(fù)用,優(yōu)化了采購(gòu)、制造等后端流程。但是CBB也是一劑毒藥,對(duì)于產(chǎn)品設(shè)計(jì),讓硬件工程師不求甚解,硬件性能、質(zhì)量、成本可能都做不到極致;對(duì)于質(zhì)量,有些CBB內(nèi)的問(wèn)題對(duì)于產(chǎn)品就是災(zāi)難,一個(gè)錯(cuò)大家都錯(cuò),豐田剎車門就是CBB的一個(gè)負(fù)面典型案例。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。