簡介: 本文分析了跨區域特別是跨時區 Scrum 團隊項目中容易遇到的問題,并根據筆者的實際經驗,提出了相應的解決方案。雖然跨區域開發團隊與本地開發團隊在應用 Scrum 上存在一些重要的差異,但這些差異造成的問題都可以通過適當的方法得以順利解決。
Scrum 團隊項目基本特性
Scrum 是一個敏捷開發框架,在這個框架中,整個開發周期被分為若干個小的迭代周期,每個小的迭代周期稱為一個 Sprint,每個 Sprint 的建議長度為 2 到 4 周。Scrum 以經驗過程控制理論為依據,采用迭代、增量的方法來提高產品開發的可預見性,并控制風險。
Scrum 團隊中的主要角色包括:
產品負責人(Product Owner,以下簡稱為PO) 負責確定產品的方向和愿景,維護產品Backlog(按照商業價值排序的需求列表,列表條目的表現形式通常為 User Story),定義產品發布的內容、優先級及交付時間。在每個 Sprint 開始前,PO 應整理產品 Backlog 條目,以確保其定義清晰且分解適當,并調整 Backlog 條目的優先級;在 Sprint 結束時,PO 有權接受或拒絕接受開發團隊的工作成果。
Scrum Master 作為 Team Leader 和 PO 緊密合作,負責確保 Scrum 被理解并實施,是 Scrum 團隊中的服務型領導。Scrum Master 應及時地為團隊成員提供幫助,移除項目實施中遇到的障礙,保證各個角色及職責的良好協作,同時作為團隊與外部的接口,屏蔽外界對團隊成員的干擾,從而保證開發過程按計劃順利進行。
開發團隊 (Team) 一個跨職能且自組織的小團隊,人數一般建議為 5 - 9 人。整個團隊需擁有交付可用軟件所需要的各種技能,團隊成員應協同配合,在每個 Sprint 中將選定的產品 Backlog 條目轉化為潛在可交付的功能增量。
下面的圖形反映了Scrum 團隊中各個角色的基本關系:
圖 1. Scrum 團隊
Scrum 短周期迭代,小步快跑的開發模式決定了開發目標必須明確,同時對所有開發過程中遇到的問題必須盡快解決。為此,Scrum Master 需負責發起并組織以下活動:
Sprint 計劃會議 (Sprint Planning Meeting)
每日站會 (Daily Scrum Meeting)
Sprint 評審會議 (Sprint Review Meeting)
Sprint 回顧會議 (Sprint Retrospective Meeting)