随着敏捷开发越来越流行,人人都在谈敏捷,人人也都在学习scrum等敏捷开发方法。。。当然,自己也是敏捷开发的实施者和受益者。
一、背景
我们公司引入敏捷开发的时间并不长,在实施敏捷的过程还存在一些问题,自己在实施敏捷的过程也存在很多的疑惑(毕竟原来没有学过,和真实的经历,体会),所以最近一直在学习敏捷,看敏捷的视频和阅读相关资料,同时结合自己实施敏捷的经验,通过分享博文进行一下简单的总结,目的有四:
- 详细的介绍和学习一下敏捷开发
- 和CSDN的大牛们一起分享交流,学习,提高一下
- 总结实施敏捷过程中的问题,不断反思,不断提高
- 最后,希望对不了敏捷的朋友有一定的帮助
二、到底什么是Scrum?
Scrum 是一个用于开发和维持复杂产品的框架 ,是一个增量的、迭代的开发过程,通常用于敏捷软件开发。。原词来自于橄榄球中“带球过人”。在橄榄球比赛的每次冲刺前,都将有一个计划安排的过程,但冲刺开始后则由队员在原计划的基础上随机应发。
Scrum流程如下图:
三、Scrum是什么意思?
来源于:火星人敏捷开发手册,总结的很精简,所以借鉴过来了。
四、Scrum的作用
- Scrum团队总是先开发对客户具有较高价值的需求。
- 更好的管理软件开发项目,它同样可以用于管理运行软件维护团队,或者作为计划管理,或者作为计划管理方法。
- 提高团队的开发效率,降低项目的开发周期,最大限度的发挥团队的作用,更好的满足用户的需求。
但是,相信许多人都认为Scrum没有什么实质性的作用,甚至只有大型的互联网公司在使用Scrum。曾经我也想过这个问题的原因,简单列举几条:
- 对于没有接触过Scrum的程序员来说,很难做到敏捷。
- 用户故事的划分以及产品列表挑选最高优先级有点困难
- 开发的过程中,团队中所有程序能够一直保持积极主动性很难把握
- Scrum对于自组织的团队要求很高
- 对于在实施Scrum的过程中,对于把握全局的master以及产品负责人的要求更高。
- 能否在实施的过程中及时发现问题,及时解决问题
下篇博文,我会写写我们公司在实施Scrum过程中几个小问题,谈谈个人看法。