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