主頁 > 軟體工程 > CODING Compass —— 打造行云流水般的軟體工廠

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

2021-12-06 22:55:36 軟體工程

本文根據 CODING Compass 產品總監程勝聰在騰訊云 CIF 工程效能峰會上所做的分享,進行了整理與更新,文末可前往峰會官網,觀看回放并下載 PPT,

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

軟體工程從上世紀 60 年代發展到現在,毫無疑問正處于 DevOps 的時代,這幾年業內如火如荼的 DevOps 轉型也印證了這一點,到現在這個階段,企業在轉型落地上也持續投入了這么多年,開始迫切希望看到成果,大家普遍在思考一個問題,那就是 DevOps 是否真的對業務發展和數字化轉型帶來幫助,還是只是研發團隊自嗨而已?

在最近一年協助客戶進行 DevOps 產品落地的程序中,我們愈發意識到:研發管理真的不能只靠搭建工具鏈,還需要把這些工具應用到企業實際的業務流程當中, 我們應該切實的為開發減負,而不是反而給業務的開發增加負擔,只有這樣才能夠切實提升研發效能,更好地滿足業務發展的需要,

如果說,DevOps 在之前還屬于工具化階段,各式各樣的工具層出不窮,那么在數字業務發展迅猛的背景下,DevOps 正在進入一個新的階段:流程化階段

企業使用 DevOps 工具仍然存在挑戰

先從一個典型的用戶反饋出發,來看看當前用戶所處的困境:

上面這個客戶深入使用 CODING 一年多,他們對產品是否好用有足夠的話語權,通過對反饋結果的整理,可以看出工具化階段的產品還是存在不足,一方面,客戶充分肯定了當初選擇 CODING DevOps 的決定,團隊中每個角色都能夠在一站式平臺上作業,很好地實作了研發一體化的目標;另一方面,盡管我們的一站式平臺提供了團隊所需的能力模塊,但是不同模塊之間的協作性還不能很好體現,

  1. 對產品來說,其關注的需求活動并不能很好關聯到開發實際在做的事情,從而對進展和風險不能完全掌控,

  2. 對于開發來說,更新任務狀態是很重要,但是由于這個事情并不會阻塞自己,是否及時更新就完全取決于自覺性高低,于是很多時候,忙于協作編程的開發往往會忘記去做這個事情,

  3. 同時,作為相對后置的測驗,一旦提測,各種事項檢查更是茫茫多,各種資訊核對和更新就要花費大量的時間,加上留給測驗的時間本來就不多,情況就顯得特別窘迫,

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

總的來說,雖然在一個平臺上的不同工具大家都用得很順暢,但從全流程來看總覺得缺少點什么,在工具之間的來回切換仍然需要花費大量精力,而且還不能確保資訊的正確性,種種這些,都是工具型產品的不足之處,

企業日漸關注研發管理的整體效率

這個案例并非個案,而是 DevOps 轉型來到了新的流程化階段的標志:企業日漸關注研發管理的整體效率,從強調某個工具的區域優化,轉變為強調協同流程的全域優化,

工具并不能等同于整體效率,組織效能管理的經典理論 PPT 中就指出:一個組織的 3 個要素中,People、人是基礎,Tools、工具對人進行賦能,讓作業更有效率,而 Process、流程則是讓人的行為與目標保持一致的載體,完美地完成一件本來就不應該去做的事情是毫無意義的,甚至還會對整體造成損害,從全域上考慮,一個好的流程不可或缺,

DevOps 產品應該打造成為進一步解放生產力的新型生產關系

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

如何才能讓不同的工具,有機地共存于一個完整的流程當中呢?如何為團隊打造高效的流程,讓人能夠順暢地完成高質量的軟體開發,并發布到生產環境中?在這個程序中,團隊成員不需要去處理不必要的復雜問題,陷入細枝末節之中,又或者是長時間的等待延誤,我們應該解放團隊成員的生產力,讓開發能把精力集中在能真正產生業務價值的作業上,這是當前很值得思考的事情:就像生產力決定生產關系一樣,我們需要更先進的研發管理產品來賦能研發團隊,來滿足現今數字化業務發展的需求,

