1. 程式人生 > >敏捷開發團隊中PO和SM角色介紹

敏捷開發團隊中PO和SM角色介紹

敏捷開發中的PO即Product Owner,字面意思是產品或業務負責人,即熟悉該產品所有業務相關的邏輯、流程、設定等方面事宜的人員,一般可由產品經理擔任,也可由熟悉業務的開發人員擔任。如果敏捷團隊是在一起辦公的(指一個辦公室內坐在一起的),建議由產品經理擔任,本身產品經理已經是所有業務的介面人,熟悉業務是其本職工作;如果產品經理和開發、測試團隊是兩地辦公的,如設立的研發中心、外包服務等形式的,建議在開發團隊內指定一個人來擔任PO,這樣產品經理在第一次PRD全體review之後,只需跟這個PO講解清楚產品邏輯,後續開發和測試當中遇到的問題,都可以諮詢PO來得到解決,PO不確定的可以聯絡產品經理確認,這樣可以減少一部分的溝通成本。

敏捷開發中的SM即Scrum Master,字面意思是敏捷專家或者敏捷大師,即熟悉敏捷開發模式及敏捷實施流程的人員,一般可由敏捷團隊當中的開發負責人擔任,部分能力很強且懂技術的產品經理也可擔任這個角色,因涉及到工作量評估和分派等工作,最好都是由技術能力較強的人員擔任。

Product Owner(PO)

Product Owner角色定義

確定產品的方向和願景,定義產品釋出的內容、優先順序及交付時間,為產品ROI(profitability of product)負責。 是維護產品需求清單( product backlog )的人,代表利益相關者的利益。

Product Owner工作職責

負責最大化產品以及開發團隊工作的價值。主要職責如下:

1、確定產品的功能;

2、決定釋出的日期和釋出內容;

3、為產品的ROI負責;

4、根據市場價值確定功能優先順序;

5、每個sprint中,根據需要調整功能和優先順序(每個sprint開始前調整);

6、接受或拒絕開發團隊的工作成果;

7、參與Scrum Planning Meetings(Sprint計劃會議),Sprint Review Meeting(Sprint評審會)和 Sprint Retrospective Meeting(Sprint回顧會)

Product Owner在團隊中的作用

在junior團隊中:主要的需求來源,個人確定需求價值和優先順序

在intermediate團隊中:多角度的收集需求,和團隊成員共同確定需求的價值和優先順序

在Senior團隊中:和團隊成員共同提出和收集需求,共同對產品負責

這裡的團隊分級主要是指團隊的敏捷成熟度,即產品團隊實施敏捷開發模式後,對敏捷開發模式的適應程度、接受程度和學習程度。後面會專門介紹團隊的評估標準。

一句話總結PO這個角色就是:告訴產品團隊要做什麼,做功能的先後順序是怎樣的,需求有變動時該如何處理。

Scrum Master(SM)

Scrum Master角色定義

是團隊的導師和組織者,與Product Owner緊密合作,及時為團隊成員提供幫助。促使team按照scrum方式執行,為Scrum過程負責的人。

Scrum Master並非團隊的領導(因為團隊是自我組織的),而是一個負責遮蔽外界對開發團隊干擾的角色。 Scrum Master是規則的執行者,他是Scrum團隊中的服務型領導。

Scrum Master工作職責

確保scrum被理解和正確使用並使得Scrum的收益最大化。主要職責如下:

1、保證團隊資源合理利用;

2、保證各個角色及職責良好協作;

3、解決團隊開發中的障礙;

4、作為團隊和團隊外部的介面,協調解決溝通中的問題;

5、保證開發過程按計劃進行,組織Scrum Planning Meetings(Sprint計劃會議), Daily Stand-up Meeting(每日站會), Sprint Review Meeting(Sprint評審會)和 Sprint Retrospective Meeting(Sprint回顧會)。

Scrum Master在團隊中的作用

在junior團隊中:主導和控制

在intermediate團隊中:引導和教導

在Senior團隊中:輔導和協助

一句話總結SM這個角色就是:教整個團隊怎麼做,如何估時,跟進每天進度,風險控制,定期總結,計劃排定。

案例分享

某Team在Plan Meeting會議中,邀請了PO參加,但PO因會議時間衝突未能參加,在討論Sprint  Backlog的時候,因需求有變動,團隊未完全按照product  backlog上的優先順序去拿,選好Sprint  Backlog 後,Scrum master詳細講解了每一條Sprint  Backlog應該如何拆分及理由,最後給出了每個task的評估工時。

問題一:PO未參加計劃會

應與PO提前協商時間,若PO沒有時間需調整時間,PO一定要參加;

問題二:未按已排定的優先順序做

如果不按照product  backlog上的優先順序去拿需要和PO一起決定;

問題三:SM一個人完成需求拆分和工時評估

任務的拆分及工時的評估需要和團隊共同確定,不是Scrum master一個人說了算。

在敏捷開發團隊內部,PO和SM角色是非常重要的,基本決定了團隊是否可以很好的執行敏捷開發這種模式,因此這兩個角色一定都要十分熟悉敏捷開發的整個運轉流程,帶領和引導團隊一步一步的往敏捷的方向邁進。很多時候PO和SM的不專業,很容易使團隊偏離敏捷的模式,因此決定一個團隊能否完全進入敏捷開發模式時,這兩個角色很關鍵。