一、敏捷开发落地
在敏捷开发落地的过程中,我们通常会采用 Scrum 的方式,所以我们以 Scrum 为例来为大家介绍敏捷开发的流程和场景,在这个过程中:
首先产品经理会进行:○ 需求的收集、调研和分析,形成按优先级排序的产品待办列表;
○ 对高优先级的需求,进行详细设计和澄清;
○ 通过迭代排期会,形成按优先级排序的迭代待办列表;
○ 排期完成后,需求从产品经理侧流向技术同学侧。在需求澄清的情况下,研发团队来会:
○ 以 1~4 周的迭代周期进行持续开发和交付迭代待办列表中的内容
○ 采用每日站会来跟进计划和发现问题,并在迭代过程中持续或间歇性地交付可工作的软件。
○ 与此同时,产品经理会在这个阶段,进行下一迭代的需求设计和澄清。
在迭代开始前,需要有一个迭代计划会议。在会议中安排迭代中要做的工作以及确定迭代目标。在迭代计划会上,产品负责人需要告诉团队迭代待办列表中条目实现的优先级顺序。团队承诺在迭代中他们能够完成多少个条目。在迭代的过程中,任何人不能单方面擅自变更冲刺内容。最终的计划是由整个Scrum团队协作完成的。
在每个迭代/版本开始前,交付团队和需求方就应当在计划会议上针对下一个迭代/版本要交付的范围进行讨论,交付团队就讨论结果,做出在迭代结束时一定会交付约定范围的需求的承诺。
迭代待办列表开发完成后,产品经理和研发团队一起进行迭代演示,交付可工作的软件。最后,通过迭代复盘会活动驱动团队持续改进。延伸阅读:
二、团队管理
Scrum框架下有三种常见角色:产品负责人「Product Owner」、Scrum主管「Scrum Master」、团队成员「Scrum Team」。
根据我们开发中的实际情况将角色分为以下四种:
项目经理:相当于Scrum主管,负责协调团队内部合作,召集站立会议,把控项目整体进度;产品经理:相当于产品负责人,负责决定应该做什么工作,明确工作项、评定优先级,拟定待办事项Backlog清单的内容,确定各个事项的优先顺序;开发人员:开发人员是项目开发任务具体的实施者。他们负责完成开发任务,及时反馈开发进度;测试人员:测试人员是项目测试任务具体的实施者。他们负责制定测试计划,编写测试用例,创建以及回归缺陷。如有有需要,Scrum团队还可以根据项目需求添加其他岗位人员。