原創(chuàng):萬金? 來自《DevOps實施手冊》“第6章:DevOps的企業(yè)級推廣”的解讀 發(fā)表與2018年6月24日 估計閱讀時間12分鐘

作者簡介:
萬金
《DevOps實施手冊 在多級IT企業(yè)中使用DevOps》譯者
15年知名外企與中國企業(yè)的IT從業(yè)經驗,包括IBM,華為,ThoughtWorks 具有8年云計算相關經驗,多系統(tǒng)的研發(fā)和運維經驗,熟練掌握敏捷和DevOps方法論和實踐,具有軟件研發(fā)生命周期工具與流程改進豐富經驗。
大型企業(yè)為什么沒有實施DevOps?
本文講述如何重新定義DevOps能力中心的組織目標與DevOps團隊模式,解決大型企業(yè)推廣過程中DevOps人才匱乏和缺少DevOps團隊模型的問題。2009年,DevOps的誕生帶來了軟件發(fā)布質量和效率的大幅提升,但在之后的9年發(fā)展進程中,DevOps只在初創(chuàng)企業(yè)和互聯(lián)網公司得到了應用,很少有傳統(tǒng)企業(yè)實施DevOps的成功案例。原因在于DevOps不是一勞永逸的項目,需要持續(xù)改進文化,而大型企業(yè)的文化并不是為了創(chuàng)新而產生的,所以克服文化惰性,不斷積累DevOps實踐和DevOps人才是在大型企業(yè)推廣DevOps變革的關鍵。2017年作者發(fā)表的文章《從集裝箱歷史看DevOps的發(fā)展進程》闡述了使用“3D原則”改變DevOps在研發(fā)和運維部門之間協(xié)作方式所帶來的顯著效率提升,說明將DevOps實踐從部門內部擴展到整個公司層面,能夠帶來巨大的效率提升。
前情回顧
變革始于面對讓你痛苦的事情起心動念,而推動變革的動力來自于統(tǒng)計數(shù)據(jù)給出的回報率。“相鄰可能”給到斯蒂芬靈感,使用小雞孵化器的技術研發(fā)出嬰兒恒溫箱,成為最偉大的發(fā)明。嬰兒恒溫箱快速推廣的動力來自于斯蒂芬給出的關鍵調研數(shù)字:“使用恒溫箱后新生兒死亡率從66%降低為38%”。從中得到啟發(fā),DevOps商業(yè)變革案例的成功,為團隊實施DevOps變革指明方向。投資回報比(ROI)的統(tǒng)計數(shù)據(jù)則把DevOps變革作為一個投資項目,讓變革獲得資源投入。
發(fā)展中國家為什么沒有普及嬰兒恒溫箱?
嬰兒恒溫箱還有一個產品迭代的故事,又是一個因為痛苦而起心動念的故事。二戰(zhàn)后嬰兒恒溫箱在歐美發(fā)達國家的廣泛使用,大大提高了新生兒的存活率。但是發(fā)展中國家嬰兒的死亡率依然很高,如果有了嬰兒恒溫箱這些嬰兒是可以存活下來的。
首先作為醫(yī)療設備的嬰兒恒溫箱售價為4萬美元。價格成為第一個障礙,但不是最大的障礙。2005年,也是印尼海嘯發(fā)生后的第二年,國際救援組織捐給印尼八臺嬰兒恒溫箱。三年后的2008年,麻省理工學院的教授普賴斯蒂洛去訪問印尼,發(fā)現(xiàn)這八臺恒溫箱全部出現(xiàn)了故障,無法使用了。
復雜的設備一定會有某些組件出現(xiàn)故障的情況發(fā)生,而當?shù)氐墓ぷ魅藛T看不懂恒溫箱的英文維修手冊,只能任由嬰兒死去。很多案例表明,捐給不發(fā)達地區(qū)的技術設備中,大約有95%的設備會在5年內因為故障無法投入使用。
重新定義恒溫箱
既然在前5年時間里,95%的技術設備都會出現(xiàn)故障,那么找到維修人員和備件就是解決恒溫箱普及問題的關鍵所在。于是普賴斯蒂洛教授重新定義了嬰兒恒溫箱的產品需求:
首先是提高可靠性和降低制造成本;
更重要的是一旦出現(xiàn)故障,設備不會完全癱瘓;
通過替換備件方式修理后就可以再次投入使用。
新的產品定義并沒有對恒溫箱的功能進行任何改變:提供恒溫,透氣的保障性空間。而是對恒溫箱的非功能需求進行重新定義,從而改變與外部資源的協(xié)作關系。
如何方便的找到維修人員和備件?
普賴斯蒂洛教授完成了對產品的重新定義后,波士頓的羅森醫(yī)生提出了解決方法。羅森發(fā)現(xiàn)任何一個發(fā)展中國家的小城鎮(zhèn)都有汽車的維修和保養(yǎng)能力。即使這些城鎮(zhèn)里缺少空調、筆記本電腦或者是有線電視,也都能確保汽車可以在公路上行駛。

