天天看點

如何加強企業研發管理?阿裡雲效硬碟式管理實踐揭秘

摘要:在雲效持續內建持續傳遞專場直播中,阿裡雲效産品專家代平為大家帶來了《硬碟式研發管理實踐》分享,深入淺出地分享了網際網路的研發管理理念,解析了企業研發管理面臨的挑戰和困難,揭密了如何結合雲效産品進行業務技術協同線上化的硬碟式研發管理實踐。

以下内容根據演講嘉賓視訊以及PPT整理而成。

嘉賓介紹

代平:阿裡産品專家。從事多年網際網路系統的研發測試和項目管理。現在專注于研發協同管理産品設計。

本次分享主要和大家探讨研發綜合産品管理效能平台應該如何實作,以及如何打通需求、開發、測試、釋出這樣的産品研發全過程,希望能夠給大家帶來收獲。

本次分享的内容主要分為以下四個部分:

一、網際網路研發管理背景

二、常見的研發提效政策及其問題

三、雲效支撐的研發管理實踐

四、實踐最佳路徑和效果

網際網路研發特點

如何加強企業研發管理?阿裡雲效硬碟式管理實踐揭秘

随着網際網路的發展,不僅僅是網際網路公司的研發,就連傳統企業的研發模式也開始受到網際網路的影響,各行各業都在向“網際網路+”模式轉型,這就導緻網際網路的研發有如下的這些特點:

1.變化:市場需求變化的速度非常快,導緻研發需要快速适應市場需求的變化。

2.體驗:給使用者帶來的體驗要好,現在使用者擷取資訊十分便捷,使用者會有非常多的選擇,是以産品在功能、安全或者體驗上稍稍落後就會被使用者摒棄。

3.速度:網際網路市場競争非常激烈,産品的研發速度關乎生死,也會影響最終成果。

網際網路研發問題

如何加強企業研發管理?阿裡雲效硬碟式管理實踐揭秘

由以上網際網路研發特點,導緻了在研發過程中會出現上圖所示的常見問題。比如業務疊代速度非常快,直接導緻項目的并行量非常大;因為業務發展速度快,是以應用的增長也非常迅速,導緻無論是開發同學還是測試同學在搭建環境時的工作都會變得非常複雜;除此之外因為研發同學在研發過程中需要與各個角色進行一些協調,是以這帶來的研發成本也會非常高;與此同時,測試的成本也在急劇增長,而且使用的人肉測試也會比較多,這樣導緻最終的結果是業務很難快速地傳遞到客戶手中。

面對這些問題應該如何應對呢?天下武功唯快不破,提高效率也許就是網際網路研發的關鍵。

如何加強企業研發管理?阿裡雲效硬碟式管理實踐揭秘

通常情況下,工作時會使用一些通訊工具進行即時溝通,溝通的方式主要有三種:同步型:比如電話或者會議;異步型:如釘釘、微信等通訊工具;郵件:可以看做異步通信的方式,但一般用于釋出通知。這些通訊工具的弊端在于整體溝通協作效率比較低下,同時還有兩個更深層次的問題。

第一個問題是如果一個公司沒有統一的任務處理機制,不同團隊就可能采用不同的任務處理方式,那麼會出現甲團隊使用郵件作為溝通方式,乙團隊采用開會的方式,丙團隊協作靠刷臉進行,這樣的效率就會非常低。這樣的方式很容易讓大家聯想到鄉村小路,鄉村小路的特點就是不平、不直、不通并且不一緻。 “要想富,先修路”,隻有統一并且寬敞的資訊高速公路才能加快研發任務的處理速度。

如何加強企業研發管理?阿裡雲效硬碟式管理實踐揭秘

第二個問題就是工作内容沒有沉澱。如果想要檢視前面沉澱下來的經驗,隻能到處找人問。

如果整個研發過程的資料就如同在一個硬碟上一樣全部存儲下來,那麼對于公司而言将會是巨大的财富,即使有同學離職了,新來的同學也可以通過沉澱下來的資料,參考查證以前的工作路徑和工作記錄。

是以不僅僅需要将原本不平、不直、不通并且不一緻的溝通路徑用資訊高速公路取代,并且需要将公司的一些項目的資料資産包括過程、文檔、結果以及代碼,統一用于建造公司的類似于資料資産金字塔的硬碟中,将這些資料全部儲存下來,這就是雲效平台硬碟式研發管理的主體思路,也就是從各種路徑獨立轉變到建立一條整體相通的資訊大道,并将資料進行彙總進而做統一的展示、記錄和存儲的構想。

現在有不少公司意識到了這一點,并開始建立公司的研發資訊高速公路。他們的做法往往是通過引入一些平台産品來建設自己的資訊高速公路,并且通過這樣的方式沉澱出自己公司的硬碟式金字塔,将資料存儲下來。如下圖所示。

如何加強企業研發管理?阿裡雲效硬碟式管理實踐揭秘

下圖是雲效平台整體的架構圖,這就是雲效的研發資訊高速公路,它可以讓研發同學以及包括産品、測試和運維同學将自己的日常工作放在這個平台上。需求、做項目、設計技術方案、編碼、代碼的審閱、測試、釋出以及所有工作項的評論等全部記錄在雲效平台上。