CODING Compass:DevOps 流程化階段的研發流程管理產品

通過對 DevOps 實踐落地中凸顯出來的問題的梳理,我們得出了以下 2 個方面的認識:

1. 組織層面的 DevOps 轉型需要領域專家

7 月份信通院發布的《中國 DevOps 現狀調查報告(2021)》中就指出:接近 30% 的企業因為缺少 DevOps 專家導致推進落地緩慢,而在我們服務客戶的時候,也往往需要提供咨詢,通過專家診斷、制定流程,然后根據實際情況、設定要提升的目標以及具體的實作路徑,DevOps 產品要做的是:提煉出業內行之有效的研發管理經驗、并內嵌到產品當中,引導客戶團隊把優秀的習慣固化下來、持續優化,從而實作高效的研發管理,

2. 協作中團隊成員的最大痛點是“什么都要懂”

在現有已提供的工具的基礎下,團隊憑著對 DevOps 的樸素理解,是可以初步協同起來的,但是,用戶所面臨的協作問題確實存在:比如缺乏跨職能活動的能力拉通,活動之間的協作規范缺失,難以識別研發程序中的風險,個體在作業中需要理解的背景關系過多,還有跨職能的許多操作只能手工處理等等,這些看上去瑣碎,但是這些問題累積起來遲遲得不到解決,便會造成團隊成員極大的“心力損耗”,甚至導致了優秀員工對打造高效組織產生懷疑,

DevOps 深化發展到了現今階段,代表著行業對研發管理產品的新的期望:從敏捷到 DevOps、再結合 LEAN 精益思想的理念,朝著增強可視化和可追溯性、追求規范和效率的方向發展,基于察覺到的這些痛點,CODING 結合自身實踐和行業成果經驗,努力作出了產品的升級,來幫助客戶更好地提升研發管理能力,

Compass = 作業流 + 規范 + 自動化

CODING 打造了全新的研發流程管理產品 Compass,包括 3 個主要能力:分別是(串聯各種活動形成的協同)作業流,還有(提升研發活動一致性的標準)規范,以及(觸發后置活動的)自動化,代表著 CODING DevOps 在原有 DevOps 工具鏈的基礎之上,融入了 Know-how 的部分,讓客戶能夠充分借鑒業內行之有效的實踐經驗,做到高效的研發管理,

Compass 如何提升研發管理能力

簡單的說,Compass 的產品邏輯就是定義流程、規范程序、高效流轉、識別瓶頸并指導改進,

1. 首先,研發程序當中存在著各種各樣的活動,

比如說產品經理會創建需求到 backlog 里面,團隊開展規劃會納入到迭代當中,并進行任務分解、任務認領或者分配,開發會創建分支、寫代碼、提交合并等等,而測驗則是設計用例、執行測驗,然后團隊提測、通過質量門禁之后并創建發布單等等,

我們知道,這里列舉的有些是同一種角色內部發生的,有些卻是需要不同角色去協同完成的,實際上它們的進行存在著先后順序,

2. 其次,識別出關鍵的協同活動并串聯成為完整的作業流,

按照不同角色歸類好這些活動之后,會發現同一角色的某些活動客觀上就是另外一些活動的前提,比如需求被創建出來之后、才有可能被納入迭代,分支存在之后、才能有對應的代碼提交和 MR,用例設計完了、才能在它的基礎上關聯對應的需求等等,這些內在的關系導致了它們的活動流轉必然是自發完成的,

對于剩下的關鍵節點,我們從整體研發的視角,根據實際作業情況,人為定義好它們的依賴順序,并把它們串聯起來,比如任務拆解完畢才能創建對應的特性分支,有了 MR、并且需求關聯了測驗用例之后才能提測,然后執行測驗、給出測驗報告、最后提交發布單,這樣就形成了完整的作業流,

