本文為 CODING 高階產品經理王海明 在騰訊雲 CIF 工程效能峰會上所做的分享。文末可前往峰會官網,觀看回放並下載 PPT。
大家好,我是 CODING 高階產品經理王海明,今天與大家分享的是專案協同 2.0 的設計理念及應用場景。
研發團隊現狀
在一切上雲的數字化時代,將誕生越來越多的軟體公司和數字科技企業,傳統研發管理方式和理念不能滿足這些企業的發展需要。 他們常常面臨以下三個問題:
1. 產研矛盾
導致這一矛盾的原因,一是因為工具分治導致資訊割裂,開發與需求脫節,產品不符合預期;二是由於產品研發週期過長,無法控制風險;同時由於需求變化快,研發交付速度慢,因此無法滿足產品迅速迭代的要求。
2. 管理困境
由於不同產品線研發流程不同,團隊難以統一管控;而且管理者缺少度量工具和管理檢視,往往無法有效利用研發資源;同時產品交付速度和質量無法滿足企業的發展規劃,導致交付產品與企業戰略不匹配。
3. 理念悖論
由於新工具門檻高、與現有工具差異大、上下游工具無法聯動等原因,導致團隊沒有配套的實踐工具,無法實踐瀑布或敏捷等研發理論;同時由於無法有效實踐研發理論,往往出現打著敏捷的旗號實際在實踐瀑布模式的現象,研發管理方法論與實踐嚴重脫節;而且一般研發管理工具所支撐理念較單一,僅有敏捷或僅有傳統瀑布模式都不能滿足多研發模式並存的團隊。
針對以上問題,CODING 推出了專案協同 2.0,是更適合研發團隊的專案管理工具。CODING 作為研發團隊的基礎設施,提供了從敏捷管理到 DevOps 上線的一站式研發管理解決方案。專案協同作為一切需求的源頭,覆蓋了產品構想、計劃到開發的完整流程,迭代規劃、需求分解、狀態流轉、看板檢視、進度跟蹤等能力一應俱全,讓團隊高效協同,提高交付效率。
專案協同設計理念
下面我來為大家介紹一下 CODING 專案協同 2.0 的一些設計理念。專案協同的核心元素是事項和迭代,圍繞二者形成了多種應用場景和配置方案。例如在敏捷模式下是使用 Backlog 維護需求池、規劃迭代、使用看板流轉使用者故事、檢視燃盡圖;在瀑布模式下,是通過計劃頁分解任務、分配任務、排期、登記工時等。從個人在工作臺中完成個人任務,到專案成員在專案集中完成跨專案目標,專案協同對於產品研發的每個環節都做了場景化支援。
圍繞價值流轉和研發效能提升,專案協同提供了以下幾大功能與特色:
多種協作方式
-
敏捷工作模式
該模式是基於 Scrum 的敏捷專案管理模式,從需求池開始到迭代規劃再到看板流轉,讓開發過程井然有序,適用於定期迭代並交付價值的團隊。 -
瀑布開發模式
瀑布開發模式主要用於管理開發計劃、分解需求和任務,可以讓專案嚴格按計劃流程推進,有效控制專案風險,適用於基於時間或基於交付的軟體專案。 -
多專案協同模式——專案集
以上兩種典型開發模式可在單專案中充分發揮優勢,但是一旦出現一個產品線涉及多個專案協作,就需要引入新的協作機制,這就是:專案集。 在專案協同中,我們將專案集定義為:一組相關聯且被協調管理的專案活動,以便獲得分別管理所無法獲得的效益。
專案集包含以下基本能力:
1. 專案集計劃:錄入專案集待辦事項,分解事項並將各事項納入計劃中,並設立里程碑用以追蹤關鍵事件進展;
2. 分解計劃到專案:專案集涉及多專案協作,可將專案集內事項分解到專案中去完成;
3. 風險管理:在協作中識別風險及時上報,並在專案集中對風險進行集中管理、追蹤和解決。
- 自定義協作模式
在自定義協作模式下,不同事項型別的組合形成不同的協作模式,從而可以解鎖更多的專案協作模式,使得團隊在 CODING 中不用侷限於以上兩種基礎協作模式。
強大的自定義引擎
事項型別的自定義能力得益於 CODING 強大的自定義引擎。可為團隊打造獨有的事項型別,並定製與之匹配的開發流程:
-
自定義事項屬性
事項的屬性是內容的主要承載體,CODING 的事項屬性支援自定義,提供了豐富的資料型別以供選擇,涵蓋文字、數字、單選選單、多選選單等基礎資料型別,和成員選擇、迭代選擇等專案內資料來源。 -
自定義事項工作流
流程是資訊有序流轉的核心,CODING 的事項工作流可自定義,不僅提供了狀態定義、流程自定義,還支援多種步驟流轉規則,例如:步驟許可權、附加屬性、自動更改處理人、自動更改屬性等。
豐富的多視角協作
不同的團隊有不同的工作流程,不同的角色有不同的工作視角。每個角色在不同協作情況下的聚焦點不同,為此 CODING 提供了豐富多樣的協作視角和檢視形式:
- 工作臺:讓成員聚焦於個人未完成的工作;
- 篩選器:將複雜的事項的篩選條件儲存下來,以供隨時檢索,並可設為專案共享篩選器;
- 豐富的事項列表檢視:事項支援平鋪、樹狀、看板、甘特圖,並且自定義表頭;
- Backlog 頁面:產品負責人(Product Owner)處理使用者故事的主要介面,隨時對使用者故事進行排序並規劃進迭代;
- 迭代看板:敏捷團隊在迭代過程中的主要協作介面,使用者故事的流轉一目瞭然。看板支援自定義,為敏捷團隊提供了更豐富的協作形式。
資料互通與整合
CODING 作為一站式開發協作工具, 提供了豐富的工具模組,從協作、管理到編碼開發再到知識沉澱,實現了雲上研發工作流的全面覆蓋。專案協同作為協作的中樞神經,承載的內容不止是簡單的需求或任務,還可以將其他模組互通,例如:目標管理可以關聯到專案內任務,與公司戰略目標聯動;測試管理中的測試計劃、測試用例可以與迭代、需求、缺陷等進行關聯;程式碼倉庫、合併請求等程式碼資源可以關聯需求和任務;知識和文件也能夠關聯到需求和任務中,充分利用團隊的知識沉澱。
同時外部工具也為專案協同提供了更多擴充的可能性,我們現已整合:兔小巢、墨刀、CoDesign 等優秀的第三方工具,還開放了 API、WebService 等功能,為開發者提供了更多的擴充能力。Service Hook 的訊息通知不僅僅支援原生 Webhook,還支援企業微信、釘釘、飛書、Jenkins 等工具。
多端支援
專案協同支援 PC 網頁、移動端網頁版、企業微信和微信小程式,全面覆蓋移動辦公場景,無論是否在電腦前,都可以訪問工作臺、迭代和事項,及時檢視和完成工作。
專案協同應用場景
得益於強大的自定義引擎,專案協同適用於多種角色和應用場景。
適用角色
-
團隊管理者
專案協同的多專案管理能力,提供了全域性搜尋、工作負載和專案集功能。對於團隊管理者來說,豐富的度量檢視,可以跟蹤團隊績效和負載;統一的配置功能,能為團隊協作制定規範和工作流。 -
產品經理
對於產品經理來說,Backlog 收集需求和迭代規劃,提高了產品交付能力;迭代看板和燃盡圖,能幫助跟蹤迭代進度;Wiki 和檔案網盤則可以用來收集使用者反饋並沉澱團隊知識。 -
開發工程師
對於開發工程師來說,專案協同的需求和任務分解能力不會遺漏任何關鍵的開發步驟;同時關聯程式碼倉庫等開發工具,打通研發流程的工具鏈;通過豐富的度量檢視,可以幫助開發團隊提升研發效率。 -
測試工程師
測試工程師可以利用專案協同的缺陷管理與跟蹤,詳實記錄所有 Bug;同時需求與測試用例關聯,保證測試覆蓋率;最後從測試結果提交缺陷,完整記錄缺陷的復現場景。
適用場景
-
敏捷開發
專案協同預置了 Scrum 敏捷專案管理模式(包括 Backlog、史詩、使用者故事、迭代和故事點等基本工具),以及多樣的迭代檢視模式(迭代規劃檢視、迭代看板、故事點燃盡圖等),配置靈活多變,適應多種敏捷研發場景(敏捷團隊小步快跑、快速交付產品價值)。 -
瀑布開發
在專案協同內,需求和任務層層分解,提供了精細化的管理能力。團隊可以管理開發計劃,統一跟進開發進度,同時利用多維度報表,為團隊資源配置提供資料依據。 -
一站式 DevOps 開發
事項關聯程式碼、合併請求,團隊可以隨時關注編碼進度; 事項還可以關聯測試用例,提升測試覆蓋率和缺陷溝通效率;專案協同內還內建了豐富的度量指標,助力團隊提升 DevOps 成熟度。 -
多專案協作開發
專案集提供了多專案協作空間,讓團隊能夠實現大規模協作;同時將計劃分解到多個專案中,讓不同專案分而治之;並通過統一的計劃檢視和里程碑,為 PMO 提供管理視角。
未來規劃
最後,我將為大家展示專案協同今後的幾個發展方向——
- 協作配置方案:統一配置專案協同事項與工作流,規範團隊開發流程,為重用專案配置提供工具;
- 精細的許可權控制:事項的每個屬性都可控制讀寫許可權,為強管理團隊提供精細化事項管理的可能;
- 自動化功能:提供更多自動化處理事項的功能,例如事項自動流轉、甘特圖自動排期等,規範研發流程,減少重複操作;
- 更多檢視工具:不斷增加檢視工具,例如增加豐富的事項查詢語言、組合排序、工時統計與檢視工具等;
- 擴充開放性:開放更多 API、WebService 以及整合更多優秀的第三方工具,完善研發工具鏈。
我們相信,高度靈活的屬性和流程配置,清晰直觀的資訊展示,規則透明的流轉設定,可以讓協同有條不紊。專案協同 2.0 的全部功能特性已經可以在 CODING 公有云(coding.net)上體驗,歡迎大家使用並提出寶貴的意見和建議,一同打磨出更加優秀的產品。