如何加強企業研發管理?阿裡雲效硬碟式管理實踐揭秘

因為雲效平台的核心原則就是平台化、流程化和自動化,也就是說希望制定一套标準化的流程,例如持續部署流程、代碼流程、代碼管理流程等,之後将這些流程通過自動化的方式以及自動化的工具實作出來,這就是雲效平台的基本原則。

有了這些原則之後就在平台之上建立了配置管理、持續內建、持續傳遞、環境自動化、分層自動化以及內建自動化這些相關的子系統。有了這些子系統之後就建立了一個可靠可重複的傳遞流水線。比如說在送出與編譯階段的并行研發、編譯建構和單元測試,在測試與驗證階段的環境部署、系統測試和內建測試,以及在釋出與運維階段的生産傳遞、釋出復原和生産監控等都是可以通過雲效平台的相關産品進行效率提升的。

在可靠可重複的傳遞流水線建設完成之後,雲效團隊又将之前所做的研發綜合效能管理方面的東西,包括業務模型分層、業務規劃、研發資源管理以及ROI複盤等,全部在雲效平台上進行呈現。而将包括需求跟蹤矩陣、疊代計劃、任務分解流轉以及度量與改進在内的這些,建構成了協同工作流,每一個人都可以在平台上評論所有的工作項并提出方案或者進行頂踩,這樣就保證了開發的品質、效率以及評論和文檔等所有相關的資料都存儲在平台之上。

項目次元的互動和多角色之間的溝通協作全部都是在雲效平台上進行,參與項目的人員使用相同的系統進行互相協作,這樣對組織效率和業務也能夠起到很好的促進作用。

除此之外,雲效平台還支援私有雲部署,對于Docker等開發架構以及最簡單的J2EE工程項目等也能夠提供良好的支援。

硬碟式研發管理的總體流程

如何加強企業研發管理?阿裡雲效硬碟式管理實踐揭秘

上圖所示的就是研發流程的示意,從上層的業務方進行業務規劃開始,之後需要進行組織人員的安排,再到立項之後的需求确立。

對于需求的确立而言,需要通過需求跟蹤矩陣将需求橫向化、标準化。需求是可以分解和拆解的,也是可以配置的,需求的變更記錄、評審記錄包括對于需求的評論、頂踩全部會在這個平台上記錄下來,在平台之上還可以實作責任人以及狀态的流轉和變更來記錄需求到了什麼樣狀态,這樣就能夠提升需求的品質,控制需求的範圍,這是從橫向上來看這條線。

而從縱向上來看,需求是和後面的整個項目串聯起來的,因為需求确定之後就可以進行疊代拆分、評估工作項的資源以及進行任務分解、測試用例的設計實作以及與Bug相關的一些東西都是可以通過需求串接起來的,這樣就保證了需求與後續工作的關系都可以透視出來,這樣有利于對于整體風險的把控。在整個項目過程結束之後,可以将項目的全部代碼釋出到代碼庫中,然後通過雲效平台指揮部這個産品對于整個項目進行複盤并評估出項目的投入和産出。

這裡大家可能會産生一個疑問,看上去整個研發過程的工作都是記錄在這個平台上面的,那麼有沒有一些研發相關工作是沒有記錄在雲效平台上的呢?這個問題的回答是:沒有!雲效平台提倡硬碟式記錄,如果工作沒有在平台上記錄,那就相當于沒有工作的産出。可以設想一下:如果一名員工在公司做了很多年,既沒有留下一行代碼,也沒有留下任何對于技術方案或者需求的變更、評審進行讨論的東西,對于公司而言這名員工給公司留下了什麼呢?是以,站在公司的角度,希望每一位員工都能夠積累下屬于自己的工作記錄,并且全部都記錄在公司的平台之上,固化成公司的數字資産。

對于一些比較進階的技術專家可以在雲效平台上做些什麼呢?也許他們不用自己去寫代碼,但是可以在平台上Review一些技術方案并給出一些評論和指導,甚至還可以進行代碼的審閱。這些能夠非常好的幫助開發同學避免很多坑,節省大量時間。對于管理者而言,他們所需要做的事情就是促使團隊在這個平台上産出有價值的東西并記錄在硬碟上面,進而沉澱出整個公司的數字金字塔。管理者也可以看到自己團隊所有成員的全部産出。

雲效項目頁面

下圖所示的是項目概況頁面,包含了項目的整體進度、概要、裡程碑資訊、風險資訊、負責人以及項目成員、相關的子項目、及時滾動顯示的項目動态、通知資訊等。除此之外,項目中各角色所需要做的工作項等内容也是通過一些服務呈現的,比如需求頁、任務頁、疊代、測試用例缺陷、自動化、單測內建、環境搭建以及整個系統資料的報表還有釋出等,這些内容都會以項目的次元進行展示。

如何加強企業研發管理?阿裡雲效硬碟式管理實踐揭秘

雲效需求頁面

