流程 - 什么是真正的Scrum?

  InfoQ网站对Scrum的创建人JeffSutherland进行了访谈,谈到了什么是真正的Scrum。看了一下,觉得不错,可以概括为以下几点:

  1. 是否采取了迭代开发的方式?
    迭代式的、增量式的开发已经成为所有敏捷过程的基础元素,如果没有采用迭代开发,那么甚至都不能称为敏捷的软件开发过程。
    • 是否有固定的迭代周期?迭代是否以某个特定的时间开始并以某个固定的时间结束?迭代周期必须少于6周
    • 迭代结束的时候,你们有可以工作的软件么?
    • 不需要一个有完整细节的需求说明,采用故事来描述需求
    • 你们在开发过程中进行测试吗?要在迭代结束时拥有可以工作的软件,将测试作为迭代增量开发的一部分是非常重要的。
  2. 一起工作
    敏捷的要点是希望整个流程中的所有人都可以一起工作,大家都对产品非常了解:无论是构建产品的人,测试产品的人,还是将会使用产品的用户。他们应该一起工作,如果把过程分隔成“这里的这些人编写需求说明和规范,然后他们把文档交给负责构建软件的人,软件构建者再将软件转给测试人员,最后测试人员把软件提供给客户”,客户就会说那不是他们真正需要的东西。
  3. 诺基亚有四个附加的规则
    • 是否有产品所有者?是不是有人可以代表客户与你们一起工作?
    • 如果有团队所有者的话,他们是否拥有一个待开发功能的product backlog?此backlog是否根据业务价值排定了优先级?是否已经估算过开发这些功能需要多少时间?
    • 团队在开发过程中,有没有使用Burndown图,来展示当前迭代中随着时间的推进,剩余工作量的变化,以跟踪进度?并且能否基于Burndown图来推算团队的速度
    • 团队负责挑选工作、职责分配,并要找出最快交付工作的途径。在迭代中,项目经理不能干涉团队工作,因为这会停止自组织的过程,并且得到解决方案的过程将不再是最优化的了。

 

更多内容: 敏捷方法之Scrum.pdf

posted on 2010-01-22 20:58  周 金根  阅读(1790)  评论(0编辑  收藏

导航