影响Scrum正常实施的因素

scrum的失败或者效果不理想通常由以下因素造成:

1.对未知结果的恐惧心理。出于习惯,大多数人更愿意事先得到一个固定的最终发布日期和一个承诺的结果,哪怕到了日期无法得到结果再延期。我们常常都需要这样的心理安慰,宁愿把苦头放在后面而不愿正视软件开发的规律。

2.在sprint过程中加入新需求的诱惑。很难很难抵御这样的诱惑,scrum第一杀手。

3.不愿意调整目标而任意延长sprint的时间。不知不觉你就又回到了老路上。

4.急于看到结果而压缩sprint的时间。能得到一定的效果,但总体上消耗的更多的资源。我们曾经一度这样做,每周末完成一个可以审查的结果,很有效,但很累人,在整合上花了太多的力气。

scrum的实施

除了按照scrum的流程按部就班的执行,需要理解scrum的几个要点,否则很难达到效果。

1.理解软件开发过程中的几个变量:成本、期限、质量和功能。如果这四个变量都能确定,我们就在家数钱就可以了。有时候我们有机会尽量确定期限和功 能,CMM之类的软件方法就是着重于在这种情况下如何尽可能保证质量。有时候我们希望通过加人手,提高成本来保证期限、功能和质量不受影响,《人月传说》 有不少关于这样是否可行的讨论。也有的时候,频繁的需求变化导致功能无法确定,期限一拖再拖,成本不断增加,质量无从保证,一片混乱(chaos),这时 候我们就可以通过scrum,先确定期限和成本,在短期内一定程度上确定需求,让这个四元方程式好解一些。

2.确保开发团队在sprint中不受干扰,不被分心。如果能理解上一条,你就能理解为什么在sprint中不随意添加修改需求对团队开发很重要。永远变 化的需求只能导致永远不能发布的产品。scrum同时保证了你有足够的机会在下一个sprint实现新的需求,隔这样一段时间,你会对新需求有更多的了 解,很有可能它并没有你想像得那么重要。

3.注意任务划分的粒度。任务划分的粒度越小,团队对任务的理解也越透彻,对时间的估计也会越准确。

4.彼此信任。特别是老板,应该信任他的团队,有能力使用正确的方法完成应该完成的工作,不然你雇他们干什么?

scrum不是万灵药,不可能解决所有的问题。但是如果你要使用scrum,在完全领会它之前,最好按部就班的执行scrum要求的每个步骤,遵守每个原则,至少可以少走一些弯路。

scrum的失败或者效果不理想通常由以下因素造成:

1.对未知结果的恐惧心理。出于习惯,大多数人更愿意事先得到一个固定的最终发布日期和一个承诺的结果,哪怕到了日期无法得到结果再延期。我们常常都需要这样的心理安慰,宁愿把苦头放在后面而不愿正视软件开发的规律。

2.在sprint过程中加入新需求的诱惑。很难很难抵御这样的诱惑,scrum第一杀手。

3.不愿意调整目标而任意延长sprint的时间。不知不觉你就又回到了老路上。

4.急于看到结果而压缩sprint的时间。能得到一定的效果,但总体上消耗的更多的资源。我们曾经一度这样做,每周末完成一个可以审查的结果,很有效,但很累人,在整合上花了太多的力气。

scrum的实施

除了按照scrum的流程按部就班的执行,需要理解scrum的几个要点,否则很难达到效果。

1.理解软件开发过程中的几个变量:成本、期限、质量和功能。如果这四个变量都能确定,我们就在家数钱就可以了。有时候我们有机会尽量确定期限和功 能,CMM之类的软件方法就是着重于在这种情况下如何尽可能保证质量。有时候我们希望通过加人手,提高成本来保证期限、功能和质量不受影响,《人月传说》 有不少关于这样是否可行的讨论。也有的时候,频繁的需求变化导致功能无法确定,期限一拖再拖,成本不断增加,质量无从保证,一片混乱(chaos),这时 候我们就可以通过scrum,先确定期限和成本,在短期内一定程度上确定需求,让这个四元方程式好解一些。

2.确保开发团队在sprint中不受干扰,不被分心。如果能理解上一条,你就能理解为什么在sprint中不随意添加修改需求对团队开发很重要。永远变 化的需求只能导致永远不能发布的产品。scrum同时保证了你有足够的机会在下一个sprint实现新的需求,隔这样一段时间,你会对新需求有更多的了 解,很有可能它并没有你想像得那么重要。

3.注意任务划分的粒度。任务划分的粒度越小,团队对任务的理解也越透彻,对时间的估计也会越准确。

4.彼此信任。特别是老板,应该信任他的团队,有能力使用正确的方法完成应该完成的工作,不然你雇他们干什么?

scrum不是万灵药,不可能解决所有的问题。但是如果你要使用scrum,在完全领会它之前,最好按部就班的执行scrum要求的每个步骤,遵守每个原则,至少可以少走一些弯路。


    相关文章

    软件开发方法与过程

    (1)软件开发过程是什么?  软件开发过程是按照软件工业化的标准定义的 在软件开发中必须具有的一系列过程规范:  软件开发过程是定义在软件中的软件需求.软件 设计.软件编码.软件测试.软件部署的实现目标和规范化的管理方法论:  软件开 ...

    InfoQ: 管理层能为敏捷项目做出什么贡献?

    管理层能为敏捷项目做出什么贡献? 作者Mark Levison译者张晓庆发布于2009年8月19日 上午11时0分 社区 Agile 主题 Mark Balabanian是Accunote公司新任命的COO,他问了这样一个问题,管理者能为S ...

    项目管理流程

    软件项目风险是指在整个项目周期中所涉及的成本预算.开发进度.技术难度.经济可行性.安全管理等各方面的问题,以及由这些问题而对项目所产生的影响.项目的风险与其可行性成反比,其可行性越高,风险越低.软件项目的可行性分为经济可行性.业务可行性.技 ...

    软件项目管理案例教程(第三版)课后习题答案

    第一章 二.判断题 1.搬家属于项目.(√) 2.项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的永久性的努力.(×) 3.过程管理就是对过程进行管理,目的是要让过程能够被共享.复用,并得到持续的改进.(√) 4.项目具有临时性的特 ...

    软件过程管理

    软件过程基础: 1. 休哈特(shewhart):质量改进奠基人 贡献:计划-执行-检查(Plan-Do-See)的概念. 出版 The Economic Control of Manufactured Products 2. 戴明(Dem ...

    敏捷开发测试规范V0.1

    敏捷开发测试规范(试行) 2012年9月 目录 1 概述............................................................................................ ...

    敏捷开发的各种模式--OpenUP

    敏捷开发包括很多模式:AMDD (Agile Model Driven Model ),AUP (Agile Unified Process ),XP (Extreme Programming ),FDD (Feature Driven D ...

    揭秘编程开发人员面试失败的5大原因

    如今正是跳槽旺季,据说有的互联网公司整个技术部整体辞职,这种情况并不少见.但是最近听到不少程序员朋友的吐槽:最近确实是跳槽和招聘的高峰期,用人需求和求职意向都很高,但总是面试失败,找工作成了一件特别头疼的事. 那么为什么会这样呢?造成这种局 ...

    高级软件需求分析师培训

    中科院计算所职业培训中心 文 件 中计培[2011]061号 关于举办"高级软件需求分析师培训"的通知 各有关单位: 中国科学院计算技术研究所是国家专门的计算技术研究机构,同时也是中国信息化建设的重要支撑单位,中科院计算 ...