敏捷開發中的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的不專業,很容易使團隊偏離敏捷的模式,因此決定一個團隊能否完全進入敏捷開發模式時,這兩個角色很關鍵。