2.4. 可评估的

对于开发人员来说,能估算故事的大小(至少能猜一下),或者把故事变成可用代码的时间是很重要的。一般有以下3个原因会导致故事不可评估。

  1. 开发人员缺少领域知识
  2. 开发人员缺少技术知识
  3. 故事太大了

首先,开发人员可能缺少领域知识。如果开发人员不理解故事,他们应该和写故事的客户一起讨论。同样没有必要理解故事所有细节,但是开发人员需要对故事有个大概的了解。

其次,故事无法苹果干是因为开发人员不掌握所涉及的技术。比如,在一个Java项目中,我们需要提供一个CORBA接口给系统。团队没有人有相关经验,所以当然无法评估这个任务。这种情况下,可以让一个或多个开发人去实施极限编程(XP)中所谓的探针试验(spike)。这是一个简短的试验,用于研究应用程序的某一方面。在做探针试验的时候,开发人员不需要做十分深入的研究,只要能大体了解足够信息来估计这个任务即可。

探针试验本身总是会限定一个最大时间量(称为时间箱,TimeBox),用这个时间量作为探针试验的估计。

如此,一个不可估计的故事变成了两个故事:一个快速的探针故事(用来获得足够的信息)和一个故事(真正实现功能)。

最后,如果故事太大了,我们要估计它,就要把它分解成多个更小的故事。

即使故事太大不可能进行可靠的评估,有时候编写例如“一个找工作的人可以找到一份工作”这样的史诗故事也是很有用的,因为它们可以做为系统中有待讨论的一大块功能占位符或提示。

如果希望暂时不细化系统的一部分功能,可以考虑写一两个史诗故事。也可以给史诗故事一个大的、比较虚的估计值。