敏捷项目延迟的原因

  • Vikas Hazrati
  • 郑柯

2009 年 12 月 27 日

话题:敏捷最佳实践架构文化 & 方法

通常意义上的延迟,是指某件事完成得比预期晚,因此造成压力和不便。 在敏捷的术语中,延迟同样也被看做是浪费。延迟会造成工作不能延续,因此带来其他浪费,比如重新学习、任务切换等等。

Jack Milunsky常见的延迟归为以下几类

  • 项目批准过程——开发人员坐等项目得到批准,由此造成时间和金钱的浪费。
  • 等待需求的正确优先级——这样工作才能开始推进。
  • 等待可用的资源——这常常标志着组织需要反省自己是不是承接了太多工作。
  • 变更批准流程——该流程本身就是浪费。如果发生次数太多,就该考虑缩短 sprint 长度了。
  • 在制品增加——在制品越多,开发人员要想将代码发布到生产环境,要等待的时间也就越长。
  • 客户签收验收测试时的延迟——不仅在这方面,还包括让客户解决需求问题、提供演示反馈等方面。

Jack 提到:在 sprint 之间也有很多延迟。团队应该认真投入精力,识别并根除这些延迟。他建议:

必须保证 backlog 得到正确的“看护”。要有一个高效的产品负责人,他能理解市场和客户。你还需要写得很好的用户故事。要尽早从开发人员那里得到估算,这样产品负责人才能在规划会议之前做出决策。这都是为了“防‘延迟’于未然”,保证在所有的转换点上,工作都能得到顺利交接。把这个端到端的过程勾画出来,识别出各个转换点上的延迟,这样做很有价值。

Wouter Baars也提出了IT 项目延迟最主要的几个原因,其中包括:

  • 画蛇添足——团队花费太多时间去增强客户没有要求的功能。
  • 忽略质量控制——时间压力有时会让程序员或项目团队有意跳过测试过程。相对其减少的延迟,这常常会导致更多延迟。
  • 同时开发多个项目——任务切换会招致更多问题,而不是解决问题
  • “一劳永逸”症状——试图将一种现有的解决方案用在任何新问题上。
  • 平庸的人员素质——人员在技术或流程方面的能力不足会导致多个层面的延迟。
  • 客户无法实现承诺——当客户无法在他们必须参与的工作中及时响应时,项目会陷于停滞。
  • 客户和开发人员之间的关系紧张——如果项目进展不顺利,“不和谐”会导致更多延迟。这会破坏彼此之间的信任感,影响工作气氛。

Robert Neri 提出另一个造成延迟的有趣原因,他指出:企业中敏捷实施的差异可能导致延迟。他提到:

我们常常遇到这种情况:支持部门无法做到项目 sprint 那么快的速度,因此会造成敏捷项目延迟。类似地,非敏捷项目难以和敏捷项目整合。

因此,如果你的敏捷项目延迟了,看看是不是由于上面这些常见的原因。一旦你识别出了根源,赶紧想办法解决才是明智之道。这会去除项目中最大的一个浪费。

查看英文原文Reasons for Delay in an Agile Project

敏捷最佳实践架构文化 & 方法