CODING Compass —— 打造行云流水般的軟件工廠

來源: 騰云 CODING
作者:程勝聰
時(shí)間:2021-11-15
15263
本文根據(jù)CODING Compass產(chǎn)品總監(jiān)程勝聰在騰訊云CIF工程效能峰會(huì)上所做的分享,進(jìn)行了整理與更新。

本文根據(jù)CODING Compass產(chǎn)品總監(jiān)程勝聰在騰訊云CIF工程效能峰會(huì)上所做的分享,進(jìn)行了整理與更新。

DevOps從工具化階段邁入流程化階段

軟件工程從上世紀(jì)60年代發(fā)展到現(xiàn)在,毫無疑問正處于DevOps的時(shí)代,這幾年業(yè)內(nèi)如火如荼的DevOps轉(zhuǎn)型也印證了這一點(diǎn)。到現(xiàn)在這個(gè)階段,企業(yè)在轉(zhuǎn)型落地上也持續(xù)投入了這么多年,開始迫切希望看到成果。大家普遍在思考一個(gè)問題,那就是DevOps是否真的對(duì)業(yè)務(wù)發(fā)展和數(shù)字化轉(zhuǎn)型帶來幫助,還是只是研發(fā)團(tuán)隊(duì)自嗨而已?

在最近一年協(xié)助客戶進(jìn)行DevOps產(chǎn)品落地的過程中,我們愈發(fā)意識(shí)到:研發(fā)管理真的不能只靠搭建工具鏈,還需要把這些工具應(yīng)用到企業(yè)實(shí)際的業(yè)務(wù)流程當(dāng)中。我們應(yīng)該切實(shí)的為開發(fā)減負(fù),而不是反而給業(yè)務(wù)的開發(fā)增加負(fù)擔(dān)。只有這樣才能夠切實(shí)提升研發(fā)效能,更好地滿足業(yè)務(wù)發(fā)展的需要。

如果說,DevOps在之前還屬于工具化階段,各式各樣的工具層出不窮,那么在數(shù)字業(yè)務(wù)發(fā)展迅猛的背景下,DevOps正在進(jìn)入一個(gè)新的階段:流程化階段。

企業(yè)使用DevOps工具仍然存在挑戰(zhàn)

先從一個(gè)典型的用戶反饋出發(fā),來看看當(dāng)前用戶所處的困境:

640.webp.jpg

上面這個(gè)客戶深入使用CODING一年多,他們對(duì)產(chǎn)品是否好用有足夠的話語(yǔ)權(quán)。通過對(duì)反饋結(jié)果的整理,可以看出工具化階段的產(chǎn)品還是存在不足。一方面,客戶充分肯定了當(dāng)初選擇CODING DevOps的決定,團(tuán)隊(duì)中每個(gè)角色都能夠在一站式平臺(tái)上工作,很好地實(shí)現(xiàn)了研發(fā)一體化的目標(biāo);另一方面,盡管我們的一站式平臺(tái)提供了團(tuán)隊(duì)所需的能力模塊,但是不同模塊之間的協(xié)作性還不能很好體現(xiàn)。

1.對(duì)產(chǎn)品來說,其關(guān)注的需求活動(dòng)并不能很好關(guān)聯(lián)到開發(fā)實(shí)際在做的事情,從而對(duì)進(jìn)展和風(fēng)險(xiǎn)不能完全掌控。

2.對(duì)于開發(fā)來說,更新任務(wù)狀態(tài)是很重要,但是由于這個(gè)事情并不會(huì)阻塞自己,是否及時(shí)更新就完全取決于自覺性高低。于是很多時(shí)候,忙于協(xié)作編程的開發(fā)往往會(huì)忘記去做這個(gè)事情。

3.同時(shí),作為相對(duì)后置的測(cè)試,一旦提測(cè),各種事項(xiàng)檢查更是茫茫多,各種信息核對(duì)和更新就要花費(fèi)大量的時(shí)間,加上留給測(cè)試的時(shí)間本來就不多,情況就顯得特別窘迫。