一個項目的管理者或者項目成員,在雲效平台上可以看到與項目相關的所有内容。

以産品為例,可以看到整個需求跟蹤矩陣的清單,這裡提供了看闆和數表這兩種模式來顯示項目需求的優先級、是否上線、疊代情況、建立者以及目前的負責人等狀态資訊,點選每個需求條目之後可以看到這條需求的詳細情況,包括需求的具體内容、相關聯的需求狀态和相關的一些任務狀态,還包含一些相關評論,鼓勵大家分析需求,對需求進行評論或者頂踩,提出更好的方案。

如何加強企業研發管理?阿裡雲效硬碟式管理實踐揭秘

除此之外,需求的詳細内容頁面還會顯示需求各個版本的修訂記錄、變更記錄、評審記錄以及操作記錄等資訊,對于每一個工作項都有這樣類似硬碟式的記錄,包括這個需求所包含的任務、用例、缺陷、分支等工作項也會在詳細資訊中進行展示。上圖頁面中最右邊展示的是需求屬性以及附件,包含了優先級資訊、疊代資訊、所屬項目、關聯項目、子產品資訊、版本資訊、進度資訊以及經過技術同學評估之後計算出的大概的工作量,還有就是一些自定義的标簽、發生變更之後需要通知的對象資訊,以及與該需求相關的附件等。

這些就是需求頁面的大緻情況,因為這部分是項目的源頭,包含的資訊量非常大,是以需要以硬碟的形式全部存儲下來。一言以蔽之,雲效平台在橫向上會将需求所有相關的資訊全部記錄下來;對于縱向而言,像任務拆分、用例、缺陷以及開發分支等所有項目相關的内容都可以在這裡記錄,以此串聯起整個需求的過程,直到産品釋出上線。

雲效內建自動化

下圖所展示的就是某一個項目的內建自動化的情況。雲效平台擅長UI自動化、接口自動化以及單元測試,這些可以全部內建在一個平台上執行,而且曆史的執行結果會全部展示在頁面上,內建的通過率如何、有多少成功和失敗、測試件在執行時候綁定的環境情況、項目中各個部分所執行的測試件情況等,這些項目相關的自動化情況也都會在頁面上得到展示。這樣大家對于硬碟資料的管理就會有一個直接的概念,項目中所有的資訊都可以在一個統一的平台上呈現出來。

如何加強企業研發管理?阿裡雲效硬碟式管理實踐揭秘

對于雲效平台而言,實踐之路也不是一帆風順的,在剛開始起步階段也不是非正常範,從最初的簡單的Bug系統再到項目和任務、再到讨論以及文檔管理,都是一步步實作的。

實踐并非一步到位

如何加強企業研發管理?阿裡雲效硬碟式管理實踐揭秘

在實踐過程中,我們也發現了與其他公司一樣的問題。這些工具都是比較零散的,我們一邊将這些系統進行內建,一邊進行系統重構,讓這些子系統的資料能夠互通,這樣才得以統一,形成了阿裡巴巴統一的資訊高速公路。隻有這個資訊高速公路建成之後才有可能建構出阿裡研發資産的金字塔,将資料全部像硬碟一樣存儲下來。在實踐的過程中有一個基本的原則就是統一高于好用。比如剛開始的時候,各個團隊想要使用的工具往往會是不同的,如果不同團隊溝通方式不同或者使用的工具不同,那麼對于整個公司而言,效率就會比較低下。是以在雲效平台的實踐中,堅持的基本原則是統一高于好用,公司是需要一個統一的研發管理平台,而不是各種好用的工具的簡單堆疊。

實踐中遇到的挑戰

雲效平台在實踐過程中遇到了很多挑戰。引入一整套的研發管理工具平台,無論對于阿裡巴巴自己還是客戶而言,都會需要轉變工作習慣,需要從線下的各種不同的方式引導到線上并且使用統一的方式,使得業務同學、研發同學都是按照這一套規範的路徑完成工作。

總結下來有這樣三個比較好的措施:

1.宣導:告訴大家為什麼要做這件事情,引導大家進行思維的轉變;

2.由易到難:從簡單的事情出發,從易到難的推動這件事情;

3.專人負責:常見的負責組織就是PMO組織,也就是項目管理專員。如果有專人去負責、宣導、實施和複盤,并且從系統中拿到一些資料并發現問題或者可預見性的瓶頸,并進行彙報,再通過管理層的資源解決問題,如此就能夠加速硬碟式研發管理實踐的落地。

實踐效果

如何加強企業研發管理?阿裡雲效硬碟式管理實踐揭秘!硬碟式研發管理實踐的最終效果:一方面是把員工腦海中的資訊都資料化成為公司的研發資産,員工的工作也都會固化成為資料存儲在公司的平台上;另一方面統一的研發效能平台就如同資訊高速公路一樣,因為其是透明的,是以可以營造出一種在意工作過程并且在意互相幫助的工作氛圍,團隊成員之間也會鼓勵積極共享代碼并且參與讨論。最終會使得研發的效率更高,并且帶來高效的橫向協同。

繼續閱讀