在軟件項目研發管理過程中,是否經常出現這樣的場景:開發人員不知道什么時候轉測;項目經理拿個Excel文檔群里一發,某任務前天就應該完成的,怎么現在還沒開始搞;前端問這部分UI是誰在做,什么時候能做完;測試說線上這個bug又是誰改出來的,這次沒轉測這模塊……等等。整個協作感覺一團亂麻,團隊內部充滿了甩鍋與抱怨的氛圍。軟件項目的研發流程該怎么規范,讓團隊成員都能目標明確,步調一致,讓產品迭代充滿節奏感。本文基于筆者項目研發管理經驗整理,希望起到拋磚引玉的作用,探討高效團隊的協作流程模式。
1. 協作流程
基本原則:
1. 所有問題可追蹤(需求,BUG,優化)
2. 所有工作透明化(工作量, 進展, Block優化)
2. 各階段內容詳解
2.1. 需求收集確認
本階段主要是與產品經理相關的活動內容:
- 產品經理在每次版本開始之前定期收集各方需求,包括客戶反饋、領導意見(對很多中小企業來說,老板就是最大的“用戶”)、市場調研及技術團隊需求等來源,輸出需求列表
- 在版本開始之前召開版本計劃會議,參與者包括項目經理、產品經理,及項目核心成員,按優先級梳理需求列表,輸出下次版本的初步任務列表(之所以說初步,是因為該列表后面可能根據評審情況進行調整)
- 產品經理基于初步任務列表完成詳細需求文檔,組織團隊成員——包括相關UI、開發、測試,召開 需求評審會議,輸出評審意見及修正完成時間
- 產品經理針對需求評審會議中團隊提出的意見建議,在修正完成時間內及時修正需求文檔,并及時通知團隊相關成員,輸出確定的需求文檔
注:可在需求評審會議后,進行任務的初步認領分配與時間估算,初步確定轉測、上線時間節點
2.2. 設計開發
- 項目經理根據需求文檔完成任務拆解,并在任務管理系統中創建對應任務單,指定經辦人
- 各經辦人認領任務后,根據自身任務的期限,及時與依賴方溝通,確定依賴任務的完成時間,以免影響自身任務進度,存在問題及時向項目經理反饋。
- UI設計完成后,相關開發人員與產品經理需對UI設計進行確認,如果涉及內容較多,可組織UI評審會議(由產品經理或項目經理權衡組織)
- 涉及流程的開發任務需要有必要的設計,技術相關負責人負責對設計review,沒有review的設計不能開發;任務開發完成需要進行代碼review
- 項目經理定期組織項目例會(緊急版本建議每天一次,較長期版本建議一周一次或兩次),持續跟進任務進度與問題,并及時協調處理,以保障進度預期
- 在預定轉測時間節點前一天,開發人員編寫轉測文檔,描述本次版本調整內容(附上任務列表)及注意事項,并通知項目相關人員(釘釘群或郵件)
2.3. 測試
- 需求評審會議后,測試人員需對各功能模塊編寫測試用例文檔,并在轉測前組織測試評審會議,對各功能各環節進行復核與查漏補缺
- 一次版本任務可根據情況分批測試,并確定每輪轉測的內容與時間節點;分批測試完成后,需在上線前進行集成測試,注意預留一定的時間用于問題修復
- 測試完成,需要將測試結論通報項目相關人員(釘釘群或郵件),包括遺留問題與是否達到上線要求結論
注:產品經理可在轉測后對開發實現進行驗收,以確定開發是否符合需求實際,以便及時進行調整
2.4. 上線
- 上線人員需在上線前編寫上線方案文檔,記錄此次上線內容,并對此次上線操作進行推演,對所涉及的所有操作按步驟進行記錄,如數據庫操作,代碼merge,jenkins構建等;對可能存在的問題進行備注及對應的處理方案,并提交技術相關負責人review
- 項目經理結合測試結論及其它各方面情況,決策是否上線,并將意見通知到項目相關人員(釘釘群或郵件)
- 上線人員按照上線方案文檔記錄的步驟,依次完成上線操作(上線操作最好至少由兩人完成,一人操作,一人檢視,避免出錯)
- 上線完成后,測試人員與產品經理對此次上線進行線上驗證,確保線上功能流程無問題
- 驗證無誤后,由項目經理或其他指定負責人將上線通知發布至利益相關者,包括項目團隊所有成員及相關合作方,說明上線時間、上線內容、影響因素、注意事項等(即時通訊群或郵件)
2.5. 復盤
- 版本結束后,項目經理根據情況對上個周期組織復盤總結會,總結存在的問題與原因,及后續規避的辦法,總結積累的經驗等
以上各階段并不是完全串行推進的,相互之間存在一些穿插,比如下一版本需求的收集整理與當前版本的開發是并行推進的,開發與測試也可以以分階段轉測的形式并行推進,等等。
3. 一些常用工具
- jira 用于項目任務管理,其中Agile插件可方便查看整體任務面板,對任務狀態一目了然,需要求團隊成員養成及時更新狀態的習慣
- confluence 文檔管理,用于各類文檔的集中化維護,以上所述的如需求文檔、開發設計文檔、轉測文檔、上線文檔等均可使用confluence以項目空間的形式集中化管理。
- gitlab 代碼管理
- jenkins 項目部署構建工具
- nexus 搭建maven私有庫
4. 總結
團隊工作講求步調與節奏,好的流程與規范可以讓一個水平一般的人也能充分發揮其作用,從而讓團隊整體穩步前進,高效產出。而不好的流程,或根本不重視流程的團隊,卻往往一盤散沙,甩鍋與抱怨充斥,戰斗力低下。本文以相對較粗粒度對軟件項目的基本流程管理做了介紹,更細節的內容可能需要團隊根據內部具體情況進行相應處理與對待。鏈接: https://pan.baidu.com/s/1WBHsIWoquKTQHJ6IaSql3Q 是筆者基于以前團隊敏捷項目管理及一些具體問題的思考分享PPT,供參考。提取碼:awya