4.而再后面的運(yùn)維同事更不用說了,只能反復(fù)叮囑發(fā)版之前要做好充分準(zhǔn)備,各種驗(yàn)證檢查都不能打折扣,然后就只能祈禱別總是在敏感的發(fā)布窗口,出現(xiàn)各種莫名其妙的問題。

總的來說,雖然在一個(gè)平臺(tái)上的不同工具大家都用得很順暢,但從全流程來看總覺得缺少點(diǎn)什么。在工具之間的來回切換仍然需要花費(fèi)大量精力,而且還不能確保信息的正確性。種種這些,都是工具型產(chǎn)品的不足之處。

企業(yè)日漸關(guān)注研發(fā)管理的整體效率

這個(gè)案例并非個(gè)案,而是DevOps轉(zhuǎn)型來到了新的流程化階段的標(biāo)志:企業(yè)日漸關(guān)注研發(fā)管理的整體效率,從強(qiáng)調(diào)某個(gè)工具的局部?jī)?yōu)化,轉(zhuǎn)變?yōu)閺?qiáng)調(diào)協(xié)同流程的全局優(yōu)化。

640.webp (1).jpg

工具并不能等同于整體效率,組織效能管理的經(jīng)典理論P(yáng)PT中就指出:一個(gè)組織的3個(gè)要素中,People、人是基礎(chǔ),Tools、工具對(duì)人進(jìn)行賦能,讓工作更有效率,而Process、流程則是讓人的行為與目標(biāo)保持一致的載體。完美地完成一件本來就不應(yīng)該去做的事情是毫無意義的,甚至還會(huì)對(duì)整體造成損害。從全局上考慮,一個(gè)好的流程不可或缺。

640.webp (2).jpg

DevOps產(chǎn)品應(yīng)該打造成為

進(jìn)一步解放生產(chǎn)力的新型生產(chǎn)關(guān)系

在數(shù)字化的背景下,業(yè)務(wù)迅猛發(fā)展帶來了軟件系統(tǒng)的高復(fù)雜度,個(gè)體需要處理的事情變得更多,導(dǎo)致單人效率下降。為了提升團(tuán)隊(duì)中每個(gè)角色的工作效率,企業(yè)追求DevOps轉(zhuǎn)型,希望利用新興技術(shù)和工具來迅速提高團(tuán)隊(duì)生產(chǎn)力。但是隨著在技術(shù)和工具上投入越多,以及團(tuán)隊(duì)規(guī)模不斷擴(kuò)大,同時(shí)也帶來了整體協(xié)作上的復(fù)雜度。而這些復(fù)雜的依賴關(guān)系如同金字塔般層層傳導(dǎo)至團(tuán)隊(duì)成員身上,形成了對(duì)原有工作習(xí)慣乃至理解認(rèn)知的巨大沖擊。哪怕是一次簡(jiǎn)單的交付,都需要經(jīng)過許多操作以及不同角色的協(xié)同,整個(gè)交付過程也因此顯得脆弱和低效:比如工作上下游的契約和規(guī)范缺失,研發(fā)過程的透明度不夠,需要在不同工具平臺(tái)之間來回切換等等。

如何才能讓不同的工具,有機(jī)地共存于一個(gè)完整的流程當(dāng)中呢?如何為團(tuán)隊(duì)打造高效的流程,讓人能夠順暢地完成高質(zhì)量的軟件開發(fā),并發(fā)布到生產(chǎn)環(huán)境中?在這個(gè)過程中,團(tuán)隊(duì)成員不需要去處理不必要的復(fù)雜問題,陷入細(xì)枝末節(jié)之中,又或者是長(zhǎng)時(shí)間的等待延誤。我們應(yīng)該解放團(tuán)隊(duì)成員的生產(chǎn)力,讓開發(fā)能把精力集中在能真正產(chǎn)生業(yè)務(wù)價(jià)值的工作上。這是當(dāng)前很值得思考的事情:就像生產(chǎn)力決定生產(chǎn)關(guān)系一樣,我們需要更先進(jìn)的研發(fā)管理產(chǎn)品來賦能研發(fā)團(tuán)隊(duì),來滿足現(xiàn)今數(shù)字化業(yè)務(wù)發(fā)展的需求。

