客户参与是避免期望差异(expectation gap)的唯一途径,这一期望差异表现在客户期望得
到的产品与开发者所设计的产品之间不相符。然而,在项目的开始阶段仅仅简单地问一两个
客户的需求,然后就开始编码,这样做是不够的。如果开发者仅仅为了客户的最初需求去开
发软件,那么,他们可能要重新进行开发,因为,客户常常不知道他们的真正需要,而开发
者也不知道。
用户提出“需要”的特性并不总是与用户利用新产品来处理他们的任务( t a s k )时所需的功
能相等价。因此,当你收集到用户的意见后,必须分析、整理这些需求意见,直到你理解它
为止,并把你的理解写成文档,然后与用户一起探讨,这是一个反复的过程, 并且需要花费
时间。如果你不在这一方面花时间,对预期产品一致的看法未达成共识—最终的后果可能
是返工,并且产品不尽人意。