总会有很晚的变更
很多传统项目管理方法的目标都是限制和控制变更,但是有些方法则接受变更。但是所有项目管理方法都必须处理变更。
比如我们现在需要造一把新椅子来取代破损的椅子。需要什么、谁需要、怎样使用、椅子的承重有多大,这些都很明确。软件与此不同。在大多数软件项目中,没有人以前做过与这个项目完全相同的产品,即使有人做过过,这个项目团队的成员也没有做过。不仅如此,即将将使用这个软件的用户以前也没有使用过这个产品。即使他们可能对自己想要的东西有很好的想法,但也不知道如何确切地描述自己的需求,这是因为:
不知道自己的所有的需求。
试用产品的早期版本或竞争对手的产品后,其需求会发生变化。他们会发现试用该产品的新方法,并想出自己也可以利用但是现在还不能利用的新的方式。
不同的项目相关人员具有不同的需要,这些需要甚至常常是互相矛盾的。
不仅如此,随着产品的构建和大家技能的提高,预期成本会发生变化,使满足该功能变得多少容易一些。
因此需求是在想要和能够得到的功能之间进行不断PK的结果。随着项目的展开,需求肯定会有变化。