CODING Compass

DevOps流程化階段的研發(fā)流程管理產(chǎn)品

通過對(duì)DevOps實(shí)踐落地中凸顯出來的問題的梳理,我們得出了以下2個(gè)方面的認(rèn)識(shí):

1.組織層面的DevOps轉(zhuǎn)型需要領(lǐng)域?qū)<?/strong>

7月份信通院發(fā)布的《中國(guó)DevOps現(xiàn)狀調(diào)查報(bào)告(2021)》中就指出:接近30%的企業(yè)因?yàn)槿鄙貲evOps專家導(dǎo)致推進(jìn)落地緩慢。而在我們服務(wù)客戶的時(shí)候,也往往需要提供咨詢,通過專家診斷、制定流程,然后根據(jù)實(shí)際情況、設(shè)定要提升的目標(biāo)以及具體的實(shí)現(xiàn)路徑。DevOps產(chǎn)品要做的是:提煉出業(yè)內(nèi)行之有效的研發(fā)管理經(jīng)驗(yàn)、并內(nèi)嵌到產(chǎn)品當(dāng)中,引導(dǎo)客戶團(tuán)隊(duì)把優(yōu)秀的習(xí)慣固化下來、持續(xù)優(yōu)化,從而實(shí)現(xiàn)高效的研發(fā)管理。

640.png

2.協(xié)作中團(tuán)隊(duì)成員的最大痛點(diǎn)是“什么都要懂”

