Scrum与敏捷开发原则
敏捷价值观和原则是道,Scrum是法;那么敏捷的12条原则是怎么在Scrum中体现的呢?下面来详细解读一下:
1、尽早地、持续地交付有价值的软件来使客户满足是我们最高优先级的工作;
Scrum采用增量交付的方式,每个Sprint都要求有可交付的增量,这样可以满足尽早地、持续地交付。我们每个Sprint都需要梳理产品代办列表,把高价值的待办项移到前面,这样每个Sprint交付的都是当前最高价值的增量,我们通过持续的交付当前最有价值的增量来使客户满意。
2、即使到了开发的后期,也欢迎需求变化,敏捷过程适应变化来为客户创造竞争优势;
在Scrum开发框架下,开发的前期和后期其实没有大的区别,在MVP版本已经发布之后,后面只是对价值进行排序,排序工作是每个迭代都要进行的,这样的话每个迭代都可以接受需求变化,客户可以根据市场竞争,动态调整优先级,持续保持竞争优势。
3、从几周到几月的间隔频繁交付可工作的软件,交付周期越短越好;
在Scrum框架下,Sprint时间盒限定在1个月或更短,每次交付满足DoD的增量,交付周期不超过Sprint的周期,可以满足频繁交付可工作的软件。
4、在整个项目开发期间,业务人员和开发人员一起工作;
Scrum里有三个角色,其中PO(产品负责人)作为业务方的代表,与SM、DT共同组成了Scrum Team,整个团队一起工作,计划会、演示会明确要求PO必须参加,每日站会和回顾会邀请PO参加;PO需要跟团队其他成员一起梳理需求和验收条件,并参与增量的验收。
5、激励团队成员来建设项目,提供所需的环境与支持,并信任他们能够完成工作;
Scrum Master作为仆人式领导,需要激励团队、信任团队,为团队提供环境与支持并移除障碍。
6、在团队内部和团队之间最有效和最高效的传递信息的方式是面对面的沟通;
Scrum鼓励大家坐在一起,鼓励大家有勇气及时沟通,面对问题有开放的心态,对问题的解决要承诺付出全力。怎么付出全力,就需要采用最高效的方法--面对面沟通。
7、可工作的软件是首要的进度度量;
Scrum采用增量交付方式,每一个迭代交付一部分增量,获得一部分进度。Scrum方式就是采用可工作的软件作为进度度量的,在实际操作中,可以采用用户故事燃烧图来可视化进度。
8、敏捷过程提倡可持续的开发,干系人、开发者和客户之间应保持长期、稳定的工作速率;
Scrum框架下,对每个Sprint有一个迭代速率,迭代速率是团队每个Sprint的吞吐量,这是一个趋于稳定的数值,是可持续的过程。通过持续的进行Sprint,干系人、开发者和客户保持长期稳定的工作速率。
9、持续追求技术卓越和优秀设计能提高敏捷性;
我们需要在Sprint计划会上一起做设计,拆分任务并评估工作量;我们需要严格遵守“完成”标准。我们需要在回顾会上分析我们当前的障碍,如果有技术上的问题,我们需要进行改进提升。
10、敏捷的根本在于简单--极力去除不必要工作的艺术;
CMMI模型有四百多页,Scrum指南只有21页;Scum框架是轻量级的,简单易用。
11、最好的架构、需求和设计出自于自组织团队;
架构、需求和设计都来自于Scrum团队,团队的最终目的是成为自组织团队。
12、每隔一定的时间,团队反思如何更有效地工作,然后相应地调整其行为。
这一点在Scrum里重点关注了,有一个关键事件--回顾会,主要就用来回顾反思,然后确定行动项进行改进。
最后需要注意的是,Scrum是一个完成的框架,其角色、工件、事件和规则是不可改变的。只实施部分Scrum是可能的,但这样就不是Scrum了。Scrum只以整体的形式而存在,唯其如此才能作为技术、方法和实践的容器运作良好。