七牛雲從最初發展到如今已經七年了,目前有 300 多名研發同窗、六大業務線:雲存儲、CDN、直播雲、容器雲、大數據、以及人工智能實驗室。而在七牛雲優秀的產品研發團隊身邊,還存在着一個負責質量管理、工程賦能、以及過程改進的重要部門——七牛雲工程效率部。 後端
本期牛人說,由七牛雲工程效率部負責人李倩和你們一塊兒探討工程效率的問題。分享她一路以來的心路歷程,以及整個團隊從 0 到 1 的演進過程。架構
#01工程效率部發展歷程
工具
我認爲組織的變革應該基於對業務和發展更有利的角度進行,並非非要有測試組、質量保障部、工程部等等。更重要的是在公司現有條件下,你能提供什麼能力,以及這樣的能力是否能讓業務更好地發展。性能
同時,在創業公司最大的感覺就是擁抱變化。在這個過程當中,你會發現不少事情並無爲你準備好,你要作的就是去不斷適應,不斷地尋找最大價值,提高自我。下面我爲你們簡單介紹一下工程效率部的發展歷程:測試
#02工程效率部的團隊架構 大數據
做爲一家作基礎服務雲計算的公司,咱們要幫助客戶更快、更好的提供技術能力。咱們的內部願景是:縮短優質代碼到生產上線 / 客戶間的距離。這也是工程上很是重要的一段距離。優化
咱們的體系主要分三大塊:**質量管理、工程賦能、以及過程改進。**雖然這裏有虛線、實線組織,但總體來講是有機的總體。咱們不但要作質量,更重要的是在有效率的狀況下,如何把質量作到最好。雲計算
總結成一句話就是:工程效率主要是關注交付鏈條中研發交付環節的品控,以及效率的總體的交付能力。人工智能
#03質量意識的傳承與升級 3d
那麼如何作到質量意識足、代碼敢交付、服務敢升級,主要有三點:
#04技術演進
這方面我主要想跟你們講一下質量小組的基本的技術實踐路徑,這是每一個 QA 同窗都要去作的,以及每一個開發同窗都要理解的。
首先,我想解釋一下爲何會有上圖這種看似 step by step 的效果。咱們的產品不少是從 0 到 一、再到 10,因此一開始咱們須要介入不少工做,而不是自始至終作同一件事。每一個技術人都要不斷進化本身,把本身的工做重心從 A 轉到 B,再到 C。
#05平臺演進
平臺演進比較重要,咱們須要考慮是否有可能把更多的東西搬上服務。同時,平臺化是服務化以後的階段 —— 如何把服務融入到整個流程中,而且被完整的管理,提供必定的工程能力。咱們的目標就是量化產品的質量和效率,提供質效分析能力,識別薄弱環節。
上圖是以服務級別或模塊級別列出來的主要功能:包括單測覆蓋數據、靜態掃描和代碼檢查、集成測試覆蓋、缺陷和事故分析、發佈跟蹤、服務探測,競品性能 benchmark 檢測和工具箱。
這是咱們質效平臺的後臺,這是其中的幾個指標,裏面有冠、亞軍之分,是一種激勵和評比。我認爲,沒有對比就沒有傷害,沒有對比也就沒有進步。咱們會把一些關鍵指標量化,也會相應推出獎勵措施。但並非獎勵冠軍,咱們會按照各團隊的成長速度進行獎勵。
工程效率平臺狹義上是 Devops 或 CI/CD 平臺,廣義上是軟件工程的信息化平臺。
下面我和你們分享一下七牛在實踐上的結果。指向會從上圖的兩方面考慮:質量和效率。
質量方面:核心服務單測覆蓋包括上傳、下載、刪除、直播推流播放等,這些核心服務覆蓋率在 60% 以上、合規 80% 左右、pipeline 經過率 80% 以上、集成測試覆蓋率 35%;
效率方面:pipeline 構建 2 - 10 分鐘、缺陷解決率 82%+、發佈頻度每週 40+、核心服務 MTTR 在 2 小時之內。
效率方面:pipeline 構建2 - 10分鐘、缺陷解決率82%+、發佈頻度每週40+、核心服務MTTR在2小時之內。
最後,說一點本身的感悟:作正確的事情,不要給本身設限。尤爲在創業公司,你會發現有不少事要作,也許你會認爲有些事該作,有些不應作,但我認爲沒有應該與不該該,只要這件事是正確的,就必定要推進 get it down。
關注公衆號「七牛雲」 瞭解更多信息哦~