Scrum和XP极限编程

本文转载自:http://blog.sina.com.cn/s/blog_6df370b701013mi3.html
近年来,软件开发领域内,敏捷方法大行其道,在各个公司内弄得风生水起,逐渐压倒了RUP之类的传统软件工程方法。其中最为流行的当数Scrum,其次是XP。不过,在接触Scrum之初,不免有些疑惑:同时敏捷方法,它和XP(极限编程)是什么关系呢?
一段时间接触下来,发现这两者之间关系也比较简单。虽然同属敏捷阵营,但一个面向管理过程,一个面向工程过程。两者相得益彰,不过现实中却少见将两者结合得很好的。
Scrum毫无疑问是面向管理过程的,这从它的关注点上就可以看出。Scrum将软件开发按一个比较短的迭代周期(Sprint)来开发。通常一个Sprint不会为2到4周,最长不会超过6周。每个Sprint有一些User Story要完成。它定义了几种角色:Product Owner、Scrum Master和Developer。Product Owner是所有需求的负责人,他决定要做什么,按什么优先级来做。Scrum Master算是一个协调者,一方面保护开发人员不受外界干扰。这主要是指Product Owner绕过流程直接给开发人员下任务。另一方面要保证Scrum流程正常开展,比如要有Sprint计划,要有Daily Scrum meeting,要有Burning down chart, bla bla。
可以发现,Scrum所关心的几个方面都是管理过程相关的。比如迭代周期和Sprint计划是计划相关的管理工作,Burning down chart算是跟踪管理吧,Daily Scrum Meeting是沟通管理。几乎没有涉及工程过程的工作。也许它的User Story估算和需求开发沾点边,不过这也是它和XP最为接近的地方。
与此相反,XP的几乎所有实践都是专注于工程过程的。比如:持续集成,TDD,重构,避免过度设计,结对编程,所有人为所有代码负责,等等。只有少数实践和管理有些关系,一个是鼓励和重视沟通。另外一个也是和Scrum关注点相同的地方,他们都是以小步快跑的方式引导项目开发,迭代周期都比较短。
大概可以这么打比方:Scrum是文臣,XP是武将。在同一个项目中文物兼备是最好的。然而,在我所经历的几个项目中,却往往发现知有Scrum,不知要有XP,由此引发了各种问题。这在下篇博文中再讲吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值