于是羅森就向普賴斯蒂洛提議:可不可以使用汽車零部件,改良出一種簡易的嬰兒恒溫箱?三年之后,普賴斯蒂洛團隊做出了新的嬰兒恒溫箱原型,他們給它取了一個簡單的名字:育嬰器。在外形看來育嬰器和現(xiàn)代的嬰兒恒溫箱沒有區(qū)別,不過內部零件完全由汽車零件組成:
車頭燈的聚光燈作為供暖部件;
汽車儀表盤的風扇提供循環(huán)空氣;
車門的蜂鳴器作為報警系統(tǒng);
? 動力來自于摩托車的電瓶。
使用汽車零件作為育嬰器的零部件,好處在于不僅直接利用當?shù)毓┴?b>充足的汽車零件;同時只要是汽車維修人員,就可以通過替換零件方式修理育嬰器。這就恰好滿足了普賴斯蒂洛的兩個設想,方便的找到維修人員和備件。
不需要維修手冊的育嬰器
這樣一來只要是汽車維修人員就可以修理育嬰器了,甚至不需要閱讀維修手冊,只要有能力替換一個故障的車燈就能勝任該項工作。維修育嬰器不再需要復雜檢修設備和技術專家。普賴斯蒂洛利用已經普及的汽車維修體系,解決了育嬰器難于維修問題,造福了無數(shù)的孩子與家庭。
從現(xiàn)有汽車維修系統(tǒng)獲得維修能力使得育嬰器在發(fā)展中國家普及,這是從協(xié)作關系層面改進產品的一個創(chuàng)新。嬰兒恒溫箱誕生使用了小雞孵化器的技術,育嬰器的普及是借用了現(xiàn)有的維修體系,完成模式的創(chuàng)新。而借用現(xiàn)有的系統(tǒng)中的能力為創(chuàng)新找到協(xié)作資源也是偉大的創(chuàng)新。
打造軍工級的DevOps保障性體系
相比于育嬰器,同樣是關乎生死的軍工產品,是人類在最復雜的協(xié)作場景下,還能發(fā)揮性能的產品。在軍工產品使用、制造和維修過程中,總結出的六個性質稱為“軍工六性”。其描述了軍工產品在日常使用、供給運輸和維修保養(yǎng)方面的要求,是滿足戰(zhàn)場復雜環(huán)境下使用的前提。
“軍工六性”對產品的三個層面的要求:
穩(wěn)定性和適應性滿足在日常使用的不同環(huán)境中,可以穩(wěn)定發(fā)揮作用;
安全性和保障性滿足在達成戰(zhàn)略目標過程中,風險控制和資源保障要求;
維修性和測試性滿足對外附能過程中,對產品進行調整和狀態(tài)顯示要求。
“軍工六性”的三個層面正好映射到企業(yè)部門內部、整個企業(yè)內部以及企業(yè)間的協(xié)作關系。讓DevOps實踐方案具有這些協(xié)作特性,就能解決DevOps推廣過程中遇到的無法持續(xù)改進和更大規(guī)模協(xié)作的問題。也就是為DevOps打造軍工級保障性體系。
本書第6章“DevOps的企業(yè)級推廣”提及的改進協(xié)作的DevOps方案,按照協(xié)作范圍的歸納如下。
部門內部協(xié)作:
? DevOps 團隊模型,建立DevOps團隊,分享DevOps實踐并培養(yǎng)人才。
? 發(fā)展持續(xù)改進文化,持續(xù)輸出能力DevOps實踐。
企業(yè)內部協(xié)作:
? DevOps 能力中心,在企業(yè)內促成部門間的知識和技能和資源的共享。
? DevOps 的安全性考慮,滿足DevOps在核心業(yè)務中的應用。
? 發(fā)展大規(guī)模創(chuàng)新文化,在組織內傳播并慶祝成功,以贏得懷疑論者以及落后分子。
企業(yè)間協(xié)作:
? 工具與流程標準化,提供標準的工具和API,將企業(yè)的核心能力擴展到外部生態(tài)。
? DevOps 與外包,云端的DevOps工具鏈實現(xiàn)研發(fā)工作進度和風險的可見性,滿足DevOps工具與研發(fā)資源的外包的要求。
DevOps團隊模型有利于發(fā)展持續(xù)改進的文化;使得DevOps能力中心不斷地為組織提供改進方案;DevOps安全性改良使得核心業(yè)務快速度迭代;通過云計算方式實現(xiàn)的標準化的工具與流程實現(xiàn)了DevOps能力與研發(fā)資源外包,使得協(xié)作可以在企業(yè)以外進行。
敏捷教練和DevOps教練
就像重新定義育嬰器一樣,使用敏捷開發(fā)的推廣方式推廣DevOps變革,是對DevOps外部協(xié)作資源的重新定義。敏捷宣言在2001年簽署后的17年間,涌現(xiàn)出許多敏捷教練,并在推廣的過程中積累了豐富的實施經驗。可不可以使用推廣敏捷的方式,推廣DevOps變革呢?2015年作者在華為2012實驗室的研發(fā)能力中心工作,從事DevOps企業(yè)級推廣工作。就是使用敏捷教練的方式推廣DevOps變革,通過“DevOps能力提升項目”改進華為各個BG(業(yè)務部門,比如推出華為手機的消費者BG)的研發(fā)能力。華為2016年底推出擁有8大服務的一站式云端DevOps平臺DevCloud。阿里2017成立了研發(fā)效能事業(yè)部,并發(fā)布云效平臺。騰訊云隨后成立DevOps產品部,2018年1月推出了自己的一站式研發(fā)工具平臺DevMaster。從DevOps云化工具鏈商業(yè)成果和產品成熟度角度看華為引領了軟件生產效率變革。
DevOps能力中心組織目標
能力中心是企業(yè)用以協(xié)調 IT 技能的組織架構。能力中心提供項目專業(yè)知識或程序支持,既是知識存儲庫,也是多個業(yè)務領域的資源庫。信息服務組織中最常見的是技術型能力中心,用于應用開發(fā)、軟件語言技能、數(shù)據(jù)管理、互聯(lián)網開發(fā)以及網絡設計。在企業(yè)內部,應用于物流、財務以及人力資源的能力中心(或共享服務)越來越普遍。基于知識庫的能力完全是作為信息來源。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? —— Gartner,2016
本書提出DevOps能力中心的核心角色包括:協(xié)調資源的項目經理;推動工具方案實施與評價結果的執(zhí)行經理;交付DevOps平臺的基礎架構經理;DevOps教練和技術布道者。書中還對DevOps教練的工作內容進行了詳細的描述。
除了核心角色,DevOps能力中心還需要明確的提出組織目標:
1. 為 DevOps 實施提供思想指引,在組織內傳播并慶祝成功以贏得懷疑論者以及落后分子。
? 2. 在組織內設立 DevOps 實施團隊。定期面對面的本地會面交流和傳播最佳實踐。
? 3. 通過 DevOps 教練培訓項目團隊,確保 DevOps 實踐持續(xù)的、不斷改進,而非一次性的項目。
? 4. 獲取并提供監(jiān)測成功的衡量標準與指標。就實施進展情況及實施成果提供可見性。
? 5. 促進或提供開發(fā)平臺通用工具,使跨功能倉筒的利益相關者參與變革,以驅動 DevOps 實施。
? 6. 為驅動長期變革的高層管理者提供培訓,確保擬定適當?shù)囊?guī)劃并進行適度的投資以實現(xiàn)成功。
使用已經普及的能力中心的組織模式,推廣DevOps工具、能力及文化,重新定義了組織層面如何積累DevOps實踐和培養(yǎng)推廣DevOps人才所需的組織模式。
DevOps團隊模型
DevOps不是職位名稱,也不是角色或部門,而是一個團隊。是一個鼓勵分享經驗又穩(wěn)定存在的團隊模型,當然也是有利于創(chuàng)新的學習型組織結構。

