軟件項目研發流程該怎么規范


在軟件項目研發管理過程中,是否經常出現這樣的場景:開發人員不知道什么時候轉測;項目經理拿個Excel文檔群里一發,某任務前天就應該完成的,怎么現在還沒開始搞;前端問這部分UI是誰在做,什么時候能做完;測試說線上這個bug又是誰改出來的,這次沒轉測這模塊……等等。整個協作感覺一團亂麻,團隊內部充滿了甩鍋與抱怨的氛圍。軟件項目的研發流程該怎么規范,讓團隊成員都能目標明確,步調一致,讓產品迭代充滿節奏感。本文基於筆者項目研發管理經驗整理,希望起到拋磚引玉的作用,探討高效團隊的協作流程模式。

1. 協作流程圖

協作流程圖

基本原則:

  1. 所有問題可跟蹤 (需求、Bug、優化)
  2. 所有工作透明化 (工作量、進展、Block因素)

2. 各階段內容詳解

2.1. 需求收集確認

本階段主要是與產品經理相關的活動內容:

  1. 產品經理在每次版本開始之前定期收集各方需求,包括客戶反饋、領導意見(對很多中小企業來說,老板就是最大的“用戶”)、市場調研及技術團隊需求等來源,輸出需求列表
  2. 在版本開始之前召開版本計划會議,參與者包括項目經理、產品經理,及項目核心成員,按優先級梳理需求列表,輸出下次版本的初步任務列表(之所以說初步,是因為該列表后面可能根據評審情況進行調整)
  3. 產品經理基於初步任務列表完成詳細需求文檔,組織團隊成員——包括相關UI、開發、測試,召開 需求評審會議,輸出評審意見及修正完成時間
  4. 產品經理針對需求評審會議中團隊提出的意見建議,在修正完成時間內及時修正需求文檔,並及時通知團隊相關成員,輸出確定的需求文檔

注:可在需求評審會議后,進行任務的初步認領分配與時間估算,初步確定轉測、上線時間節點

2.2. 設計開發

  1. 項目經理根據需求文檔完成任務拆解,並在任務管理系統中創建對應任務單,指定經辦人
  2. 各經辦人認領任務后,根據自身任務的期限,及時與依賴方溝通,確定依賴任務的完成時間,以免影響自身任務進度,存在問題及時向項目經理反饋。
  3. UI設計完成后,相關開發人員與產品經理需對UI設計進行確認,如果涉及內容較多,可組織UI評審會議(由產品經理或項目經理權衡組織)
  4. 涉及流程的開發任務需要有必要的設計,技術相關負責人負責對設計review,沒有review的設計不能開發;任務開發完成需要進行代碼review
  5. 項目經理定期組織項目例會(緊急版本建議每天一次,較長期版本建議一周一次或兩次),持續跟進任務進度與問題,並及時協調處理,以保障進度預期
  6. 在預定轉測時間節點前一天,開發人員編寫轉測文檔,描述本次版本調整內容(附上任務列表)及注意事項,並通知項目相關人員(釘釘群或郵件)

2.3. 測試

  1. 需求評審會議后,測試人員需對各功能模塊編寫測試用例文檔,並在轉測前組織測試評審會議,對各功能各環節進行復核與查漏補缺
  2. 一次版本任務可根據情況分批測試,並確定每輪轉測的內容與時間節點;分批測試完成后,需在上線前進行集成測試,注意預留一定的時間用於問題修復
  3. 測試完成,需要將測試結論通報項目相關人員(釘釘群或郵件),包括遺留問題與是否達到上線要求結論

注:產品經理可在轉測后對開發實現進行驗收,以確定開發是否符合需求實際,以便及時進行調整

2.4. 上線

  1. 上線人員需在上線前編寫上線方案文檔,記錄此次上線內容,並對此次上線操作進行推演,對所涉及的所有操作按步驟進行記錄,如數據庫操作,代碼merge,jenkins構建等;對可能存在的問題進行備注及對應的處理方案,並提交技術相關負責人review
  2. 項目經理結合測試結論及其它各方面情況,決策是否上線,並將意見通知到項目相關人員(釘釘群或郵件)
  3. 上線人員按照上線方案文檔記錄的步驟,依次完成上線操作(上線操作最好至少由兩人完成,一人操作,一人檢視,避免出錯)
  4. 上線完成后,測試人員與產品經理對此次上線進行線上驗證,確保線上功能流程無問題
  5. 驗證無誤后,由項目經理或其他指定負責人將上線通知發布至利益相關者,包括項目團隊所有成員及相關合作方,說明上線時間、上線內容、影響因素、注意事項等(即時通訊群或郵件)

2.5. 復盤

  1. 版本結束后,項目經理根據情況對上個周期組織復盤總結會,總結存在的問題與原因,及后續規避的辦法,總結積累的經驗等

以上各階段並不是完全串行推進的,相互之間存在一些穿插,比如下一版本需求的收集整理與當前版本的開發是並行推進的,開發與測試也可以以分階段轉測的形式並行推進,等等。

3. 一些常用工具

  1. jira 用於項目任務管理,其中Agile插件可方便查看整體任務面板,對任務狀態一目了然,需要求團隊成員養成及時更新狀態的習慣
  2. confluence 文檔管理,用於各類文檔的集中化維護,以上所述的如需求文檔、開發設計文檔、轉測文檔、上線文檔等均可使用confluence以項目空間的形式集中化管理。
  3. gitlab 代碼管理
  4. jenkins 項目部署構建工具
  5. nexus 搭建maven私有庫

4. 總結

團隊工作講求步調與節奏,好的流程與規范可以讓一個水平一般的人也能充分發揮其作用,從而讓團隊整體穩步前進,高效產出。而不好的流程,或根本不重視流程的團隊,卻往往一盤散沙,甩鍋與抱怨充斥,戰斗力低下。本文以相對較粗粒度對軟件項目的基本流程管理做了介紹,更細節的內容可能需要團隊根據內部具體情況進行相應處理與對待。鏈接: https://pan.baidu.com/s/1WBHsIWoquKTQHJ6IaSql3Q 是筆者基於以前團隊敏捷項目管理及一些具體問題的思考分享PPT,供參考。提取碼:awya



我的個人博客地址:http://blog.jboost.cn
我的微信公眾號:jboost-ksxy (一個不只有技術干貨的公眾號,歡迎關注,及時獲取更新內容)
——————————————————————————————————————————
微信公眾號


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM