Scrum是一个包括了一系列的实践和预定义角色的过程骨架(是一种流程、计划、模式,用于有效率地开发软件)。
敏捷方法之极限编程(XP)和Scrum区别
区别之一:迭代长度的不同
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、自动测试、结对编程、简单设计、重构等约束团队的行为。