敏捷项目管理方式——Scrum

上一篇 / 下一篇  2012-03-07 10:56:28 / 个人分类:敏捷

橄榄球与软件开发
橄榄球分为英式和美式,英式不穿防护服和不戴头盔;美式都要带,而且比较野蛮。其实橄榄球起源就在英国,美式橄榄球是后来由移民带到美洲后演变发展而来的。共同点是将球送到对方的阵区内,本质区别是英式玩球,美式玩人。当比赛出现小的犯规或因为队员受伤等原因中断时通过争球的方式:双方各三名前锋队员相互搂抱,半蹲顶架在一起。由有球权的队投球。投球队员投球后,双方队员互相顶推,中间的队员抢球。投球队员绕到球队的后面将球捡起,可以传球或带球跑,比赛继续进行。
橄榄球国内都叫司克兰,英文就是Scrum!意思是密集争球。

Scrum寓意就来自于“密集争球(scrum)”,寓指整个团队攒足力量,为了一个共同的目标,一起向前快跑!
Scrum是一个轻量级、能很快取得巨大成效且流程简单容易项目管理方式,是目前最符合敏捷开发模式的敏捷项目管理方式。


1.Scrum的提出
Scrum是在十多年前由Ken Schwaber和Jeff Sutherland博士共同提出的,现在此方式已被众多大、中、小型企业使用,其中包括Yahoo!,Microsoft,Google,Lockheed Martin,Motorola,SAP,Cisco,GE Medical,CapitalOne和US Federal Reserve。许多使用Scrum的团队都取得了重大的改进,其中更有个别在生产效率和职业道德方面得到了彻底的改革。
Scrum其实仅仅定义了一个开发框架(Framework),具体的编程实践,完全取决于每个团队,并且是完全基于常识进行管理的。

2.什么是Scrum
一个轻量级的软件开发方法
Scrum是一个敏捷开发框架,是一个增量的、迭代的开发过程。在这个框架中,整个开发周期包括若干个小的跌代周期,每个小的的跌代周期称为一个Sprint,每个Sprint的建议长度2到4周。在Scrum中,使用产品Backlog来管理产品或项目的需求,产品backlog是一个按照商业价值排序的需求列表,列表条目的体现形式通常为用户故事。Scrum的开发团队总是先开发的是对客户具有较高价值的需求。在每个Sprint中,Scrum开发团队从产品Backlog中挑选最有价值的需求进行开发。Sprint中挑选的需求经过Sprint计划会议上的分析、讨论和估算得到一个Sprint的任务列表,我们称它为Sprint backlog 。 在每个迭代结束时,Scrum团队将交付潜在可交付的产品增量。
一个简单的框架
{3E07850F-020B-4156-ADCF-76C2FC240999}.bmp

3.Scrum的特点

  • Scrum规定了一个非常简单的开发流程。
  • Scrum是现有设计流程的总结。
  • Scrum以团队为基础,是一种在需求迅速变化情况下迭代地、增量地开发系统和产品的方法。
  • Scrum是一个控制由利益和需求冲突导致的混乱的流程。
  • Scrum是改善交流并最优化合作的方式。
  • Scrum是一种检测产品开发和生产过程中障碍并将其去除的方式。
  • Scrum是最大化生产率的一种方法。
  • Scrum适用于单一的项目到整个企业。Scrum可以控制并组织多个具有相关性的产品开发以及
    拥有超过千名开发者和执行者的项目实施过程。
  • Scrum能让每个参与者都对自己所做的工作以及自己做出的贡献感到骄傲,并让他们发挥到最佳水平。


4.Scrum与敏捷开发原则的对应

  • 保持简单:Scrum本身就是很简单轻量级的流程,它能简化我们的开发流程。
  • 接受变化:Scrum鼓励将工作细分成小块。它关注的是一小段一小段时间,但是只有在这些时间段的中间,我们才可以重新调整工作的优先级。
  • 不断迭代:Scrum需要在小于30天的一次次迭代中构建应用程序。
  • 不断的反馈和改善:在每一次迭代的末尾,Scrum流程要求我们回顾以前是怎么做的,并且思考我们下次可以做哪些不同的事来改善流程。
  • 协作:Scrum强烈鼓励团队成员的协作和沟通。如果没有这些,Scrum就一点用都没有。
  • 减少浪费:Scrum帮助我们识别做那些只对客户或者团队有价值的事情。


