声明:本空间的内容不全部是原创,如有雷同只为学习与借鉴之方便,别无它意,来者是朋友,愿通过此平台结交天下测试达狼!

敏捷软件开发模型--SCRUM

上一篇 / 下一篇  2009-08-31 17:29:34 / 个人分类:其它

,\O+C2KeT0一 什么是Scrum?51Testing软件测试网5po,n'UO+C,c3F*O

%cO#_g.K t%u$L4\-r0Scrum (英式橄榄球争球队), 软件开发模型是敏捷开发的一种,在最近的一两年内逐渐流行起来。
Q)^A5P;uN(EG0
1{S6l'_%E u(C0Scrum的基本假设是:
'?@4nle4U2`051Testing软件测试网v Kw;JD,X"Hl
开发软件就像开发新产品,无法一开始就能定义软件产品最终的规程,过程中需要研发、创意、尝试错误,所以没有一种固定的流程可以保证专案成功。Scrum 将软件开发团队比拟成橄榄球队,有明确的最高目标,熟悉开发流程中所需具备的最佳典范与技术,具有高度自主权,紧密地沟通合作,以高度弹性解决各种挑战,确保每天、每个阶段都朝向目标有明确的推进。51Testing软件测试网^L4B&G&rEu3Y

51Testing软件测试网#o^A*f;Ru7_5N#uX

Scrum 开发流程通常以 30 天(或者更短的一段时间)为一个阶段,由客户提供新产品的需求规格开始,开发团队与客户于每一个阶段开始时挑选该完成的规格部分,开发团队必须尽力于 30 天后交付成果,团队每天用 15 分钟开会检查每个成员的进度与计划,了解所遭遇的困难并设法排除。
pWT/| L!D0
"pr m)QGV0
0c1kC8A.Q0

P?.ajJuc051Testing软件测试网-Ko-g'F;rb0D

二 Scrum较传统开发模型的优点51Testing软件测试网5R-Nd_G

y@x/\"^+hZ;_0Scrum模型的一个显著特点就是响应变化,它能够尽快地响应变化。下面的图片使用传统的软件开发模型(瀑布模型、螺旋模型或迭代模型)。随着系统因素(内部和外部因素)的复杂度增加,项目成功的可能性就迅速降低。
"j V2`6U$OBv0
-O cE5EBGY051Testing软件测试网3]%Q2CZc5Jl| Q%?
下图是Scrum模型和传统模型的对比:
h/g$?5A{5Z4_h*Ayd-f0      51Testing软件测试网;]1Qk&t6e

N5pa7Ad/U2Qp,{051Testing软件测试网n7D1ux'KU2R2a

三 Scrum模型51Testing软件测试网v~8rr2jlO

&BxO@FES;`+^M0一)  有关Scrum的几个名词51Testing软件测试网 BX ?G^FB"_
51Testing软件测试网Q#lutnh|h

*gJhb|(j0

backlog: 可以预知的所有任务, 包括功能性的和非功能性的所有任务。
;fZJX2T q0
2W t7uG J?] l1`4a0sprint:一次跌代开发的时间周期,一般最多以30天为一个周期.在这段时间内,开发团队需要完成一个制定的backlog,并且最终成果是一个增量的,可以交付的产品。
t'Unz1\2D A/Wk0
Pt$F'g.EB%q9gE0sprint backlog:一个sprint周期内所需要完成的任务。51Testing软件测试网R`+e/\oa?
51Testing软件测试网JR8~/t_*{m
scrumMaster: 负责监督整个Scrum进程,修订计划的一个团队成员。51Testing软件测试网7ad'gBi1Y,G#Dg

"q O"jZF0ond0time-box: 一个用于开会时间段。比如每个daily scrum meeting的time-box为15分钟。
5I$Tr/u"u0
)^ y le5s-qA0sprint planning meeting: 在启动每个sprint前召开。一般为一天时间(8小时)。该会议需要制定的任务是:产品Owner和团队成员将backlog分解成小的功能模块,  决定在即将进行的sprint里需要完成多少小功能模块,确定好这个Product Backlog的任务优先级。另外,该会议还需详细地讨论如何能够按照需求完成这些小功能模块。制定的这些模块的工作量以小时计算。
@9z pQKQ uR6E051Testing软件测试网8h)i"PDe"q
51Testing软件测试网lK5RPOXT

Daily Scrum meeting:开发团队成员召开,一般为15分钟。每个开发成员需要向ScrumMaster汇报三个项目:今天完成了什么? 是否遇到了障碍? 即将要做什么?通过该会议,团队成员可以相互了解项目进度。
yuW^yI$l)UN051Testing软件测试网8`*OGM+n

Sprint review meeting:在每个Sprint结束后,这个Team将这个Sprint的工作成果演示给Product Owner和其他相关的人员。一般该会议为4小时。51Testing软件测试网0E$Pk&Vv

Sprint retrospective meeting:对刚结束的Sprint进行总结。会议的参与人员为团队开发的内部人员。一般该会议为3小时。

E7t$T3E2J_;D0

51Testing软件测试网 Dc B3Tf9Q}

Q7m%rFB9b0二)实施Scrum的过程简单介绍51Testing软件测试网(G!}p$n#HcK
51Testing软件测试网f"i pIL7{ X.t8e
1) 将整个产品的backlog分解成Sprint Backlog,这个Sprint Backlog是按照目前的人力物力条件可以完成的。51Testing软件测试网8F,?P:]5U'|#F"j:OUb
2) 召开sprint planning meeting,划分,确定这个Sprint内需要完成的任务,标注任务的优先级并分配给每个成员。注意这里的任务是以小时计算的,并不是按人天计算。51Testing软件测试网*gB1u1A8W3P
3) 进入sprint开发周期,在这个周期内,每天需要召开Daily Scrum meeting。51Testing软件测试网;FkE%im;m?3B
4) 整个sprint周期结束,召开Sprint review meeting,将成果演示给Product Owner.
JxdRZ3bk2k05) 团队成员最后召开Sprint retrospective meeting,总结问题和经验。
{;NFUA06) 这样周而复始,按照同样的步骤进行下一次Sprint.
)]OB/W.u;_s,^9hM051Testing软件测试网8R"pJov \:GP i
整个过程如下图所示:
KC1C8Q7q p}J051Testing软件测试网zY,h ] Kq ~3L4c

2}1mZ*Lo2e L @?0
51Testing软件测试网{Q"uO4u-hG

g@n t(I,m0The diagrams in this article are all from web site: http://www.controlchaos.com.  Thanks very much!           本文转载:http://www.cnblogs.com/Ring1981/archive/2006/09/07/496591.html51Testing软件测试网K!vH(r3fw5G


TAG:

 

评分:0

我来说两句

Open Toolbar