常見誤區(qū)與修正清單)
1. 誤區(qū)一至三認(rèn)知層跑偏再多的工具也救不回來最近一兩年身邊越來越多團(tuán)隊(duì)開始提 Harness Engineering 這個(gè)詞。我自己的感受是這是一個(gè)很好的概念但也是最容易被做成“四不像”的概念之一。很多人一聽“工程”兩個(gè)字第一反應(yīng)是“我們得上工具了”一聽“牽引”又覺得“不就是把流程固化下來嗎”。兩個(gè)反應(yīng)都只對(duì)了一半。我在不同團(tuán)隊(duì)里見過太多種落地方式也踩過不少坑。今天不打算講理論直接把我認(rèn)為最常見的11個(gè)誤區(qū)逐個(gè)拆開聊。每一個(gè)我都會(huì)說清楚它為什么看起來合理、實(shí)際上為什么錯(cuò)、踩進(jìn)去之后會(huì)發(fā)生什么以及我們現(xiàn)在是怎么繞開的。1.1 誤區(qū)一把 Harness Engineering 當(dāng)成“買一套系統(tǒng)”就完事這是最常見的誤解沒有之一。很多團(tuán)隊(duì)拿到預(yù)算之后做的第一件事就是盤點(diǎn)工具鏈、對(duì)比供應(yīng)商、選型、采購(gòu)、部署然后對(duì)外宣布“我們已經(jīng)完成 Harness Engineering 落地”。問題出在哪呢Harness Engineering 里的 Harness字面意思是“挽具”——馬車和馬之間的那套連接裝置。它解決的問題不是“馬夠不夠快”而是“馬和車能不能配合好”。放在軟件工程里你需要的不是一套新的發(fā)布系統(tǒng)、一個(gè)新的工單平臺(tái)而是一套把現(xiàn)有的人、流程、工具、數(shù)據(jù)串起來的機(jī)制。如果你只是買了一套工具那你得到的依然是一匹馬加一輛車中間沒有挽具。我見過一個(gè)團(tuán)隊(duì)花三個(gè)月時(shí)間引進(jìn)了業(yè)界很成熟的交付平臺(tái)配置了流水線、權(quán)限、審批流看起來一切完備。但上線之后開發(fā)團(tuán)隊(duì)依舊在用自己的腳本發(fā)版運(yùn)維團(tuán)隊(duì)依舊靠手工核對(duì)配置質(zhì)量團(tuán)隊(duì)還是用Excel在盯缺陷率。三個(gè)團(tuán)隊(duì)各干各的新平臺(tái)成了擺設(shè)。為什么因?yàn)闆]有人去想“這個(gè)平臺(tái)落地后開發(fā)的口令在哪里改、運(yùn)維的巡檢入口在哪里、QA的驗(yàn)收標(biāo)準(zhǔn)掛在哪一環(huán)節(jié)”這些銜接問題才是 Harness Engineering 真正要解決的。所以后來我們復(fù)盤得出的結(jié)論是選型只占落地工作的 20%剩下 80% 是在組織內(nèi)部重新接線。工具負(fù)責(zé)解決單點(diǎn)效率挽具負(fù)責(zé)解決協(xié)同效率。你真正要構(gòu)建的是一套工程能力體系工具只是體系里最顯眼的一部分。1.2 誤區(qū)二跳過試點(diǎn)和灰度直接定了“全集團(tuán)覆蓋”的目標(biāo)第二個(gè)誤區(qū)在領(lǐng)導(dǎo)層面特別普遍。項(xiàng)目啟動(dòng)會(huì)上最常聽到的話是“這個(gè)方向已經(jīng)驗(yàn)證過了我們要快速鋪開三個(gè)月內(nèi)所有業(yè)務(wù)線全部接入。”動(dòng)機(jī)可以理解但結(jié)果往往很慘烈。我們?cè)?jīng)吃過這個(gè)虧。當(dāng)時(shí)定了一個(gè)目標(biāo)所有業(yè)務(wù)線統(tǒng)一接入新標(biāo)準(zhǔn)統(tǒng)一配置流水線統(tǒng)一度量口徑。聽起來很完美對(duì)吧結(jié)果是A業(yè)務(wù)線和B業(yè)務(wù)線的交付節(jié)奏完全不同一個(gè)走強(qiáng)管控合規(guī)路線一個(gè)走敏捷快速迭代路線。統(tǒng)一的流水線模板對(duì)A來說太松對(duì)B來說太緊。兩邊都開始繞過平臺(tái)干活數(shù)據(jù)隨之失真最后連基本報(bào)表都沒法看了。這里我想強(qiáng)調(diào)一個(gè)原則Harness Engineering 的落地本質(zhì)是一種行為改變。行為改變是不可能通過行政命令一步到位的。正確的姿勢(shì)是找一條愿意陪你折騰的業(yè)務(wù)線做試點(diǎn)把流程磨順、把抵抗點(diǎn)找出來、把收益數(shù)據(jù)拿到手再把這套東西復(fù)制到第二條、第三條業(yè)務(wù)線?;叶韧茝V的節(jié)奏可以這樣掌握第一個(gè)月只做一條業(yè)務(wù)線的端到端打通第二個(gè)月做兩個(gè)團(tuán)隊(duì)的對(duì)比復(fù)盤第三個(gè)月才開始擴(kuò)大到更多團(tuán)隊(duì)。速度看起來慢但每一步都會(huì)產(chǎn)生真實(shí)的反饋。后面再推廣時(shí)你手里有案例、有數(shù)據(jù)、有踩過坑的解決方案說服力比任何PPT都強(qiáng)。1.3 誤區(qū)三只盯技術(shù)棧忘了研發(fā)流程和協(xié)作方式要跟著變Harness Engineering 有一個(gè)隱蔽的陷阱它看起來是純技術(shù)領(lǐng)域的事實(shí)際上涉及大量流程重塑。很多團(tuán)隊(duì)在落地時(shí)一門心思研究工具鏈怎么搭、腳本怎么寫、模板怎么配卻忽略了流程本身是否支持這套工程機(jī)制。舉個(gè)例子。假設(shè)你要在交付鏈路上引入“變更風(fēng)險(xiǎn)評(píng)估”這一環(huán)技術(shù)實(shí)現(xiàn)其實(shí)不難開發(fā)一個(gè)風(fēng)險(xiǎn)分析服務(wù)接上代碼倉(cāng)庫(kù)的元數(shù)據(jù)輸出一個(gè)風(fēng)險(xiǎn)等級(jí)就行。但流程上是否允許這個(gè)環(huán)節(jié)存在誰來確認(rèn)評(píng)估結(jié)果確認(rèn)之后如果發(fā)生誤判責(zé)任怎么劃分這些問題不定清楚技術(shù)再成熟也推不下去。我們內(nèi)部有一個(gè)很深的體會(huì)技術(shù)選型解決的是“能不能做到”流程改造解決的是“愿不愿意按這樣做”。后者往往比前者難十倍。因?yàn)榱鞒瘫澈笫侨说牧?xí)慣、信任關(guān)系和安全感?,F(xiàn)在我們?cè)诼涞厝魏我豁?xiàng)工程能力之前都會(huì)先回答三個(gè)問題這個(gè)能力改變的是誰的日常工作這個(gè)改變會(huì)讓他的工作變得更容易還是更難他身邊的哪些流程、角色、機(jī)制需要同步調(diào)整這三個(gè)問題答不清楚就先別動(dòng)技術(shù)。2. 誤區(qū)四至六度量與自動(dòng)化的“想當(dāng)然”Harness Engineering 口號(hào)里最吸引人的部分通常是“可度量”和“自動(dòng)化”。這兩個(gè)字也讓很多團(tuán)隊(duì)在落地過程中栽了跟頭。我見過太多團(tuán)隊(duì)指標(biāo)建得漂亮、自動(dòng)化率報(bào)表也很亮眼但實(shí)際研發(fā)效率和交付質(zhì)量反而倒退了。問題不在于“度量”和“自動(dòng)化”本身錯(cuò)了而在于人們太容易把它們當(dāng)成目的而不是手段。2.1 誤區(qū)四指標(biāo)靠拍腦袋定只看平均值我經(jīng)常問團(tuán)隊(duì)一個(gè)問題你們目前最核心的交付指標(biāo)是什么最常見的回答是“需求平均交付周期”。這個(gè)指標(biāo)本身沒問題問題在于“平均”二字會(huì)騙人——它把長(zhǎng)尾問題全部掩蓋了。舉個(gè)例子團(tuán)隊(duì)一共有十個(gè)需求一個(gè)需求卡了三十天另外九個(gè)需求各花三天平均交付周期是五點(diǎn)七天。單看平均值你覺得這個(gè)團(tuán)隊(duì)效率還不錯(cuò)。但實(shí)際上那一個(gè)被卡住的長(zhǎng)期需求恰恰是最重要的、依賴最復(fù)雜的核心需求。它把整個(gè)業(yè)務(wù)節(jié)奏拖垮了平均值卻看不出來。我這邊后來定度量指標(biāo)有一套自己的原則一要看分布二要看趨勢(shì)三要看相關(guān)性。分布是指 P50、P75、P90 都要看明確長(zhǎng)尾在哪里趨勢(shì)是看周度和月度的變化方向不能只看靜態(tài)數(shù)字相關(guān)性是看交付周期變短的同時(shí)線上故障率是否在上升。如果交付周期縮短了但故障率翻了一倍那不是效率提升那是把問題往后端轉(zhuǎn)移了。另一條建議是指標(biāo)不要定太多。一個(gè)團(tuán)隊(duì)一個(gè)季度只需要盯一兩個(gè)核心指標(biāo)和兩三個(gè)輔助指標(biāo)。指標(biāo)太多團(tuán)隊(duì)就會(huì)開始為指標(biāo)打工而不是為用戶價(jià)值工作。2.2 誤區(qū)五把自動(dòng)化率當(dāng)KPI做到最后自動(dòng)化反而成了負(fù)擔(dān)“自動(dòng)化率”是 Harness Engineering 里另一個(gè)自帶光環(huán)的詞。但我在實(shí)踐中發(fā)現(xiàn)盲目追求自動(dòng)化率會(huì)讓團(tuán)隊(duì)陷入一種非常荒謬的狀態(tài)自動(dòng)化本身變成了最大的維護(hù)對(duì)象。我見過一個(gè)團(tuán)隊(duì)為了讓部署自動(dòng)化率從 80% 提到 95%花了兩個(gè)多月開發(fā)各種自動(dòng)運(yùn)維腳本和異常處理流程。最后 95% 的自動(dòng)化率確實(shí)達(dá)到了但團(tuán)隊(duì)卻發(fā)現(xiàn)剩下 5% 的異常情況往往是最復(fù)雜的自動(dòng)化的腳本處理不了而那兩個(gè)多月里因?yàn)榘阉芯ν对谧詣?dòng)化上新需求的上線速度反而慢了線上問題處理效率也下降了。算下來團(tuán)隊(duì)的整體效率不升反降。這就是典型的“把自動(dòng)化變成目的”。自動(dòng)化的真正價(jià)值不是讓腳本替人做一切事情而是把人從重復(fù)勞動(dòng)里解放出來讓人去處理更有判斷力的事情。我后來跟團(tuán)隊(duì)定了一條原則如果一個(gè)操作發(fā)生過兩次就考慮自動(dòng)化如果一個(gè)操作發(fā)生過五次就強(qiáng)制自動(dòng)化如果這個(gè)操作每個(gè)月只需要處理一次那保持手動(dòng)也沒問題。更重要的是每次做自動(dòng)化之前都要估算“投入產(chǎn)出比”投入是多少開發(fā)時(shí)間、產(chǎn)出是每個(gè)月省下多少分鐘、維護(hù)這條自動(dòng)化鏈路每個(gè)月又要花多少時(shí)間。只有產(chǎn)出穩(wěn)定大于投入的時(shí)候自動(dòng)化才值得做。2.3 誤區(qū)六只關(guān)注“做出來”不關(guān)注“用起來”這個(gè)誤區(qū)在工具平臺(tái)類的項(xiàng)目中太常見了。團(tuán)隊(duì)把平臺(tái)搭好了、文檔寫好了、培訓(xùn)也做了就覺得任務(wù)完成了。結(jié)果一看后臺(tái)數(shù)據(jù)平臺(tái)在團(tuán)隊(duì)內(nèi)的周活躍率不到 20%大部分功能根本沒人點(diǎn)。為什么沒人用我去訪談開發(fā)同學(xué)之后總結(jié)出三個(gè)原因第一平臺(tái)操作流程比自己寫腳本要長(zhǎng)多了好幾個(gè)點(diǎn)擊步驟第二平臺(tái)的響應(yīng)速度比原來的工具慢哪怕是快一秒鐘工程師都會(huì)感知得到第三平臺(tái)的報(bào)錯(cuò)信息不友好出了問題不知道找誰也不知道怎么排查。說白了工程師是非常在意工具體驗(yàn)的人群。他們手頭的那套老方法盡管低效但至少是熟悉、可控、能自己排查問題的。平臺(tái)再先進(jìn)只要用起來不順手他們就會(huì)用腳投票。我們現(xiàn)在的做法是任何平臺(tái)類能力上線后第一周不看別的就看“實(shí)際使用率”。使用率低于預(yù)期的一律先砍掉或者回爐不要想著靠運(yùn)營(yíng)活動(dòng)推一推就行。另一個(gè)做法是設(shè)立“內(nèi)測(cè)體驗(yàn)官”每次新功能上線之前找三五個(gè)普通開發(fā)同學(xué)來試用他們覺得卡殼的地方就是我們要改進(jìn)的地方。記住一句實(shí)在話好用的工具不需要強(qiáng)制推廣難用的工具推了也會(huì)被繞過去。3. 誤區(qū)七至九落地形態(tài)與長(zhǎng)期運(yùn)營(yíng)的“三座大山”前面說的大多是理念和指標(biāo)層面的偏差接下來聊三個(gè)更偏“落地形態(tài)”的誤區(qū)。這三個(gè)誤區(qū)決定了你的 Harness Engineering 到底是沉淀為組織資產(chǎn)還是變成一陣風(fēng)。3.1 誤區(qū)七每個(gè)項(xiàng)目都重復(fù)造輪子沒有平臺(tái)化沉淀大多數(shù)團(tuán)隊(duì)做工程能力建設(shè)的時(shí)候都會(huì)經(jīng)歷“每個(gè)項(xiàng)目各自為戰(zhàn)”的階段。我這邊的項(xiàng)目需要一套發(fā)布流程自己搭一套那邊的項(xiàng)目需要一套測(cè)試環(huán)境管理也自己搭一套。每個(gè)項(xiàng)目都有道理因?yàn)轫?xiàng)目需求不同、進(jìn)度壓力不同、現(xiàn)有技術(shù)棧也不同。但這樣做的問題在半年后才會(huì)暴露。你會(huì)發(fā)現(xiàn)每個(gè)項(xiàng)目里都有一套看起來像但細(xì)節(jié)不一樣的“輪子”它們的接口互不兼容維護(hù)成本巨大。更麻煩的是當(dāng)你想在這套基礎(chǔ)上構(gòu)建一個(gè)統(tǒng)一的可觀測(cè)體系或交付大盤時(shí)發(fā)現(xiàn)連最基本的“一次發(fā)布需要多長(zhǎng)時(shí)間”這個(gè)指標(biāo)各項(xiàng)目的口徑都對(duì)不齊。真正的 Harness Engineering 應(yīng)該是組織級(jí)的沉淀而不是項(xiàng)目級(jí)的工具。具體來說就是要把公共的部分下沉為平臺(tái)能力統(tǒng)一的流水線編排、統(tǒng)一的權(quán)限模型、統(tǒng)一的度量口徑、統(tǒng)一的環(huán)境管理。項(xiàng)目之間可以有不同的業(yè)務(wù)邏輯但基礎(chǔ)設(shè)施必須是同一套。否則你積累的不是工程資產(chǎn)而是工程債務(wù)。這件事越早想清楚越好。哪怕一開始平臺(tái)能力簡(jiǎn)陋一點(diǎn)也要先把“統(tǒng)一”這個(gè)架子立起來。之后再逐步豐富也比各項(xiàng)目跑偏之后再回來收斂要省力得多。3.2 誤區(qū)八按“項(xiàng)目制”交付上線即失管另一個(gè)常見現(xiàn)象是把 Harness Engineering 的落地當(dāng)成一個(gè)項(xiàng)目來做。立項(xiàng)、定目標(biāo)、排期、上線、結(jié)項(xiàng)、團(tuán)隊(duì)解散——流程完全沒問題但它注定做不成。因?yàn)楣こ棠芰Φ慕ㄔO(shè)不是一次性的它是一個(gè)持續(xù)演進(jìn)的生命體。工具上線只是起點(diǎn)后續(xù)還有模板迭代、指標(biāo)校準(zhǔn)、接入方拓展、問題響應(yīng)等一系列工作。如果按照項(xiàng)目制來運(yùn)作上線即意味著項(xiàng)目的結(jié)束也就意味著后續(xù)沒人再維護(hù)了。我見過最典型的案例是一個(gè)平臺(tái)團(tuán)隊(duì)辛苦半年上線了一套質(zhì)量門禁系統(tǒng)上線當(dāng)天演示效果很好領(lǐng)導(dǎo)也很滿意。但一個(gè)月后因?yàn)闃I(yè)務(wù)方急著上線新功能提出了繞過質(zhì)量門禁的申請(qǐng)又過了兩個(gè)月繞過已經(jīng)成為常態(tài)質(zhì)量門禁變成了一個(gè)形式上的關(guān)卡實(shí)際作用接近于零。所以正確的組織形態(tài)應(yīng)該是“產(chǎn)品化運(yùn)營(yíng)”。你需要有一個(gè)長(zhǎng)期存在的團(tuán)隊(duì)對(duì)這套工程能力的用戶量、滿意度、迭代節(jié)奏負(fù)責(zé)。哪怕這個(gè)團(tuán)隊(duì)只有兩三個(gè)人也要把它當(dāng)做一個(gè)內(nèi)部產(chǎn)品來經(jīng)營(yíng)而不是一個(gè)一次性交付的項(xiàng)目。3.3 誤區(qū)九安全合規(guī)被當(dāng)成最后一公里結(jié)果被緊急叫停這個(gè)誤區(qū)在金融、政務(wù)、醫(yī)療這些強(qiáng)合規(guī)行業(yè)特別常見。團(tuán)隊(duì)在前面把流程、平臺(tái)、自動(dòng)化都做好了到了最后發(fā)布上線階段才發(fā)現(xiàn)合規(guī)審計(jì)過不了安全策略不允許手工審批環(huán)節(jié)沒法替換。我印象很深的一次經(jīng)歷是我們做了一個(gè)非常漂亮的自動(dòng)化發(fā)布鏈路開發(fā)、測(cè)試、預(yù)發(fā)都順利通過了結(jié)果到了生產(chǎn)發(fā)布環(huán)節(jié)安全部門要求必須人工確認(rèn)服務(wù)器變更清單。這一個(gè)環(huán)節(jié)就把整條自動(dòng)化鏈路打斷了前面所有的自動(dòng)化紅利都在最后一公里被消耗掉。問題出在哪里出在我們做架構(gòu)設(shè)計(jì)的時(shí)候沒有把安全合規(guī)團(tuán)隊(duì)拉進(jìn)來看需求和評(píng)審方案。安全合規(guī)不是流程末端的一個(gè)節(jié)點(diǎn)而是整個(gè) Harness Engineering 體系里的一條橫切約束。和性能、成本、可用性一樣它從一開始就應(yīng)該被設(shè)計(jì)進(jìn)去?,F(xiàn)在我們?cè)谠O(shè)計(jì)任何工程鏈路時(shí)第一件事就會(huì)邀請(qǐng)安全、合規(guī)、審計(jì)的同學(xué)一起參與把管控要求前置到流程設(shè)計(jì)里。自動(dòng)收集審計(jì)日志、自動(dòng)生成合規(guī)報(bào)告、內(nèi)置權(quán)限審批流這些要在第一天就寫在架構(gòu)圖里而不是等開發(fā)完了再補(bǔ)。別把安全合規(guī)當(dāng)最后一公里否則它就會(huì)成為壓垮整條鏈路的那根稻草。4. 誤區(qū)十至十一文化宣導(dǎo)與團(tuán)隊(duì)演進(jìn)的“軟刀子”如果說前面九個(gè)誤區(qū)都屬于“硬性問題”那最后這兩個(gè)誤區(qū)就是“軟性問題”。它們看不見摸不著但殺傷力一點(diǎn)都不比硬性問題小而且往往要到落地半年之后才爆發(fā)。4.1 誤區(qū)十把賦能做成了監(jiān)督工程師開始對(duì)抗平臺(tái)很多平臺(tái)的初衷是“賦能研發(fā)團(tuán)隊(duì)”但在實(shí)際運(yùn)轉(zhuǎn)中不知不覺就變成了“監(jiān)督研發(fā)團(tuán)隊(duì)”。這是 Harness Engineering 落地中最微妙的異化過程。怎么異化的舉個(gè)例子平臺(tái)上線了流水線可視化和效能大盤本意是幫助團(tuán)隊(duì)發(fā)現(xiàn)問題、優(yōu)化流程。但因?yàn)閿?shù)據(jù)是實(shí)時(shí)采集的領(lǐng)導(dǎo)層能隨時(shí)看到每個(gè)團(tuán)隊(duì)、每個(gè)模塊的交付情況于是月度例會(huì)上開始曬數(shù)據(jù)、點(diǎn)名、問責(zé)。開發(fā)同學(xué)很快就反應(yīng)過來這套系統(tǒng)是用來考核我的。于是他們的行為開始變形——能快速拆小需求就拆小需求能合并提交就合并提交一切以“讓大盤好看”為準(zhǔn)而不是以“讓用戶價(jià)值更快交付”為準(zhǔn)。平臺(tái)一旦被打上“監(jiān)控工具”的標(biāo)簽就再也別指望工程師會(huì)主動(dòng)在上面提交真實(shí)的數(shù)據(jù)、暴露真實(shí)的問題。他們會(huì)用腳投票會(huì)想盡辦法繞開平臺(tái)的檢查甚至?xí)室庠谄脚_(tái)里制造假數(shù)據(jù)。有一次我和一位資深工程師聊天他說了一句讓我印象很深的話平臺(tái)讓我們掃碼寫工時(shí)的時(shí)候我感覺自己不是工程師是一個(gè)流水線上的工人。這句話提醒了我Harness Engineering 的度量不是為了控制人而是為了幫助人。數(shù)據(jù)應(yīng)該給工程師自己看幫助他們發(fā)現(xiàn)自己工作流程里的瓶頸而不是作為管理層評(píng)審的工具。這個(gè)定位如果不擺正整個(gè)體系遲早會(huì)坍塌。我在團(tuán)隊(duì)里現(xiàn)在會(huì)刻意做幾件事第一效能數(shù)據(jù)默認(rèn)不對(duì)管理者開放至少不按個(gè)人維度開放第二任何涉及團(tuán)隊(duì)效能排名的功能一律不做第三平臺(tái)上每個(gè)指標(biāo)旁邊都寫清楚設(shè)計(jì)目的和使用建議讓工程師知道這個(gè)數(shù)據(jù)是拿來干什么的。做平臺(tái)的人需要時(shí)刻提醒自己我們服務(wù)的是工程師不是監(jiān)控機(jī)器人。4.2 誤區(qū)十一核心依賴明星個(gè)人梯隊(duì)和復(fù)盤機(jī)制缺失最后一個(gè)誤區(qū)其實(shí)也是最容易被忽視的整個(gè) Harness Engineering 落地高度依賴一兩個(gè)關(guān)鍵人物。這個(gè)人可能是架構(gòu)師、技術(shù)專家也可能是一個(gè)熱衷于工程的資深開發(fā)。他推動(dòng)了整個(gè)體系建立所有關(guān)鍵決策都需要他拍板出現(xiàn)問題也只有他能解決。這個(gè)過程聽起來很美好團(tuán)隊(duì)里出了一個(gè)英雄。但風(fēng)險(xiǎn)在于一旦這個(gè)人離崗、轉(zhuǎn)崗、或者是休假整個(gè)工程體系就停轉(zhuǎn)了。我見過一個(gè)平臺(tái)核心設(shè)計(jì)者調(diào)去負(fù)責(zé)其他業(yè)務(wù)之后剩下的人連調(diào)整一個(gè)流水線模板都不敢因?yàn)闆]有人說得清楚整套設(shè)計(jì)里面那些默認(rèn)邏輯和隱藏假設(shè)。這種單點(diǎn)依賴問題在落地階段尤其明顯。因?yàn)樵诖罱A段關(guān)鍵人物掌握的信息量最大溝通成本最低什么事他順手就做了。其他人也樂得輕松——反正有問題找他就行。等問題積累到不得不解決的時(shí)候已經(jīng)沒人能接手了。要破除這個(gè)誤區(qū)需要在過程中就做三件事第一結(jié)對(duì)每一項(xiàng)核心設(shè)計(jì)至少要有兩個(gè)人在全程參與避免只有一個(gè)人懂全局第二文檔即代碼所有決策記錄、架構(gòu)選型理由、取舍邏輯都要沉淀成文檔不能只存在某一個(gè)人的腦子里第三定期復(fù)盤每?jī)蓚€(gè)月做一次正式的階段性復(fù)盤把當(dāng)前的問題清單、決策記錄、后續(xù)計(jì)劃都過一遍確保體系是團(tuán)隊(duì)的而不是個(gè)人的。我經(jīng)常說一句話好的 Harness Engineering 體系換掉任何一個(gè)人都不會(huì)停止運(yùn)轉(zhuǎn)糟糕的體系核心人物請(qǐng)假一周就停擺。5. 走出誤區(qū)之后一套可以復(fù)用的修正清單上面的11個(gè)誤區(qū)都不是看書看出來的是我們?cè)诓煌?xiàng)目里一點(diǎn)點(diǎn)踩出來的。踩坑不可怕可怕的是踩完之后沒有形成修正機(jī)制。所以最后我把自己現(xiàn)在使用的一套修正清單分享出來每次啟動(dòng)新的工程能力建設(shè)時(shí)逐條過一遍。認(rèn)知與目標(biāo)層先定義清楚我們要解決的是誰的什么問題收益方是開發(fā)、運(yùn)維、測(cè)試、管理者還是最終用戶選定一條試點(diǎn)業(yè)務(wù)線明確為了期一個(gè)月的驗(yàn)證周期不接受直接全量鋪開的方案。把流程、角色、激勵(lì)的變化一并寫入實(shí)施方案技術(shù)架構(gòu)只是方案的一部分。度量與自動(dòng)化層指標(biāo)選型堅(jiān)持“分布優(yōu)先于平均、趨勢(shì)優(yōu)先于快照、相關(guān)性優(yōu)先于單點(diǎn)”。自動(dòng)化必須附帶投入產(chǎn)出比估算不允許為了自動(dòng)化而自動(dòng)化。平臺(tái)上線后立刻跟蹤使用率低于預(yù)期就回爐修改不靠推廣硬撐。形態(tài)與運(yùn)營(yíng)層先定平臺(tái)化的邊界和統(tǒng)一口徑再談個(gè)性化需求擴(kuò)展。用內(nèi)部產(chǎn)品化的組織形態(tài)來運(yùn)營(yíng)不按一次性項(xiàng)目來做。從一開始就把安全合規(guī)需求加入架構(gòu)設(shè)計(jì)不放到后置階段。文化與團(tuán)隊(duì)層堅(jiān)持產(chǎn)品“為工程師服務(wù)”定位所有度量指標(biāo)都從幫助視角設(shè)計(jì)。核心設(shè)計(jì)要結(jié)對(duì)、決策要留痕、過程要復(fù)盤防止單點(diǎn)依賴。這套清單幫我避免了很多次“重蹈覆轍”。最近一次復(fù)盤的時(shí)候我們團(tuán)隊(duì)發(fā)現(xiàn)一個(gè)很有意思的信號(hào)開始有開發(fā)同學(xué)主動(dòng)跑到平臺(tái)團(tuán)隊(duì)提需求了說希望新增某個(gè)能力幫助他減少一個(gè)手工環(huán)節(jié)。那一刻我知道Harness Engineering 總算沒有淪為擺設(shè)而是開始變成大家日常工作中的自然習(xí)慣。