5.Scrum的流程

1)先建立一个产品“订单”(Backlog)
2)做一个短期“冲刺”(Sprint)计划
3)执行这个计划(Scrum就是一个Sprint连着一个Sprint )
4)每天开一次短会,检查Sprint中每个任务的进展状况,对未完成的任务,要求任务所有人给出新的剩余工作量的估算。
5)Sprint评审:一个Sprint完成后,对工作成果的演示。
6)一个Sprint结束后,做一次回顾、反省。从团队的角度来审视哪里做得好,并继续保持,找出不好的地方,并寻求改善方法。                                                      

一个Sprint做完之后,要重新调整一次产品订单,然后再做计划,开始下一个Sprint。接着不断重复以上流程。

6.Scrum规则

  • 必须有产品负责人(Product Owner)有可以代表客户的人一起工作,
    当团队在决定应该构建什么样的产品时,Product Owner就是他们要询问的对象,Product Owner代表着客户的需求与利益。
  • 必须有根据业务价值排定了优先级且估算过开发工作量的产品订单(Product Backlog) ,形式不限,Product Owner为一次版本发布构建路线图所需要的依据。注:Product Backlog里每一个条目应该有估计完成时间,这个并不需要很准确,只需要有一个大概的估算即可,这样才能够决定把多少工作放到一个Sprint里。
  • 团队在开发过程中,要使用Burndown图(烧制图),来展示当前迭代中随着时间的推进,剩余工作量的变化,以跟踪进度,并且能否基于Burndown图来推算团队的速度。
  • 在迭代中,项目经理不能干涉团队工作,因为这会停止自组织的过程,并且得到解决方案的过程将不再是最优化的了。


7.Scrum与其它敏捷实践的融合
Scrum只定义了一个项目管理框架,没有给出具体的编程实践指导,依靠的是经验管理,所以没有定义出很细的工程实践。这样才能很好地跟组织原来的工程实践融合起来,譬如跟CMM、ISO 9000、RUP,甚至XP等都能很好地工作在一起。因为Scrum主要是想解决项目管理和组织实践范畴的东西,更多的是关注在敏捷团队建设上,它的终极目标就是自我管理自我组织的高效团队。作为一个敏捷框架,建议最初先努力适应这个框架,待成熟后再考虑引入其他敏捷实践。


TAG:

引用 删除 utopia007   /   2012-11-10 10:22:14
《孙子兵法》在敏捷项目管理中的应用
http://www.ibm.com/developerworks/cn/rational/r-cn-sunzibingfainagileprojectmanagement
敏捷项目管理实战之团队自我管理
http://www.ibm.com/developerworks/cn/rational/r-cn-agileselfmanagement
敏捷项目管理实战之进度管理
http://www.ibm.com/developerworks/cn/rational/r-cn-agileprojectprogressmanagement
敏捷项目管理实战之质量管理
http://www.ibm.com/developerworks/cn/rational/r-cn-agiletestingbestpractice
质量管理与流程改进 引用 删除 mandy.wang   /   2012-03-08 12:02:22
Scrum 的三个主要特征:
1)迭代开发

并发的活动
在每个迭代得到回报(产品的增量)
定期的集成

2)可见性


项目的信息全公开—可能是主要的文化变革!
揭露问题、直面问题(组织的、流程的、跨部门的等等)
频密交付可用的软件
频繁的核查点以允许我们改变方向
生产力的图表帮助们评估进展
对待坏消息的态度?消息不分好坏,关键是真实

3)自管理
 

评分:0

我来说两句

mandy.wang

mandy.wang

本人在质量保证、流程改进及项目管理方面有丰富的经验,欢迎交流。

日历

« 2024-05-17  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 181288
  • 日志数: 109
  • 建立时间: 2011-09-19
  • 更新时间: 2016-01-20

RSS订阅

Open Toolbar