3. 再次,通過規范來保障活動的健壯流動,以及自動化驅動活動進行高效的流轉,

為了保障活動流轉的健壯性,我們可以對其中的某些活動設定準入準出規范,不符合規范的則給出警告并阻止繼續流轉,比如納入迭代中的需求要給出驗收標準、作為用例設計的依據,測驗報告中的通過率要滿足一定數值才能創建發布單等等,另外,對于某些可以標準化創建或者觸發的活動,可以設定自動化規則,當前提條件獲得滿足時則自動流轉,也不需要團隊成員切換到另外工具中去更新狀態、或者手工創建下一個步驟的任務,這樣一來就形成了一個井然有序的團隊協作作業流,

4. 最后,把研發具體步驟跟業務定義好的價值流階段映射到一起,提供洞察分析,

規范和自動化能夠產生精確的活動記錄,從而為效率度量提供真實可靠的資料,進行有效的洞察診斷和指導改進,比如前置時間和處理時間的差異、任務完成率/準確率等等,這是價值流管理(Value Stream Management)的基礎,

以上就是 Compass 的產品設計理念,我們希望能夠通過流程驅動協作中的開發行為,讓流程中的每個人都可以專注于自身的價值,同時沉淀下來的程序資料能夠準確的透視研發程序,并且基于資料的洞察分析來指導研發程序的持續改進,

總結

CODING Compass 是一款基于 CODING 原有 DevOps 工具鏈的研發流程管理產品,包含流程編排、流程驅動、規則約束及價值流轉,希望能夠幫助企業拉通管理者的目標預期和研發團隊的具體執行,用最小的協同成本實作最高的回應能力,從而最大化研發效率,

當前 Compass 正在內測中,預計年底開放公測,敬請期待!

前往觀看 CIF 峰會回放

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/373998.html

標籤:其他

上一篇:激勵方法論1、馬斯洛需求模型

