Scrum
什么是Scrum
Scrum是迭代式增量软件开发过程,通常用于敏捷软件开发。Scrum包括了一系列实践和预定义角色的过程骨架。Scrum中的主要角色包括同项目经理类似的Scrum主管角色负责维护过程和任务,产品负责人代表利益所有者,开发团队包括了所有开发人员。虽然Scrum是为管理软件开发项目而开发的,它同样可以用于运行软件维护团队,或者作为计划管理方法:Scrum of Scrums.
Scrum流程如下图:
Scrum较传统开发模型的优点
Scrum模型的一个显著特点就是响应变化,它能够尽快地响应变化。下面的图片使用传统的软件开发模型(瀑布模型、螺旋模型或迭代模型)。随着系统因素(内部和外部因素)的复杂度增加,项目成功的可能性就迅速降低。
下图是Scrum模型和传统模型的对比:有关Scrum的几个名词
SCRUM框架包括3个角色、3个工件、5个事件、5个价值
- 3个角色
产品负责人(Product Owner)
Scrum Master
开发团队
- 3个工件
产品Backlog(Product Backlog)
SprintBacklog
产品增量(Increment) - 5个事件
Sprint(Sprint本身是一个事件,包括了如下4个事件)
Sprint计划会议(Sprint Planning Meeting)
每日站会(Daily Scrum Meeting)
Sprint评审会议(Sprint Review Meeting)
Sprint回顾会议(Sprint Retrospective Meeting) 5个价值
承诺 – 愿意对目标做出承诺
专注– 把你的心思和能力都用到你承诺的工作上去
开放– Scrum 把项目中的一切开放给每个人看
尊重– 每个人都有他独特的背景和经验
勇气– 有勇气做出承诺,履行承诺,接受别人的尊重实施Scrum的过程简单介绍
1) 将整个产品的backlog分解成Sprint Backlog,这个Sprint Backlog是按照目前的人力物力条件可 以完成的。 2) 召开sprint planning meeting,划分,确定这个Sprint内需要完成的任务,标注任务的优先级并 分配给每个成员。注意这里的任务是以小时计算的,并不是按人天计算。 3) 进入sprint开发周期,在这个周期内,每天需要召开Daily Scrum meeting。 4) 整个sprint周期结束,召开Sprint review meeting,将成果演示给Product Owner. 5) 团队成员最后召开Sprint retrospective meeting,总结问题和经验。 6) 这样周而复始,按照同样的步骤进行下一次Sprint.
整个过程如下图所示:
关于Scrum软件开发的看法
- 更加透明:随时跟踪项目的状态和进展情况,及早发现问题和风险.
- 快速交付,每次迭代都能交付课运行的软件.
- 最高风险和最高优先级的需求,最优先进行开发.
- 改善应对变更能力,减少大量的重计划.
- 改善项目沟通.
- 更好的客户参与,避免错误假设.
Scrum实际开发测试
团队分工:
高翔 测试(客户) 宋佳敏 Scrum主管 潘旭斌 后端程序员 杨瑞 后端程序员 刘志远 前端程序员 蒋颖君 前端程序员
长大校园小助手Scrum看板
原来的登录界面和主页:
我相信我们组能够在接下来的时间可以改进“生活在长大”。
我们组的GitHub地址(附“生活在长大”的源代码)