通常而言,敏捷开发单团队的规模人数以5-9人比较理想。
在传统软件开发方法里,定义了不同的工作类型:软件主任工程师、程序员、测试工程师、UI工程师、数据库管理员。但是,在Scrum里面定义了“开发团队”的角色,这个角色是所有这些工作类型的集合。
在Scrum开发团队,所有的人都被称为“工程师”,且人数不宜过多,5~9人比较理想,包含产品、设计、前端、后端、测试等多角色,是实际价值产出者;
一些Scrum成熟度很高的公司和团队,甚至在和员工签订劳动合同时也只是写这个员工是工程师,而弱化传统软件开发方法里的工作类型的区分。在Scrum的每个冲刺当中,开发团队为了实现计划里的功能,他们必须完成所有的相关工作,包括产品设计,开发,集成和测试。
为此,团队必须具备完成这些工作的所有技能。在工作中,Scrum作为一个整体,对功能的实现负责。区别于传统开发方法里的“只负责自己那一部分工作”的状态。
所以在团队开始之前就要考虑:为了能够完成Scrum电子任务板项目的各种需求,团队需要具备哪些能力,哪些能力是已经具备的呢,哪些能力是我们可以从外部获得支持。”
敏捷开发团队是一个自组织的团队,这个团队不接受外部给与的任务和约束条件,自行决定如何完成任务,在团队中,团队成员自己决定做什么,如何做;就像一个篮球队,上场之后教练和老板就失去了球队的控制权,场上的任何决定只能靠团队成员自己来做;
敏捷开发团队这种角色的区分,让项目成败不全压在团队负责人身上,而是让整个团队要去承担相应的责任。
Scrum开发团队的主要职责如下:
在冲刺执行期间,开发团队完成创造性的工作,包括设计,构建,集成,测试,最终提供潜在可发布的功能发布。
每日检视和调整(每日站会)——作为一个自组织的团队,团队通过每日站会来实现自我的检视和调整以实现冲刺目标。
梳理产品列表——帮助产品负责人梳理产品列表,细化产品列表条目,估算和排列优先级。
冲刺规划——在每个冲刺之初,开发团队参与冲刺计划会议。在会议上,根据产品经理提供的信息,对产品列表条目的工作量进行估算,并在ScrumMaster的指导下,与产品负责人共同制订冲刺目标。
检视和调整产品与过程——在每个冲刺结束的时候,开发团队都需要参加冲刺评审会议和冲刺回顾会议。在会议上,Scrum团队检视和调整自己的过程和技术以进一步改善团队使用Scrum来交付业务价值的能力。注意,开发团队对工作量的估算有绝对话语权,作为一个自组织的团队,他们不受其他角色的影响,对工作量进行估算并且按照自己的承诺去履行冲刺目标。
Scrum开发团队的特征如下:
自组织——没有项目经理或者其他经理告诉团队怎样开展工作;团队在没有外部力量干预的情况下,为了共同的冲刺目标而工作,逐渐达成默契,相互理解,不断改进。跨职能——为了提交潜在可交付的增量,团队需要具备所有相应知识和技能的成员。规模适中——5~9人的规模。
推荐阅读
大家都在用哪些好用的Scrum工具
如何实施Scrum(敏捷开发)
敏捷宣言及完整解读
Scrum的5个价值观是什么
产品负责人(ProductOwner)的职责是什么?