下一篇:直播預告 | 豬齒魚V1.1發布,線上新功能詳解邀您參加

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • Git本地庫既關聯GitHub又關聯Gitee

    創建代碼倉庫 使用gitee舉例(github和gitee差不多) 1.在gitee右上角點擊+,選擇新建倉庫 ? 2.選擇填寫倉庫資訊,然后進行創建 ? 3.服務端已經準備好了,本地開始作準備 (1)Git 全域設定 git config --global user.name "成鈺" git c ......

    uj5u.com 2020-09-10 05:04:14 more
  • CODING DevOps 代碼質量實戰系列第二課,相約周三

    隨著 ToB(企業服務)的興起和 ToC(消費互聯網)產品進入成熟期,線上故障帶來的損失越來越大,代碼質量越來越重要,而「質量內建」正是 DevOps 核心理念之一。**《DevOps 代碼質量實戰(PHP 版)》**為 CODING DevOps 代碼質量實戰系列的第二課,同時也是本系列的 PHP ......

    uj5u.com 2020-09-10 05:07:43 more
  • 推薦Scrum書籍

    推薦Scrum書籍 直接上干貨,推薦書籍清單如下(推薦有順序的哦) Scrum指南 Scrum精髓 Scrum敏捷軟體開發 Scrum捷徑 硝煙中的Scrum和XP : 我們如何實施Scrum 敏捷軟體開發:Scrum實戰指南 Scrum要素 大規模Scrum:大規模敏捷組織的設計 用戶故事地圖 用 ......

    uj5u.com 2020-09-10 05:07:45 more
  • CODING DevOps 代碼質量實戰系列最后一課,周四發車

    隨著 ToB(企業服務)的興起和 ToC(消費互聯網)產品進入成熟期,線上故障帶來的損失越來越大,代碼質量越來越重要,而「質量內建」正是 DevOps 核心理念之一。 **《DevOps 代碼質量實戰(Java 版)》**為 CODING DevOps 代碼質量實戰系列的最后一課,同時也是本系列的 ......

    uj5u.com 2020-09-10 05:07:52 more
  • 敏捷軟體工程實踐書籍

    Scrum轉型想要做好,第一步先了解并真正落實Scrum,那么我推薦的Scrum書籍是要看懂并實踐的。第二步是團隊的工程實踐要做扎實。 下面推薦工程實踐書單: 重構:改善既有代碼的設計 決議極限編程 : 擁抱變化 代碼整潔代碼 程式員的職業素養 修改代碼的藝術 撰寫可讀代碼的藝術 測驗驅動開發 : ......

    uj5u.com 2020-09-10 05:07:55 more
  • Jenkins+svn+nginx實作windows環境自動部署vue前端專案

    前面文章介紹了Jenkins+svn+tomcat實作自動化部署,現在終于有空抽時間出來寫下Jenkins+svn+nginx實作自動部署vue前端專案。 jenkins的安裝和配置已經在前面文章進行介紹,下面介紹實作vue前端專案需要進行的哪些額外的步驟。 注意:在安裝jenkins和nginx的 ......

    uj5u.com 2020-09-10 05:08:49 more
  • CODING DevOps 微服務專案實戰系列第一課,明天等你

    CODING DevOps 微服務專案實戰系列第一課**《DevOps 微服務專案實戰:DevOps 初體驗》**將由 CODING DevOps 開發工程師 王寬老師 向大家介紹 DevOps 的基本理念,并探討為什么現代開發活動需要 DevOps,同時將以 eShopOnContainers 項 ......

    uj5u.com 2020-09-10 05:09:14 more
  • CODING DevOps 微服務專案實戰系列第二課來啦!

    近年來,工程專案的結構越來越復雜,需要接入合適的持續集成流水線形式,才能滿足更多變的需求,那么如何優雅地使用 CI 能力提升生產效率呢?CODING DevOps 微服務專案實戰系列第二課 《DevOps 微服務專案實戰:CI 進階用法》 將由 CODING DevOps 全堆疊工程師 何晨哲老師 向 ......

    uj5u.com 2020-09-10 05:09:33 more
  • CODING DevOps 微服務專案實戰系列最后一課,周四開講!

    隨著軟體工程越來越復雜化,如何在 Kubernetes 集群進行灰度發布成為了生產部署的”必修課“,而如何實作安全可控、自動化的灰度發布也成為了持續部署重點關注的問題。CODING DevOps 微服務專案實戰系列最后一課:**《DevOps 微服務專案實戰:基于 Nginx-ingress 的自動 ......

    uj5u.com 2020-09-10 05:10:00 more
  • CODING 儀表盤功能正式推出,實作作業資料可視化!

    CODING 儀表盤功能現已正式推出!該功能旨在用一張張統計卡片的形式,統計并展示使用 CODING 中所產生的資料。這意味著無需額外的設定,就可以收集歸納寶貴的作業資料并予之量化分析。這些海量的資料皆會以圖表或串列的方式躍然紙上,方便團隊成員隨時查看各專案的進度、狀態和指標,云端協作迎來真正意義上 ......

    uj5u.com 2020-09-10 05:11:01 more
