CODING 告訴你如何建立一個 Scrum 團隊
原文地址:https://www.atlassian.com/agile/scrum/roles
翻譯君:CODING 敏傑小王子
Scrum 當中有三個角色:PO(product owner),敏捷教練(scrum master)和開發團隊。雖然這看起來很清晰,但如何處理現有職位的問題可能會讓人感到困惑。許多團隊詢問在採用 scrum 時是否需要更改崗位名稱?最簡潔的答案是“不”。在本文中,我們將討論 scrum 的角色定義以及如何將它們融進你的組織中,而你無需列印新的崗位名片。
Scrum 角色 VS 崗位職稱
這三個 scrum 角色描述了 scrum 團隊成員的主要責任,他們並不是崗位職稱。這意味著任何職稱,即使是現有職位,也可以承擔其中一個角色。因為 scrum 的本質是經驗主義、自我組織和持續改進,所以這三個角色給出了責任的最小定義,以允許團隊有效地工作。這使得團隊可以對他們的自我組織和持續改進負責。
參考閱讀:https://scrumguides.org/scrum-guide.html
建立一個 Scrum 團隊
Scrum 是一個團隊構建運作流程的框架。它提供了定期會議和誰做什麼的基本結構。
它不為團隊提供一個適合所有人的模型。例如,如果團隊正在開發 Web 保險應用程式,他們需要了解技術、後端系統和業務領域的人員。另一方面,如果團隊正在研究下一代大金剛,那麼所需的技能將會大不相同。他們需要平面設計師,音響工程師和圖形開發人員。由於問題不同,所需的團隊結構和技能也不同。
團隊試圖解決的問題越複雜,團隊運作就變得越來越困難。正如那句老話:“你不知道你不知道什麼,直到你知道你不知道”。團隊可能不知道預先需要的技能或工作量,並且需要具備一定的靈活性,一旦他們瞭解更多後就可以輕鬆地改變學習方向。
為了給這個複雜、不斷變化且經常令人討厭的世界提供一些結構,scrum 提供了輕量級團隊結構,包括開發團隊,PO 和敏捷教練的三個 scrum 角色。
開發團隊:重新定義“開發人員”
開發團隊是開展工作的人員。乍一看可能認為“開發團隊”意味著工程師。但情況並非總是如此。根據 scrum 指南,開發團隊可以由各種各樣的人組成,包括設計師、文件工程師、程式設計師等。
你可以像進行一個房屋專案聘請開發人員一樣考慮它。這可能意味著他們需要鋪磚,做管道,甚至挖洞,這個人被稱為開發商。因此,scrum 中的“開發人員”角色意味著擁有合適技能的團隊成員,作為團隊的一部分來完成工作。
參考閱讀:https://www.scrum.org/resources/what-is-a-scrum-development-team
Scrum 指南:https://www.scrumguides.org/
Scrum 神話:Scrum 開發人員意味著只有程式設計人員才能成為 Scrum 團隊的一員。
開發團隊應該能夠自我組織,這樣他們可以自己做出決定來完成工作。可以將開發團隊視為類似於因為出現了問題而被夜間呼叫的生產環境支撐團隊。與生產環境支撐團隊一樣,開發團隊可以制定決策併為手頭的問題提供修復/價值。自組織不意味著對組織不尊重,而是為了讓最接近工作的人能夠為解決問題採取實質行動。
開發團隊的職責包括:
- 通過迭代交付工作。
- 為了確保衝刺期間的工作透明度,他們每天都會在晨會中碰頭(有時稱為站立)。站立會議為工作提供透明度,併為團隊成員尋求幫助、談論成功經驗以及突出問題和障礙提供了一個專門的場所。敏捷教練可能會促進站立會議,但最終由開發團隊負責執行此會議。他們的會議是幫助他們作為一個整體,以更有效的方式檢查和調整他們正在做的工作。
PO:明確方向
敏捷團隊在設計上具有靈活性和快速響應的特質,PO 有責任確保團隊提供的價值最大化。業務由產品所有者(即 PO)代表,他會告訴開發什麼是重要的交付內容。這兩種角色之間的信任至關重要。
PO 不僅要了解客戶,還要了解 scrum 團隊為客戶提供的價值。PO 還可以平衡組織中其他利益相關者的需求。
因此,PO 必須掌握對所有工作的輸入並確定優先順序。這可能是他們最重要的責任,因為衝突的優先順序和不明確的方向不僅會降低團隊的效率,還會破壞業務人員與開發團隊之間的重要信任關係。
敏捷團隊旨在即時檢查和隨時調整,這意味著優先順序的變化可能會導致團隊結構、工作產出以及最終結果的巨大變化。因此,對於 scrum 團隊而言,成功的關鍵是隻有一個人能夠確定優先權,那個人是 PO。
Scrum 指南將 PO 的職責定義為:
- 管理 backlog —— 這並不意味著他們是唯一一個將新的 backlog 專案放入待辦事項的人。但他們對開發團隊需要交付的 backlog 事項負責。這意味著 PO 應該瞭解待辦事項中的所有內容,當其他人將新增事項到產品 backlog 當中時應確保他們與 PO 溝通過。
- 釋出管理 —— 迭代不是釋出週期,而是計劃週期。這意味著 scrum 團隊可以隨時交付產品。理想情況下,他們會在整個迭代中頻繁交付,可以在迭代回顧檢視真實的客戶使用情況和反饋。但是持續交付並不是總能保持的一種狀態,並且其它釋出模型也是必要的。PO 必須知道什麼時候能夠並且應該釋出。
- 利益相關者管理 —— 任何產品都會涉及許多利益相關者,包括使用者、客戶、公司高層和組織領導。PO 必須與這些人合作,以確保開發團隊提供真正的價值。這可能意味著 PO 需要與各個利益相關者進行溝通。
Scrum 神話:PO 制定所有要求,編寫所有驗收標準並建立所有需求。
Scrum master:把它們融合在一起
Scrum 管理員負責把 scrum 相關的一切都融合在一起,並確保 scrum 在團隊中運作良好。這意味著他們可以幫助 PO 定義價值,幫助開發團隊交付商業價值,幫助 scrum 團隊運作地更好。敏捷教練是一個僕人式的領導者角色,這個角色不僅描述了支援性的領導風格,還描述了他們日常工作的內容。
敏捷教練通過幫助 PO 更好地理解和傳達價值、管理 backlog、與團隊一起規劃分解工作輸出最有效的經驗,來更好地為 PO 服務。敏捷教練也為開發團隊服務,幫助他們自我組織,專注於結果,實現“增量式工作”,並管理工作中的障礙。敏捷教練還為整個組織提供服務,幫助他們瞭解 scrum 是什麼,建立可以良好運作 scrum 的環境。
Scrum 神話:敏捷教練必須每日執行 scrum 相關機制。實際上,敏捷教練不執行任何事務只是確保它們能夠正常執行。
敏捷教練專注於:
- 透明度 —— 為了支援團隊能夠有效地自我檢查和調整,對應的人員需要看到對應發生的事情。但這事做起來比看起來難。敏捷教練的任務是確保 scrum 團隊以透明的方式工作。比如建立故事地圖和使用回顧性思維來更新彙總資訊頁面。
- 經驗主義 —— scrum 和敏捷的一個基本方法是,達到目標的最好方式是去做並從中學習。積累經驗的過程並不容易,需要敏捷教練指導團隊分解工作、描述明確的結果並回顧這些結果。
- 自組織 —— 告知開發團隊他們可以自我組織,那麼他們就會去自我管理。事實上,團隊在自我組織的過程中隨著時間的推移,會需要幫助和支援。敏捷教練會鼓勵團隊成員走出他們的舒適區並嘗試不同的事情,並使用諸如“委託撲克”之類的做法來揭露和挑戰有關角色界限和職責的預設想法。
參考閱讀:https://management30.com/product/delegation-poker/ - 價值觀 —— scrum 定義了勇氣、專注、承諾、尊重和開放的 5 個價值觀,不是因為它們很友善,而是因為它們創造了安全和信任的環境。這種環境對於團隊的茁壯成長非常必要。遵循這些價值觀是 scrum 團隊中每個人的責任,而敏捷教練在鼓勵和提醒每個人遵守這些價值觀的方面發揮了積極作用。
敏捷教練在迭代規劃和迭代回顧中為 PO 提供服務,確保描述準確並設定方向。他們通過維持事務正常運作、移除工作阻礙為日常的開發團隊服務。他們還對團隊無法解決的障礙負責。敏捷教練確保每個改進的機會都對 scrum 團隊透明,並且有一系列明確的結果可供回顧。
開始使用敏捷 Scrum 角色
在只描述任何 scrum 團隊中三個主要責任區域時,這三個 scrum 角色理解起來非常簡單。但通常很難將它們對映到企業當中的崗位職稱。所以下面的實踐將幫助你更好地開始:
- 如果你擁有不少提供客戶價值的優秀技能,並且提供價值這件事令你無比興奮,那麼你應該成為一名 scrum 開發團隊成員。實際上,團隊是任何敏捷組織中最重要的元素,因為他們為客戶和利益相關者提供了價值。這意味著你的資歷取決於你能提供多少價值或幫助他人做到這一點。
- 如果你對客戶、企業利益相關者和業務領域充滿熱情,那麼 PO 最適合你的需求。在大多陣列織中,這個人需要得到業務方面的尊重和信任,因此他們可以做出決策。當你權衡利弊並希望讓每個人都開心時,這個角色就需要一定程度的“政治活動技巧”。
- 如果你想幫助團隊有效地一起工作,並希望通過 scrum 和敏捷改變世界,那麼敏捷教練的角色非你莫屬。這是一個以人為中心的角色,非常注重指導、教學和輔導。