敏捷开发中XP与Scrum的区别

敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。

怎么理解呢?首先,我们要理解它不是一门技术,它是一种开发方法,也就是一种软件开发的流程,它会指导我们用规定的环节去一步一步完成项目的开发;而这种开发方式的主要驱动核心是人;它采用的是迭代式开发;同样是敏捷开发,那么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, 自动测试, 结对编程,简单设计,重构等约束团队的行为。因此,原作者认为,这点上,XP的做法值得认同的,但是却把敏捷带入了一个让人困惑的矛盾, 因为xp的理念,结合敏捷模式,表达给团队的信息是“你是一个完全自我管理的组织, 但你必须要实现TDD, 结对编程, ...等等”

不难发现,这四个区别显见的是: Scrum非常突出Self-Orgnization, XP注重强有力的工程实践约束

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 敏捷开发的两种方法,你get了吗? 一、什么是敏捷开发? 传统开发方式:如迭代式开发、瀑布式开发软件的开发过程是确...
    戰敭阅读 6,141评论 0 1
  • 你可曾想过 过去。 手中的笔,字里的影。 一个个黑点,一卷卷书籍。 一团团火似的,照亮古与今。 我...
    古风长歌阅读 2,166评论 0 1
  • 我出生在一个小镇上,不论是交通,医疗还是教育都赶不上大城市,但是也比乡村发达得多。那时候是居住在楼房,但是也可以步...
    louisali阅读 3,233评论 0 1
  • 近来痴迷画思维导图,所以将会一直努力坚持不懈地画下去,这几天会持续更新关于初级日语方面的导图,大家一起共勉哈!谢谢!
    谦荷阅读 4,603评论 3 10

友情链接更多精彩内容