角色

Scrum 团队的成员至少担任三个角色中的一个角色。 大多数成员都担任团队角色,负责创建软件。 此外,您的产品所有者将确保在团队中有人代表您的客户,并且 Scrum 主管将帮助您的团队和产品所有者有效地遵循 Scrum 过程。

主题内容

团队

团队由负责创建软件的若干个人组成。 团队在冲刺 (sprint) 开始时选择用户情景,在冲刺 (sprint) 期间进行协作以实现和测试用户情景,并在冲刺 (sprint) 评审时呈现已完成的软件。 团队是自我组织的,因为它可以管理自身及其工作。 团队是跨职能部门的,因为它包含交付产品积压工作中的用户情景所需的各种技巧。 MSF for Agile Software Development 5.0 版不会按照诸如工程专业或专业领域之类的标准来区分团队中的角色。

成为优秀团队的必要因素

要组建一个优秀的软件团队很难,需要花时间来建立。 我们身边不乏优秀团队的例子:外科手术团队、篮球队、牧羊犬及其训练者。 每个团队成员都有其自身的专长,但团队需要协同工作,团队的成败意味着每个成员的成败。

优秀的软件团队还需要由齐心协力共同朝向一个共同目标努力的个人组成。 软件团队不应光是将专家集合在一起,仅让每个人轮流执行自己擅长的任务, 而是应让集体的技能和专长胜过任何个人的技能。 通过协作、交流、信任和坦诚,团队可以获得成功,并超越团队成员的个人能力而成为一个高效的整体。

优秀团队拥有交付可用软件所需的人员和技能。 团队的全程参与成员应该拥有完成项目所需的大部分或全部技能。 设计师、操作人员、架构师或特定技术方面的专家之类的专业化人员可能无法全程参与一个项目。 团队可以吸引外部专家来参与短期工作。 不过,全程参与的团队成员应由具有完成工作所需的大部分技能的人员构成。

团队核心责任

团队的主要职责是创建同时满足客户期望和团队为成品软件设立的标准的软件。 团队的职责从冲刺 (sprint) 计划会议开始,到冲刺 (sprint) 评审会议结束。 在冲刺 (sprint) 计划会议上,团队将用户情景划分为多个任务。 在冲刺 (sprint) 评审会议上,团队向产品所有者和潜在客户提供可用软件。

此外,团队还负责其工作成果。 团队的自我管理性体现在:定义和完成所选工作,在团队成员之间进行协作以优化团队效率。 团队应该始终致力于通过开展以下工作来改进其效果:

  • 定义完成的工作所需达到的标准,并在开始下一工作之前完成每项任务。

  • 采用有效的工程实践。

    有关更多信息,请参见工程实践

  • 帮助产品所有者创建有效用户情景并设置其优先级。

  • 评估用户情景。

Scrum 主管

作为 Scrum 主管,您负责构建和维护一个符合 Scrum 过程的正常运行的团队。 您是负责帮助团队克服障碍的变更代理。

成为优秀 Scrum 主管的因素

若要成为优秀 Scrum 主管,您应具备或培养出色的沟通、协商和冲突解决技能。 并在日常工作当中应用这些技巧帮助您的团队进行开发。 您不仅要积极倾听人们表达的意见,还要观察他们传达这些信息的方式(他们的肢体语言、面部表情、语速以及其他非语言的传达方式)。 您应当通过提问来揭示隐藏的问题,并确认您理解的他人表达的意思。 您应当使用这些技巧,确认团队可能存在的问题并协助阻止这些问题发展成实际问题。 如果在发现 Bug 后立刻进行修复,则成本会较低;而且相比于当团队问题变得较大和超出控制时,在问题较小且可管理时进行解决会更加容易,破坏也更小。 您应能充分调动团队的工作热情以提高其生产力,同时使团队、产品所有者以及其他业务利益干系人感觉轻松愉快。 您应收集和分析数据,并将这些数据提供给业务利益干系人,说明团队是如何改进和提高的。 例如,如果您的团队已经极大地提高了其所交付的价值,同时产生的 Bug 更少,则您必须将这一改进展现给业务利益干系人。

Scrum 主管的核心职责

您的主要责任是确保团队和产品所有者遵循 Scrum 过程。 例如,您不应让日常 Scrum 会议变成持续 45 分钟的公开讨论。 您还应确保产品所有者不要求团队向已开始的冲刺 (sprint) 增加工作。 如果某些用户情景未全部完成,则不应让团队在冲刺 (sprint) 评审会议上提出这些用户情景。

您将帮助解决团队可能遇到的阻滞问题。 您可能需要执行小型任务(例如,批准购买新的生成计算机的采购订单)或执行较大的更具挑战性的任务(例如,解决您的团队成员之间的冲突。) 当团队陷入困境时,您必须帮助团队脱困,并在未来更高效地工作。

产品所有者

产品所有者的主要职能是充当客户与团队之间的接口。 不同的客户和利益干系人可能会将您引向多个方向。

成为优秀产品所有者的因素

您必须对客户要求进行分析,并以用户情景的形式阐明它们。 您必须拥有良好的协商技能,以便能帮助客户了解如何权衡所需功能与这些功能对时间表的影响。 您必须与客户合作以设置产品积压工作的优先级,从而使团队生成最有价值的产品或系统(一次生成一个渐进式要求)。 您必须具备所构建的系统的业务领域或行业内的专业知识。 例如,如果您的团队正在为医院构建医疗系统,则您必须具有医疗和医疗保险方面的背景知识。 如果没有这些知识,您将无法有效地设置产品积压工作的优先级,或向团队说明产品积压工作项目。 基本的财务技能(如能够理解系统的投资回收期、预算分期付款以及资本和支出预算)也可使您获益匪浅。 对于团队的成功,您对 Scrum 过程的理解以及对这些过程的投入也非常重要。

产品所有者的核心职责

您的核心责任是向团队介绍客户和利益干系人的要求,并回答团队提出的问题。 您必须使产品积压工作保持最新并设置其优先顺序。 若要维护产品积压工作,您必须定期与客户、利益干系人和团队进行沟通。 您应至少每一周或每两周与利益干系人会面一次。 用户情景的实现顺序将影响投资回收期以及团队必须完成的工作量。 团队将帮助您理解用户情景的顺序如何影响工作。 您必须帮助利益干系人了解这些分级决策产生的影响。 此外,当团队成员对如何实现功能有疑问时,您应为其解答,从而无需提供详细规范。 为了保持团队工作进展顺利,您必须了解这些答案,或者能够非常快速地找到这些答案(在几个小时内)。 如果您不了解这些答案,则团队成果会受到损失。

提示

规范内容的详细程度取决于多种因素,包括团队正在开发的应用程序的类型。 对于许多应用程序,正确阐述的用户情景和开放的沟通渠道是最有效的规范。 但是,处理实验室测试的应用程序可能需要详细规范,以便团队能够更详细地分析他们不时进行的更改所产生的影响。

您还将与团队和利益干系人协作以建立验收测试。 验收测试可帮助确定特定用户情景是否已完成以及是否准备好进行冲刺 (sprint) 评审。 您必须了解和识别风险,并向团队和利益干系人阐明这种风险。

请参见

概念

Scrum