敏捷開發(fā)中的PO即Product Owner,字面意思是產(chǎn)品或業(yè)務(wù)負責人,即熟悉該產(chǎn)品所有業(yè)務(wù)相關(guān)的邏輯、流程、設(shè)置等方面事宜的人員,一般可由產(chǎn)品經(jīng)理擔任,也可由熟悉業(yè)務(wù)的開發(fā)人員擔任。如果敏捷團隊是在一起辦公的(指一個辦公室內(nèi)坐在一起的),建議由產(chǎn)品經(jīng)理擔任,本身產(chǎn)品經(jīng)理已經(jīng)是所有業(yè)務(wù)的接口人,熟悉業(yè)務(wù)是其本職工作;如果產(chǎn)品經(jīng)理和開發(fā)、測試團隊是兩地辦公的,如設(shè)立的研發(fā)中心、外包服務(wù)等形式的,建議在開發(fā)團隊內(nèi)指定一個人來擔任PO,這樣產(chǎn)品經(jīng)理在第一次PRD全體review之后,只需跟這個PO講解清楚產(chǎn)品邏輯,后續(xù)開發(fā)和測試當中遇到的問題,都可以咨詢PO來得到解決,PO不確定的可以聯(lián)系產(chǎn)品經(jīng)理確認,這樣可以減少一部分的溝通成本。
敏捷開發(fā)中的SM即Scrum Master,字面意思是敏捷專家或者敏捷大師,即熟悉敏捷開發(fā)模式及敏捷實施流程的人員,一般可由敏捷團隊當中的開發(fā)負責人擔任,部分能力很強且懂技術(shù)的產(chǎn)品經(jīng)理也可擔任這個角色,因涉及到工作量評估和分派等工作,最好都是由技術(shù)能力較強的人員擔任。
Product Owner(PO)
Product Owner角色定義
確定產(chǎn)品的方向和愿景,定義產(chǎn)品發(fā)布的內(nèi)容、優(yōu)先級及交付時間,為產(chǎn)品ROI(profitability of product)負責。 是維護產(chǎn)品需求清單( product backlog )的人,代表利益相關(guān)者的利益。
Product Owner工作職責
負責最大化產(chǎn)品以及開發(fā)團隊工作的價值。主要職責如下:
1、確定產(chǎn)品的功能;
2、決定發(fā)布的日期和發(fā)布內(nèi)容;
3、為產(chǎn)品的ROI負責;
4、根據(jù)市場價值確定功能優(yōu)先級;
5、每個sprint中,根據(jù)需要調(diào)整功能和優(yōu)先級(每個sprint開始前調(diào)整);
6、接受或拒絕開發(fā)團隊的工作成果;
7、參與Scrum Planning Meetings(Sprint計劃會議),Sprint Review Meeting(Sprint評審會)和 Sprint Retrospective Meeting(Sprint回顧會)

Product Owner在團隊中的作用
在junior團隊中:主要的需求來源,個人確定需求價值和優(yōu)先級
在intermediate團隊中:多角度的收集需求,和團隊成員共同確定需求的價值和優(yōu)先級
在Senior團隊中:和團隊成員共同提出和收集需求,共同對產(chǎn)品負責
這里的團隊分級主要是指團隊的敏捷成熟度,即產(chǎn)品團隊實施敏捷開發(fā)模式后,對敏捷開發(fā)模式的適應(yīng)程度、接受程度和學習程度。后面會專門介紹團隊的評估標準。
一句話總結(jié)PO這個角色就是:告訴產(chǎn)品團隊要做什么,做功能的先后順序是怎樣的,需求有變動時該如何處理。
Scrum Master(SM)
Scrum Master角色定義
是團隊的導師和組織者,與Product Owner緊密合作,及時為團隊成員提供幫助。促使team按照scrum方式運行,為Scrum過程負責的人。
Scrum Master并非團隊的領(lǐng)導(因為團隊是自我組織的),而是一個負責屏蔽外界對開發(fā)團隊干擾的角色。 Scrum Master是規(guī)則的執(zhí)行者,他是Scrum團隊中的服務(wù)型領(lǐng)導。
Scrum Master工作職責
確保scrum被理解和正確使用并使得Scrum的收益最大化。主要職責如下:
1、保證團隊資源合理利用;
2、保證各個角色及職責良好協(xié)作;
3、解決團隊開發(fā)中的障礙;
4、作為團隊和團隊外部的接口,協(xié)調(diào)解決溝通中的問題;
5、保證開發(fā)過程按計劃進行,組織Scrum Planning Meetings(Sprint計劃會議), Daily Stand-up Meeting(每日站會), Sprint Review Meeting(Sprint評審會)和 Sprint Retrospective Meeting(Sprint回顧會)。

Scrum Master在團隊中的作用
在junior團隊中:主導和控制
在intermediate團隊中:引導和教導
在Senior團隊中:輔導和協(xié)助
一句話總結(jié)SM這個角色就是:教整個團隊怎么做,如何估時,跟進每天進度,風險控制,定期總結(jié),計劃排定。
案例分享
某Team在Plan Meeting會議中,邀請了PO參加,但PO因會議時間沖突未能參加,在討論Sprint Backlog的時候,因需求有變動,團隊未完全按照product backlog上的優(yōu)先級去拿,選好Sprint Backlog 后,Scrum master詳細講解了每一條Sprint Backlog應(yīng)該如何拆分及理由,最后給出了每個task的評估工時。
問題一:PO未參加計劃會
應(yīng)與PO提前協(xié)商時間,若PO沒有時間需調(diào)整時間,PO一定要參加;
問題二:未按已排定的優(yōu)先級做
如果不按照product backlog上的優(yōu)先級去拿需要和PO一起決定;
問題三:SM一個人完成需求拆分和工時評估
任務(wù)的拆分及工時的評估需要和團隊共同確定,不是Scrum master一個人說了算。
在敏捷開發(fā)團隊內(nèi)部,PO和SM角色是非常重要的,基本決定了團隊是否可以很好的執(zhí)行敏捷開發(fā)這種模式,因此這兩個角色一定都要十分熟悉敏捷開發(fā)的整個運轉(zhuǎn)流程,帶領(lǐng)和引導團隊一步一步的往敏捷的方向邁進。很多時候PO和SM的不專業(yè),很容易使團隊偏離敏捷的模式,因此決定一個團隊能否完全進入敏捷開發(fā)模式時,這兩個角色很關(guān)鍵。