简介: 本文分析了跨区域特别是跨时区 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)