文/秋之川
這是《落葉》文集里第 318 片落葉,希望你能喜歡,不為別的,只為這份堅持。
【背景】
現在很多同學加入的公司或團隊,都采用了 Scrum 或類 Scrum 的研發模式,因此他們都很需要盡快熟悉這種研發模式,于是就經常會有同學問我,怎么才能快速了解并熟悉 Scrum 研發模式,但在短時間內通過推薦閱讀一些專業的書籍去熟悉有些不太現實,所以,我就將我接觸過的 Scrum 按照不同維度梳理了幾個模型,既可以有整體上的了解和認知,也可以根據自己在團隊中所擔當的不同角色,快速定位自己在不同階段所需要做的工作。
【你問】
怎么才能快速了解并熟悉 Scrum 研發模式?
【我答】
團隊模型
我們先從人的角度,通過建立團隊模型來了解一下 Scrum。敏捷團隊的主要角色有三種:產品負責人、ScrumMaster、開發團隊。
產品負責人/Product Owner/PO:
該角色需要處理好兩個方面的事務:
一、充分理解組織中的相關干系人、客戶和用戶的需求,充當其代言人。
二、做好需求管理,以及和開發團隊定好優先級,還必須明確需求的驗收標準。
- 工作職責
- 管理商業回報;
- 參與產品規劃活動;
- 梳理產品需求清單(Product Backlog);
- 定義驗收標準并驗證這些標準是否得到滿足;
- 與開發團隊合作;
- 與干系人合作;
- 工作技能
- 領域能力:有預見性,知道有些事是無法預見的,具備業務和領域專長;
- 人際交往能力:和利益干系人關系好,促成談判/達成一致意見;
- 良好的溝通能力;
- 有正能量;會激勵人;
- 決策力:得到授權,可以制定決策,關鍵時刻敢于拍板;
- 有決斷力;
- 從經濟的視角權衡業務/技術問題;
- 責任心:承擔產品責任,參與項目并隨時可以到場;
- 作為 Scrum 團隊成員的一份子;
敏捷教練/ScrumMaster/SM
負責幫助每個人理解并樂于接受 Scrum 的價值觀、原則和實踐。負責團隊的過程管理,幫助Scrum團隊和組織其他成員發展具有組織特色的、高效的Scrum方法,并且需要保護團隊不受外力干擾。
- 工作職責
- 負責對產品負責人、開發團隊進行輔導,消除兩者之間的隔閡,使 PO 能夠更好的驅動產品開發;
- 服務于團隊,確保團隊聚焦于最高優先級的需求;
- 過程權威,定義特定的方法、實施并遵循Scrum的價值觀、原則和實踐;
- 做好協調溝通工作,保護開發團隊免受外部干擾,讓團隊可以集中精力做好每個迭代;
- 工作技能
- 見多識廣:精通 Scrum 方面的知識,還要能夠理解團隊需要解決的技術問題及團隊用來創建解決方案的技術;
- 善于提問:能夠結合流程、技術和業務方面的知識,提出重要問題。優秀的 ScrumMaster 幾乎從來不會直接回答問題,而是能提出有思想的、有深度的、探索式的問題,從而幫助大家自己找到答案;
- 有協作精神:能夠協調好團隊內部、外部工作;
- 保護團隊:幫助團隊克服困難;
- 公開信息:保持在所有形式的溝通中公開透明;
開發團隊/Team:
以功能開發為核心,建立的跨職能團隊。
- 工作職責
- 每日檢視和調整:通過每日站會的形式,完成檢視和調整;
- 制定 Sprint 項目工作計劃:依據產品需求,制定工作計劃;
- 開發工作:實現產品需求;
- 工作特征
- 自組織、跨職能的多樣化和全面化;
- 火槍手態度、透明溝通;
- 團隊規模適中、專注有責任感;
- 工作有節奏可持續,團隊成員穩定;
過程模型
流程描述(按每個角色在 Sprint 開始之前、進行中和結束之后所需要做的事情來介紹)
- Sprint 開始之前:
- PO 需要收集并整理細化產品功能需求,并形成 Product Backlog;
- PO 要依據功能需求的商業價值定義優先級別;
- PO 要定義功能需求的驗收指標或者說性能指標;
- PO 依據歷史數據的統計分析和經驗,設定用戶故事的復雜度或者故事點;
- PO 需要提前至少1~2周把 Product Backlog 發給團隊;
- SM 需要組織 Sprint 計劃會議;
- PO在 Sprint 計劃會議上,要讓團隊理解自己的需求背景、優先級原因以及需求細節,簡單地說就是你為什么要這個功能、這個功能的價值點在哪、你要的是什么樣的功能;
- Team 通過問題去理解每個需求,然后自行認領任務并給出合理的評估;
- SM 需要依據自己的經驗、歷史數據和相應的問題,去判斷得到的評估是否合理;
- SM 需要依據這些評估和 Team 的 Capacity 去判斷當前的 Sprint 計劃是否能按時完成;
- Sprint 進行中:
- PO 需要審查每天的缺陷,并定義它們的優先級別;
- PO 需要及時驗收已完成的任務并及時給出反饋意見;
- SM 需要更新燃盡圖并組織每日站會,引導大家及時溝通,把問題盡早的暴露出來;
- SM 需要找出阻礙進度的障礙和依賴關系,依次進行跟蹤和解決。包括 Team 內部的,跨 Team 的,或者是需要管理層解決的資源問題;
- SM需要組織驗收會議,讓團隊把自己的成果展示給 PO;
- Team 按質按量地完成自己承接的任務,并通過驗收;
- Sprint結束之后:
- SM 需要組織回顧會議,PO 和 Team 都要參加;
- 在會上,大家一起分析為什么這個 Sprint 只能承接這么多 User Story, 有什么辦法能提高 Capacity,從而在下個 Sprint 里能夠承接更多的 User Story,持續地提高 Team 的生產力;
《測試路上你問我答》里的 Q&A 95,如果是你要的,甚好!如果不是,你問,我答!
作者簡介:14 年測試 + 11 年項目管理 + 11 年團隊管理 = 一個測試老兵