区别之一: 迭代长度的不一样算法
XP的一个Sprint的迭代长度大体为1~2周, 而Scrum的迭代长度通常为 2~ 4周.编程
区别之二: 在迭代中, 是否容许修改需求设计模式
XP在一个迭代中,若是一个User Story(用户素材, 也就是一个需求)尚未实现, 则能够考虑用另外的需求将其替换, 替换的原则是需求实现的时间量是相等的。 而Scrum是不容许这样作的,一旦迭代开工会完毕, 任何需求都不容许添加进来,并有Scrum Master严格把关,不容许开发团队收到干扰框架
区别之三: 在迭代中,User Story是否严格按照优先级别来实现工具
XP是务必要遵照优先级别的。 但Scrum在这点作得很灵活, 能够不按照优先级别来作,Scrum这样处理的理由是: 若是优先问题的解决者,因为其它事情耽搁,不能认领任务,那么整个进度就耽误了。 另一个缘由是,若是按优先级排序的User Story #6和#10,虽然#6优先级高,可是若是#6的实现要依赖于#10,则不得不优先作#10.测试
区别之四:软件的实施过程当中,是否采用严格的工程方法,保证进度或者质量优化
Scrum没有对软件的整个实施过程开出养个工程实践的处方。要求开发者自觉保证,但XP对整个流程方法定义很是严格,规定须要采用TDD, 自动测试, 结对编程,简单设计,重构等约束团队的行为。所以,原做者认为, 这点上,XP的作法值得认同的,可是却把敏捷带入了一个让人困惑的矛盾, 由于xp的理念,结合敏捷模式,表达给团队的信息是“你是一个彻底自我管理的组织, 但你必需要实现TDD, 结对编程, ...等等”编码
不难发现,这四个区别显见的是: Scrum很是突出Self-Orgnization, XP注重强有力的工程实践约束spa
做者建议, 在管理模式上启用Scrum, 而在实践中,创造一个适合本身项目组的XP(“start with Scrum and then invent your own version of XP.”)设计
SCRUM介绍
回顾一下我所认识的scrum,算是对本身知识的一个梳理。
scrum究竟是什么,书中都说,它不是方法学,不是过程,而是一个框架。我并无太理解这句话,因此先把scrum中都有些什么来讲一下。
时间:scrum把时间分红一个个的sprint,也就是迭代周期。这个周期以2-6个星期为宜,但目前使用的最多的,是一个月,即四个星期。
每个sprint的开始和结束都会有一个会议,叫作sprint计划和sprint演示,这很好理解,计划时计划作什么,演示时演示作完的东西。而后,并非演示完了就完事的,sprint还有一个回顾会议,用来对这个sprint进行回顾,哪些作的好,哪些作的很差。这就是改进。
组成sprint的天天中,都会有每日例会,叫作每日站会,因此谓站会,便是时间很是短的会议,众所周知的,没完没了的会议老是让咱们,厌倦不已。而这种站会,我想差很少是从这方面来考虑的。
人物:scrum中有scrum master, product owner和scrum团队。我理解scrum master就是project manager,而product owner就是product manager,团队仍是那个团队,只是这里的团队,在规模上有必定的限制,它要求人员不要太多,不要太少,3-12个,一般4人团队比较多见,固然这个具体还得看实际状况来定。团队中开发测试人员比是1:1,即pair work。
scrum中的需求,采用story的形式进行描述,整个产品的需求,被列成product backlog,而每个迭代周期要作什么,是在每一个sprint的计划会议上进行挑选的,根据po对backlog标记的优先级,团队对其进行estimate并挑选出这个sprint里能完成的story,scrum master把它们列入计划中。
backlog有一个用于统计的东西,叫作燃尽图。从字面理解,就是燃烧掉多少的图,即sprint backlog中的被完成了多少,每完成一个story,就燃烧掉一个story。产品backlog有产品燃尽图,sprint有sprint燃尽图。
以上基本就是我了解的一些scrum知识点,其中忽略了工具部分和工做开展方式部分。由于采用什么工具或采用什么方式来实现,我认为是根据实际状况来定的,并且,在每一个sprint回顾会议中,这些东西都会被改进。使用excel或白板来记录story或backlog并不重要,重要的是,你是否有story或backlog。
所谓框架,是否是就是一种模式?真的很想理解这里的这个词。有知道的,请赐教。