最新发布
  • windows系統git使用ssh方式和gitee/github進行同步

    使用git來clone專案有兩種方式:HTTPS和SSH:
    HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
    SSH:clone的專案你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置... ......

    uj5u.com 2023-04-19 08:41:12 more
  • windows系統git使用ssh方式和gitee/github進行同步

    使用git來clone專案有兩種方式:HTTPS和SSH:
    HTTPS:不管是誰,拿到url隨便clone,但是在push的時候需要驗證用戶名和密碼;
    SSH:clone的專案你必須是擁有者或者管理員,而且需要在clone前添加SSH Key。SSH 在push的時候,是不需要輸入用戶名的,如果配置... ......

    uj5u.com 2023-04-19 08:35:34 more
  • 2023年農牧行業6大CRM系統、5大場景盤點

    在物聯網、大資料、云計算、人工智能、自動化技術等現代資訊技術蓬勃發展與逐步成熟的背景下,數字化正成為農牧行業供給側結構性變革與高質量發展的核心驅動因素。因此,改造和提升傳統農牧業、開拓創新現代智慧農牧業,加快推進農牧業的現代化、資訊化、數字化建設已成為農牧業發展的重要方向。 當下,企業數字化轉型已經 ......

    uj5u.com 2023-04-18 08:05:44 more
  • 2023年農牧行業6大CRM系統、5大場景盤點

    在物聯網、大資料、云計算、人工智能、自動化技術等現代資訊技術蓬勃發展與逐步成熟的背景下,數字化正成為農牧行業供給側結構性變革與高質量發展的核心驅動因素。因此,改造和提升傳統農牧業、開拓創新現代智慧農牧業,加快推進農牧業的現代化、資訊化、數字化建設已成為農牧業發展的重要方向。 當下,企業數字化轉型已經 ......

    uj5u.com 2023-04-18 08:00:18 more
  • 計算機組成原理—存盤器

    計算機組成原理—硬體結構 二、存盤器 1.概述 存盤器是計算機系統中的記憶設備,用來存放程式和資料 1.1存盤器的層次結構 快取-主存層次主要解決CPU和主存速度不匹配的問題,速度接近快取 主存-輔存層次主要解決存盤系統的容量問題,容量接近與價位接近于主存 2.主存盤器 2.1概述 主存與CPU的聯 ......

    uj5u.com 2023-04-17 08:20:31 more
  • 談一談我對協同開發的一些認識

    如今各互聯網公司普通都使用敏捷開發,采用小步快跑的形式來進行專案開發。如果是小專案或者小需求,那一個開發可能就搞定了。但對于電商等復雜的系統,其功能多,結構復雜,一個人肯定是搞不定的,所以都是很多人來共同開發維護。以我曾經待過的商城團隊為例,光是后端開發就有七十多人。 為了更好地開發這類大型系統,往 ......

    uj5u.com 2023-04-17 08:18:55 more
  • 專案管理PRINCE2核心知識點整理

    PRINCE2,即 PRoject IN Controlled Environment(受控環境中的專案)是一種結構化的專案管理方法論,由英國政府內閣商務部(OGC)推出,是英國專案管理標準。
    PRINCE2 作為一種開放的方法論,是一套結構化的專案管理流程,描述了如何以一種邏輯性的、有組織的方法,... ......

    uj5u.com 2023-04-17 08:18:51 more
  • 談一談我對協同開發的一些認識

    如今各互聯網公司普通都使用敏捷開發,采用小步快跑的形式來進行專案開發。如果是小專案或者小需求,那一個開發可能就搞定了。但對于電商等復雜的系統,其功能多,結構復雜,一個人肯定是搞不定的,所以都是很多人來共同開發維護。以我曾經待過的商城團隊為例,光是后端開發就有七十多人。 為了更好地開發這類大型系統,往 ......

    uj5u.com 2023-04-17 08:18:00 more
  • 專案管理PRINCE2核心知識點整理

    PRINCE2,即 PRoject IN Controlled Environment(受控環境中的專案)是一種結構化的專案管理方法論,由英國政府內閣商務部(OGC)推出,是英國專案管理標準。
    PRINCE2 作為一種開放的方法論,是一套結構化的專案管理流程,描述了如何以一種邏輯性的、有組織的方法,... ......

    uj5u.com 2023-04-17 08:17:55 more
  • 計算機組成原理—存盤器

    計算機組成原理—硬體結構 二、存盤器 1.概述 存盤器是計算機系統中的記憶設備,用來存放程式和資料 1.1存盤器的層次結構 快取-主存層次主要解決CPU和主存速度不匹配的問題,速度接近快取 主存-輔存層次主要解決存盤系統的容量問題,容量接近與價位接近于主存 2.主存盤器 2.1概述 主存與CPU的聯 ......

    uj5u.com 2023-04-17 08:12:06 more