在現(xiàn)有已提供的工具的基礎(chǔ)下,團(tuán)隊(duì)?wèi){著對(duì)DevOps的樸素理解,是可以初步協(xié)同起來的。但是,用戶所面臨的協(xié)作問題確實(shí)存在:比如缺乏跨職能活動(dòng)的能力拉通,活動(dòng)之間的協(xié)作規(guī)范缺失,難以識(shí)別研發(fā)過程中的風(fēng)險(xiǎn),個(gè)體在工作中需要理解的上下文過多,還有跨職能的許多操作只能手工處理等等。這些看上去瑣碎,但是這些問題累積起來遲遲得不到解決,便會(huì)造成團(tuán)隊(duì)成員極大的“心力損耗”,甚至導(dǎo)致了優(yōu)秀員工對(duì)打造高效組織產(chǎn)生懷疑。

DevOps深化發(fā)展到了現(xiàn)今階段,代表著行業(yè)對(duì)研發(fā)管理產(chǎn)品的新的期望:從敏捷到DevOps、再結(jié)合LEAN精益思想的理念,朝著增強(qiáng)可視化和可追溯性、追求規(guī)范和效率的方向發(fā)展?;诓煊X到的這些痛點(diǎn),CODING結(jié)合自身實(shí)踐和行業(yè)成果經(jīng)驗(yàn),努力作出了產(chǎn)品的升級(jí),來幫助客戶更好地提升研發(fā)管理能力。

Compass=工作流+規(guī)范+自動(dòng)化

CODING打造了全新的研發(fā)流程管理產(chǎn)品Compass,包括3個(gè)主要能力:分別是(串聯(lián)各種活動(dòng)形成的協(xié)同)工作流,還有(提升研發(fā)活動(dòng)一致性的標(biāo)準(zhǔn))規(guī)范,以及(觸發(fā)后置活動(dòng)的)自動(dòng)化。代表著CODING DevOps在原有DevOps工具鏈的基礎(chǔ)之上,融入了Know-how的部分,讓客戶能夠充分借鑒業(yè)內(nèi)行之有效的實(shí)踐經(jīng)驗(yàn),做到高效的研發(fā)管理。

Compass如何提升研發(fā)管理能力

簡(jiǎn)單的說,Compass的產(chǎn)品邏輯就是定義流程、規(guī)范過程、高效流轉(zhuǎn)、識(shí)別瓶頸并指導(dǎo)改進(jìn)。

1.首先,研發(fā)過程當(dāng)中存在著各種各樣的活動(dòng)。

比如說產(chǎn)品經(jīng)理會(huì)創(chuàng)建需求到Backlog里面,團(tuán)隊(duì)開展規(guī)劃會(huì)納入到迭代當(dāng)中,并進(jìn)行任務(wù)分解、任務(wù)認(rèn)領(lǐng)或者分配,開發(fā)會(huì)創(chuàng)建分支、寫代碼、提交合并等等,而測(cè)試則是設(shè)計(jì)用例、執(zhí)行測(cè)試,然后團(tuán)隊(duì)提測(cè)、通過質(zhì)量門禁之后并創(chuàng)建發(fā)布單等等。

我們知道,這里列舉的有些是同一種角色內(nèi)部發(fā)生的,有些卻是需要不同角色去協(xié)同完成的,實(shí)際上它們的進(jìn)行存在著先后順序。

640.webp (3).jpg

2.其次,識(shí)別出關(guān)鍵的協(xié)同活動(dòng)并串聯(lián)成為完整的工作流。

按照不同角色歸類好這些活動(dòng)之后,會(huì)發(fā)現(xiàn)同一角色的某些活動(dòng)客觀上就是另外一些活動(dòng)的前提。比如需求被創(chuàng)建出來之后、才有可能被納入迭代,分支存在之后、才能有對(duì)應(yīng)的代碼提交和MR,用例設(shè)計(jì)完了、才能在它的基礎(chǔ)上關(guān)聯(lián)對(duì)應(yīng)的需求等等。這些內(nèi)在的關(guān)系導(dǎo)致了它們的活動(dòng)流轉(zhuǎn)必然是自發(fā)完成的。

對(duì)于剩下的關(guān)鍵節(jié)點(diǎn),我們從整體研發(fā)的視角,根據(jù)實(shí)際工作情況,人為定義好它們的依賴順序,并把它們串聯(lián)起來。比如任務(wù)拆解完畢才能創(chuàng)建對(duì)應(yīng)的特性分支,有了MR、并且需求關(guān)聯(lián)了測(cè)試用例之后才能提測(cè),然后執(zhí)行測(cè)試、給出測(cè)試報(bào)告、最后提交發(fā)布單。這樣就形成了完整的工作流。

640.webp (4).jpg

3.再次,通過規(guī)范來保障活動(dòng)的健壯流動(dòng),以及自動(dòng)化驅(qū)動(dòng)活動(dòng)進(jìn)行高效的流轉(zhuǎn)。

為了保障活動(dòng)流轉(zhuǎn)的健壯性,我們可以對(duì)其中的某些活動(dòng)設(shè)定準(zhǔn)入準(zhǔn)出規(guī)范,不符合規(guī)范的則給出警告并阻止繼續(xù)流轉(zhuǎn)。比如納入迭代中的需求要給出驗(yàn)收標(biāo)準(zhǔn)、作為用例設(shè)計(jì)的依據(jù),測(cè)試報(bào)告中的通過率要滿足一定數(shù)值才能創(chuàng)建發(fā)布單等等。另外,對(duì)于某些可以標(biāo)準(zhǔn)化創(chuàng)建或者觸發(fā)的活動(dòng),可以設(shè)定自動(dòng)化規(guī)則。當(dāng)前提條件獲得滿足時(shí)則自動(dòng)流轉(zhuǎn),也不需要團(tuán)隊(duì)成員切換到另外工具中去更新狀態(tài)、或者手工創(chuàng)建下一個(gè)步驟的任務(wù)。這樣一來就形成了一個(gè)井然有序的團(tuán)隊(duì)協(xié)作工作流。

640.webp (5).jpg

4.最后,把研發(fā)具體步驟跟業(yè)務(wù)定義好的價(jià)值流階段映射到一起,提供洞察分析。

規(guī)范和自動(dòng)化能夠產(chǎn)生精確的活動(dòng)記錄,從而為效率度量提供真實(shí)可靠的數(shù)據(jù),進(jìn)行有效的洞察診斷和指導(dǎo)改進(jìn)。比如前置時(shí)間和處理時(shí)間的差異、任務(wù)完成率/準(zhǔn)確率等等。這是價(jià)值流管理(Value Stream Management)的基礎(chǔ)。

640.webp (6).jpg

以上就是Compass的產(chǎn)品設(shè)計(jì)理念,我們希望能夠通過流程驅(qū)動(dòng)協(xié)作中的開發(fā)行為,讓流程中的每個(gè)人都可以專注于自身的價(jià)值。同時(shí)沉淀下來的過程數(shù)據(jù)能夠準(zhǔn)確的透視研發(fā)過程,并且基于數(shù)據(jù)的洞察分析來指導(dǎo)研發(fā)過程的持續(xù)改進(jìn)。

總結(jié)

CODING Compass是一款基于CODING原有DevOps工具鏈的研發(fā)流程管理產(chǎn)品,包含流程編排、流程驅(qū)動(dòng)、規(guī)則約束及價(jià)值流轉(zhuǎn)。希望能夠幫助企業(yè)拉通管理者的目標(biāo)預(yù)期和研發(fā)團(tuán)隊(duì)的具體執(zhí)行,用最小的協(xié)同成本實(shí)現(xiàn)最高的響應(yīng)能力,從而最大化研發(fā)效率。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于騰云 CODING,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
騰訊云數(shù)據(jù)庫(kù)PostgreSQL全面支持PG 17
騰訊云數(shù)據(jù)庫(kù)PostgreSQL全面支持PG 17
即日起,騰訊云PostgreSQL全面支持PostgreSQL 17.0。所有用戶可使用大版本升級(jí)能力升級(jí)至最新的PostgreSQL 17.0進(jìn)行體驗(yàn),也可以在產(chǎn)品購(gòu)買頁(yè)直接購(gòu)買。
騰訊云
云服務(wù)
2024-12-152024-12-15
高可用這個(gè)問題,加機(jī)器就能解決?
高可用這個(gè)問題,加機(jī)器就能解決?
互聯(lián)網(wǎng)服務(wù)的可用性問題是困擾企業(yè)IT人員的達(dá)摩克利斯之劍:防于未然,體現(xiàn)不出價(jià)值。已然發(fā)生,又面臨P0危機(jī)。就更別提穩(wěn)定性建設(shè)背后顯性的IT預(yù)算問題與隱性的人員成本問題。
騰訊云
云服務(wù)
2024-11-252024-11-25
TDSQL TDStore引擎版替換HBase:在歷史庫(kù)場(chǎng)景中的成本與性能優(yōu)勢(shì)
TDSQL TDStore引擎版替換HBase:在歷史庫(kù)場(chǎng)景中的成本與性能優(yōu)勢(shì)
HBase憑借其高可用性、高擴(kuò)展性和強(qiáng)一致性,以及在廉價(jià)PC服務(wù)器上的低部署成本,廣泛應(yīng)用于大規(guī)模數(shù)據(jù)分析。
騰訊云
云服務(wù)
2024-11-042024-11-04
復(fù)雜查詢性能弱,只讀分析引擎來幫忙
復(fù)雜查詢性能弱,只讀分析引擎來幫忙
隨著當(dāng)今業(yè)務(wù)的高速發(fā)展,復(fù)雜多表關(guān)聯(lián)的場(chǎng)景越來越普遍。但基于行式存儲(chǔ)的數(shù)據(jù)庫(kù)在進(jìn)行復(fù)雜查詢時(shí)性能相對(duì)較弱。
騰訊云
云服務(wù)
2024-11-022024-11-02
優(yōu)質(zhì)服務(wù)商推薦
更多