Scrum 團隊中的角色分工
很多人都對 Scrum 中的角色分工非常有興趣,對一般的軟體開發團隊而言,可以分為前端工程師(Front-End Engineer),後端工程師(Back-End Engineer),資料庫工程師(Database Administrator),測試工程師(Quality Assurance Engineer),使用者經驗設計師(User eXperience Designer),數據分析師(Data Analyst),專案經理(Project Manager),產品經理(Product Manager),專案主管(Project Leader)⋯等。
但是 Scrum 團隊中,這些角色一個也沒有!對 Scrum 的定義而言,團隊中只有三個角色,這三個角色對於初次接觸 Scrum 的朋友也是最容易感到疑惑的地方。
Scrum 團隊中的角色在 Scrum Guide 中的定義只有三個,分別是產品負責人(Product Owner),Scrum Master(沒有翻譯,也不建議翻譯)和開發團隊(Development Team)。
產品負責人(PO,Product Owner)
我通常把 PO 稱為「問題負責人」(Problem Owner),因為產品負責人(PO)是把客戶最想解決的問題跟需求帶給開發團隊的人,也應該是對問題的「為什麼(Why)」最了解的人,更應該是最了解問題背後的價值的人。
產品負責人不應該是「糾察隊」(Police Office)只是負責評估驗收條件的好壞。產品負責人應該是「問題擁有者」(Problem Owner)全盤考量利害關係人與開發團隊間釐清需求、評估解決方案、獲取最大價值及控制開發成本。
產品負責人的工作包含:
- 負責釐清產品需求
- 排出「產品待辦清單」(Product Backlog)中故事(Story)優先順序
- 最佳化開發團隊的產出
- 確保產品待辦清單(Product Backlog)中的故事的可視化(visible),透明度(transparent)及下一步
- 讓開發團隊能清楚的了解產品待辦清單
- 唯一有權力要求開發團隊做事的人
- 設定故事驗收條件(Acceptance Criteria)
- 產品遠景的守門員
- 有權力中斷或停止開發週期中的「衝刺」(Sprint)
Scrum Master (SM)
我通常把 SM 稱為「不要臉的學習者」( Shameless Man to learn something from others),因為學習如何讓團隊成長,學習忍受錯誤是我做為 SM 時的最高指導原則。
Scrum Master 不應該是「解決方案製造者」(Solution Maker)、「愚蠢錯誤觀察者」(Stupid Mistake observer)、「完美提案促進者」(Suggestions Motivator)。Scrum Master 應該是協助團隊、產品負責人與主管在問題協調中允許嘗試錯誤及尋求內外部資源整合。也是一位運用「他山之石」的高手。
Scrum Master 的工作包含:
- 確保 Scrum 團隊中成員都充分了解 Scrum 並正確的實行 Scrum
- 僕人式領導(Servant-Leader for the Scrum Team)
- 和 PO 一起尋求最佳的產品待辦清單(Product Backlog)管理方式
- 和 PO 一起確保開發團隊能清楚的了解產品待辦清單
- 確保 PO 可以依「產品待辦清單」中故事的最佳價值來排序
- 幫忙 Scrum 事件的引導
- 幫忙建立自組織(Self-organization)及跨職能團隊(Cross-functionality Team)
- 幫忙移出開發團隊在開發過程中遭遇的障礙
- 與其他 Scrum Master 持續建立 Scrum 團隊及組織對 Scrum 的了解
開發團隊(Development Team; Team)
我通常把 Team 稱為「特遣部隊」(Special Task Force),因為這個團隊為產品成敗而生,也為建立出一個高價值的產品而生,團隊中需要各種跨軍種的技能與專業,也是所謂的「跨技能團隊」(Cross-Functional Team)。
開發團隊的工作包含:
- 自組織的團隊,不需要任何人(包含 Scrum Master)就可以拆分「產品待辦清單」中故事為「潛在可發佈功能的功能迭代」(Increments of potentially releasable functionality)
- 能達到產品迭代中所要所有專業技能的「跨技能團隊」(Cross-Functional Team)
- 開發團隊中的所有成員都稱為開發者(Developer)
- 開發團隊中不會依照特殊專長而成立小團體
- 開發團隊中的成員或許有特殊專長或專精領域,但責任是全體開發團隊共同承擔
- 最佳開發團隊人數是 5~9 人,我個人認為最理想的團隊人數是 6 人
有一隻豬跟一隻雞是好朋友,有一天,他們兩個在路上討論起開餐館的事,接著豬就問起雞說那要取什麼名字呢?雞說:「那就叫火腿(一說為培根)與雞蛋如何?」,豬立刻就說,「這樣不行,我可是全身投入(total commitment),你只是依需求投入(a contribution is required)而已。」
常有人會問起 Scrum 團隊中誰是雞,誰是豬?真正的答案只有一個:Scrum 團隊中的「產品負責人」(PO)、「Scrum Master」、「開發團隊」(Development Team )都是豬,只有其他利益關係人(Stakeholder)才是雞。
(本文獲作者授權轉載,原文請點此)