在軟體專案研發管理過程中,是否經常出現這樣的場景:開發人員不知道什麼時候轉測;專案經理拿個Excel文件群裡一發,某任務前天就應該完成的,怎麼現在還沒開始搞;前端問這部分UI是誰在做,什麼時候能做完;測試說線上這個bug又是誰改出來的,這次沒轉測這模組……等等。整個協作感覺一團亂麻,團隊內部充滿了甩鍋與抱怨的氛圍。軟體專案的研發流程該怎麼規範,讓團隊成員都能目標明確,步調一致,讓產品迭代充滿節奏感。本文基於筆者專案研發管理經驗整理,希望起到拋磚引玉的作用,探討高效團隊的協作流程模式。
1. 協作流程圖
基本原則:
- 所有問題可跟蹤 (需求、Bug、優化)
- 所有工作透明化 (工作量、進展、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
我的個人部落格地址:http://blog.jboost.cn
我的微信公眾號:jboost-ksxy (一個不只有技術乾貨的公眾號,歡迎關注,及時獲取更新內容)
——————————————————————————————————————————