2019年5月10-12日,DevOpsDays大會(huì)在北京新世紀(jì)日航飯店舉辦。DevOpsDays是一個(gè)國際型的系列技術(shù)峰會(huì)品牌,于2017年引入中國大陸。它的會(huì)議內(nèi)容涵蓋了軟件開發(fā)、測試、運(yùn)維和安全,以及它們之間的交集。主題通常包括敏捷開發(fā)、運(yùn)維自動(dòng)化、持續(xù)測試、安全加固、持續(xù)交付、持續(xù)集成、組織文化等。
華為云DevCloud布道師徐毅受邀參加本次大會(huì),在大會(huì)上傳遞了DevOps的初心—更快速地交付持續(xù)客戶價(jià)值,并分享了如何做到全面發(fā)展的DevOps。
?
華為云DevCloud布道師徐毅講到DevOps的初心,一定是為了更頻更快地交付客戶價(jià)值。技術(shù)采納生命周期變得越來越短,從傳統(tǒng)的“鐘形”曲線已經(jīng)被更為陡峭的“鯊魚鰭”曲線所替代,做不到持續(xù)快速交付客戶價(jià)值的企業(yè),無疑將面臨更為嚴(yán)峻的挑戰(zhàn)。
?
下圖出自Gartner的2019年報(bào)告“DevOps如何更快速地交付持續(xù)客戶價(jià)值”,右側(cè)是已經(jīng)為人熟知的DevOps雙環(huán),左側(cè)其實(shí)是告誡我們DevOps不能止步于提交到發(fā)布的環(huán)節(jié),需要持續(xù)優(yōu)化擴(kuò)展到客戶場景和客戶價(jià)值探索的環(huán)節(jié),才能夠打通整個(gè)價(jià)值鏈條實(shí)現(xiàn)加速。
?
到底要怎么做好DevOps呢?如果把DevOps做得很好的企業(yè)比喻成三好學(xué)生的話,那么要能夠成為DevOps三好學(xué)生,就是要做到德智體美勞全面發(fā)展。就如同下面這個(gè)公式一樣:
(工程方法 + 最佳實(shí)踐 + 生態(tài)) x 工具平臺(tái) = 能力
?
德:就是立場要堅(jiān)定、不動(dòng)搖,堅(jiān)持以持續(xù)地快速交付價(jià)值為目標(biāo);
智:就是要有智慧,有思路、有方法,實(shí)踐需要理論指引,這個(gè)理論就是靠譜的工程方法;
體:DevOps的體力,就是具體的各種基礎(chǔ)實(shí)踐,它們的最主要作用其實(shí)是訓(xùn)練我們的基本動(dòng)作和研發(fā)紀(jì)律,基本功扎實(shí),戰(zhàn)斗力才強(qiáng);
美:不能孤芳自賞,好要得到大家的認(rèn)同,而且眾人拾柴火焰才高;
勞:影響勞動(dòng)產(chǎn)出的一大因素就是生產(chǎn)工具,優(yōu)秀工具平臺(tái)甚至可以達(dá)到事半功倍的效果;
群:群出自臺(tái)灣版口號(hào)“德智體群美”,要發(fā)動(dòng)群眾,就要解決人與組織的問題。
DevOps為什么不容易?因?yàn)樗噲D解決的是一個(gè)大難題,就是蓬勃的新生產(chǎn)力跟遲鈍的舊生產(chǎn)關(guān)系之間的矛盾,而這種矛盾對(duì)即有組織結(jié)構(gòu)發(fā)起了挑戰(zhàn)。運(yùn)維、測試、安全、項(xiàng)目管理、研發(fā)等各種傳統(tǒng)只能部門,都遇到了巨大的挑戰(zhàn),而新形勢下有效的組織結(jié)構(gòu)長啥樣卻沒有一個(gè)固定的答案。一篇業(yè)內(nèi)報(bào)道指出,在DevOps轉(zhuǎn)型中,有7種DevOps組織反模式和9種有效組織模式,在這么多種可能的模式中,如何選擇或如何探索出適合自己的模式,實(shí)非易事。
那么到底應(yīng)該怎么解決這些問題呢?
建議一,從項(xiàng)目型向產(chǎn)品型轉(zhuǎn)變,要認(rèn)真考慮設(shè)立產(chǎn)品經(jīng)理制度。定義和確立產(chǎn)品,也是在梳理企業(yè)的價(jià)值流,并基于此建立價(jià)值交付型的組織結(jié)構(gòu)??蛻繇?xiàng)目的涓涓細(xì)流,經(jīng)過價(jià)值流動(dòng)路徑,匯入產(chǎn)品,最終流向價(jià)值大海。接著還要疏通河道,就是針對(duì)這個(gè)價(jià)值路徑進(jìn)行價(jià)值流分析,發(fā)現(xiàn)那些阻礙價(jià)值流動(dòng)的問題,并逐個(gè)解決。
第二個(gè)建議,是要訓(xùn)練出有規(guī)矩、講紀(jì)律、有戰(zhàn)斗力、能自管理的團(tuán)隊(duì)。如今的VUCA時(shí)代,過去那種經(jīng)理驅(qū)動(dòng)型團(tuán)隊(duì)的響應(yīng)速度已經(jīng)很難跟上市場、產(chǎn)品、技術(shù)等各方面的變化節(jié)奏,經(jīng)理人也很容易成為瓶頸,所以我們需要讓團(tuán)隊(duì)變得自管理,另一方面我又需要團(tuán)隊(duì)有規(guī)矩、講紀(jì)律,不然自管理變成放羊管理就適得其反了。
建議三跟需求有關(guān)。需求命很苦,經(jīng)常被人吐槽,誰都不滿意。用戶故事大家都很熟悉了,但是要真正發(fā)揮它的威力,需要我們基于用戶場景出發(fā),或是要反向找到用戶故事的場景,要弄清楚有了這個(gè)功能之后,用戶到底如何使用、能給用戶帶來什么好處?用戶故事是關(guān)于用戶如何使用產(chǎn)品/系統(tǒng)功能去完成某件事情的故事,而不是產(chǎn)品/系統(tǒng)的功能。此外,還要做好信息共享、減少誤解,我們應(yīng)該把作為工作項(xiàng)的用戶故事跟用戶類型介紹、需求詳情、相關(guān)文檔、相關(guān)代碼關(guān)聯(lián)起來,以便相關(guān)工作者能夠看到共享信息,避免因?yàn)樾畔鬟f或不透明而造成的誤會(huì)以及不必要的返工。
第四個(gè)建議是要梳理清楚和明確代碼分支模式,以及基于這種分支模式的協(xié)作模式,和與之相配的自動(dòng)化構(gòu)建和部署流水線,盡可能地減少人工操作出現(xiàn)失誤導(dǎo)致的浪費(fèi)。這其實(shí)也是前面說的團(tuán)隊(duì)要有規(guī)矩、講紀(jì)律的一部分,SVN到GIT并不只是代碼倉庫工具的變化,實(shí)則是一種研發(fā)理念的變化,解鎖了程序員個(gè)體的研發(fā)和提交效率,也必須附以研發(fā)效率或內(nèi)建質(zhì)量保障的動(dòng)作,避免陷入代碼提交頻繁沖突的噩夢。
最后一個(gè)建議是務(wù)虛層面的建議。前面的四個(gè)建議,以及其他很多業(yè)內(nèi)實(shí)踐,如果大家聽完很開心,很想要去落地,那么就必須考慮這么一個(gè)問題 —— 怎么避開落地過程中的各種坑、快速地掌握這些實(shí)踐并產(chǎn)生實(shí)效?簡單來說,就是要學(xué)會(huì)適當(dāng)?shù)亟柚饬Α?/p>
業(yè)界的先進(jìn)工具和實(shí)踐,都需要經(jīng)由組織內(nèi)成員學(xué)習(xí)掌握后,才能真正轉(zhuǎn)化為能力、生產(chǎn)力,產(chǎn)生實(shí)效。我們可以站在巨人的肩膀上,借助外力來加速如右下圖的這個(gè)學(xué)習(xí)過程。華為的快速發(fā)展就離不開從各大咨詢公司導(dǎo)入的業(yè)界經(jīng)驗(yàn)和先進(jìn)理念。在內(nèi)部,我們依靠研發(fā)能力中心等部門對(duì)產(chǎn)品部門和團(tuán)隊(duì)進(jìn)行廣泛地賦能,提升研發(fā)團(tuán)隊(duì)的戰(zhàn)斗力。而賦能的方式,跟左下圖所示的華為云DevCloud專家服務(wù)內(nèi)容相似,包括對(duì)現(xiàn)狀的評(píng)估、知識(shí)或技能的培訓(xùn)、日常的輔導(dǎo)、行業(yè)認(rèn)證服務(wù),以及整體性的咨詢、顧問型服務(wù)。
?
在華為云DevCloud的背后,是華為30年的前沿研發(fā)理念以及實(shí)踐積累,也包括華為云DevCloud自己吃狗糧的經(jīng)驗(yàn)教訓(xùn)。其中一條經(jīng)驗(yàn),就是要有統(tǒng)一的思想指導(dǎo),最好是集合業(yè)界實(shí)踐和企業(yè)自身的經(jīng)驗(yàn),以華為云DevCloud自己為例,這個(gè)思想指導(dǎo)就是華為云DevCloud HE2E DevOps框架,如圖所示。
?
最后還有一條經(jīng)驗(yàn)想跟大家分享 —— 千里之行、始于足下,DevOps之旅、健康自檢起步。DevOps落地和轉(zhuǎn)型就好像在叢林中探險(xiǎn),我們需要時(shí)刻知曉自己所處的方位,才能夠始終向著正確的方向前進(jìn),華為云DevCloud使用了DevOps能力現(xiàn)狀評(píng)估來扮演指南針的作用,用于確定當(dāng)前狀態(tài)以及下一步的改進(jìn)方向。下圖是評(píng)估報(bào)告部分內(nèi)容的示意圖。
?
歡迎您登錄華為云DevCloud官網(wǎng)檢查自身DevOps能力現(xiàn)狀情況,進(jìn)行DevOps成熟度評(píng)測,將實(shí)時(shí)獲取報(bào)告。