范围灵活化

2004年10月27日

敏捷开发的基本原则之一是,需求变更不仅是预期的,而且是受欢迎的。当像 Thoughtworks 这样的外部公司为客户工作时,这会带来特别的挑战。许多客户希望达成 固定价格 协议,这实际上是固定范围,因为他们看到了 固定范围幻觉。但固定范围合同与敏捷开发完全背道而驰,那么像我们这样的公司该怎么办呢?

在过去的一年左右的时间里,我们在所谓的范围灵活化方面取得了相当大的成功——从固定范围合同开始,但与客户合作,帮助他们了解敏捷开发的工作方式,以克服 固定范围幻觉

为了说明这一点,这里有一个具体的例子,客户我称之为 Nebbiolo。正如我们工作中经常发生的那样,我们之所以介入,是因为另一家交付公司失败了(你会认出他们的名字,但我不会让他们难堪)。他们花了很长时间收集需求,但在开发方面却毫无进展。因此,客户拥有详细的需求,这些需求花费了大量的时间和金钱,而且他们对另一家公司无法完成任务感到非常沮丧。因此,他们坚持要达成固定范围协议,当然,这是基于这些详细的需求。

我们查看了这些需求,估计建造它需要花费我们大约 50 万美元。像大多数处理固定范围项目的人一样,我们添加了一个缓冲——在这种情况下,这是一个相当大的缓冲,将其翻倍到 100 万美元。这仍然低于最初承包公司的估计。(我们的人员每天的收费要高得多,但由于我们拥有更好、更高效的人员,我们实际上可以以更低的成本完成工作。)

我们一点也不惊讶地发现,尽管需求详细且经过严格审查,但需求变更仍然层出不穷。对于每一个变更,我们都估计了变更的范围,并计算出它将花费多少,但没有向客户收取变更费用。这些变更缓慢而稳定地消耗着缓冲。大约六个月后,变更完全耗尽了缓冲。在这整个过程中,我们一直非常坦诚地与 Nebbiolo 交流,所以当我们告诉他们我们无力再承担变更的成本时,他们并没有感到惊讶。在那段时间里,我们与 Nebbiolo 密切合作,他们也开始信任我们。我们毫不费力地找到了更多资金,事实上,我们需要另外 50 万美元才能支付交付之前所需的变更需求。

最后,Nebbiolo 同意,固定范围方法是一种幻觉,我们将使用更灵活的收费方案一起进行未来的项目。

我认为这个故事的关键(我们还有六个类似的例子)是,从一开始我们就试图将我们公司之间的关系建立在合作的基础上,而不是对抗的基础上。固定范围合同最大的问题是,它立即将客户和承包商置于对立面,他们会互相争论某件事是否属于变更,以及谁应该为变更付费。敏捷方法的关键是将这种对抗转变为合作(客户合作胜过合同谈判)。

实际成本是初始估计的三倍在我们的行业中并不罕见。我主要认为这并不是因为我们估算能力很差(尽管我们并不出色),而是因为获得一套合理的需求非常困难。许多交付公司利用这一点,以低价竞标,并在范围变更中获利。但这种方法会破坏与客户的持续关系——这会导致整个行业声誉受损。Nebbiolo 的故事是一种安排事情以保持良好关系的方法,我认为我们整个行业都需要更多这样的方法。