敏捷开发在大型软件工程管理中的应用探讨一、敏捷开发概述Scrum 是一种迭代式增量软件开发过程,通常用于敏捷软件开发
Scrum 在英语的意思是橄榄球里的争球
虽然Scrum 是为管理软件开发工程而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法
Scrum 是迭代的、增量型的流程,其流程如1 所示
Scrum 构造的产品迭代周期为Sprints,工作的迭代时间一般为一到四周,并且是相互衔接的
Sprints是有固定的周期,结束于固定明确的日期,无论该工作完成与否,从不延长
在每一Sprint的起始阶段,一个多职能的团队从已优先化的要求列表(下文中称Product Backlog)中挑选若干工程,并承诺在Sprint的末期完成这些工程
在Sprint中,任务的内容不会变化
每一工作日,团队成员互相通告工作进度,并更新简易的剩余工作量直观表示图表
在Sprint的末期,团队将对这一阶段工作结果作一展示并取得相关的反馈,为下一Sprint做好准备
Scrum 强调生产可以使用的产品,意指在Sprint的末期产品的“完成”;在软件方面,是指编码已经被检测并可以随时交付使用
图 1 Scrum周期图在 Scrum 中有三个基本的角色:产品所有者 (Product Owner),开发团队和Scrum Master
产品所有者( Product Owner )产品所有者(Product Owner )负责取得产品最大的商业价值,收集相关于产品的所有信息
从客户或产品的终端使用者,开发团队成员和工程管理者中获取并将信息转化 为 优 先 权 工 程 列 表
在 一 些 情 况 下 , 产 品 所 有 者(Product Owner)正是客户本人;在另一些情况下,客户可能是有不同需求的成百上千的人
产品所有者(Product Owner) 这一角色在许多企业中是由产