? 分隊 (squad) 是團隊中的最小單位。
? 部落 (tribe) 是工作在應用相關功能領域的一組分隊的集合。
分會 (chapter) 是同一個部落內,在不同分隊的相同能力領域工作的人員所組成的團隊。
協(xié)會 (guild) 本質上也是一個分會,只是協(xié)會是跨越部落界限的。
良性循環(huán)
如同《系統(tǒng)思考》中提到的增強回路,組織文化的改變是自下而上的過程,從分隊 (squad) 開始不斷形成持續(xù)改進的正反饋,直到部落 (tribe) 甚至是協(xié)會 (guild)。正如《禮記·大學》:“心正而后身修,身修而后家齊,家齊而后國治,國治而后天下平?!本蛷膫€人到宗族,再到國家和天下的逐步升級的治理思想。
無需維修手冊的DevOps變革
創(chuàng)新并不是孤立存在的,需要放在組織工具和流程中才能發(fā)揮作用。還記得前文中提到的幾乎不需要維修手冊的育嬰器嗎?通過已有的實施變革的方法(能力中心和DevOps團隊模型)讓DevOps在企業(yè)內形成良性循環(huán),是在協(xié)作層面重新定義DevOps變革的方法。
未完待續(xù)
改進育嬰器的故事增進了我們對自下而上的DevOps變革過程的了解。大家都知道萬事開頭難,如何克服文化惰性,自上而下的讓組織開始DevOps變革呢?下期會對《DevOps實施手冊》第2章: "DevOps實施”進行解讀。
下一篇:駕馭你心里的大象
---------------------------------------------我是說正事分割線----------------------------------------
既然您都這么用心的看完了,那就送個彩蛋吧。作者翻譯的《DevOps實施手冊》已經發(fā)行。
本書從如何開發(fā)企業(yè)自己的DevOps手冊入手,開發(fā)企業(yè)DevOps變革的商業(yè)案例,最后通過相互信任的企業(yè)文化將DevOps成果不斷擴大到整個公司。
據(jù)說作者近期會對本書重點章節(jié)進行解讀,并在6月30日的《DevOps國際峰會暨DevOps金融峰會2018·北京》上簽名售書
DevOps國際峰會連接:https://www.huodongjia.com/event-1047513737.html
