《敏捷软件开发:用户故事实战》—可估算的
可估算的
对于开发人员来说,能够估算(或者至少猜测)一个故事的大小或者将一个故事转换成工作代码所需要的时间是很重要的。有下面三个常见的原因可以解释为什么一个故事是无法估算的。
1. 开发人员缺少领域知识。
2. 开发人员缺少技术知识。
3. 故事太大了。
首先,开发人员可能缺少领域知识。如果开发人员不理解故事,他们应该与写故事的客户进行讨论。虽然,没有必要了解故事的所有细节,但是开发人员需要对这个故事有一个大致的理解。
其次,一个故事可能无法估算是因为开发人员没有掌握相关的技术。例如,在一个Java项目中,我们需要向系统提供一个CORBA接口。团队中没有人有相关经验,所以就没有办法估算任务。在这种情况下,可以让一个或者多个开发人员实施极限编程(XP)中所谓的探针(Spike),探针是指通过简单的尝试来了解一个领域。在探针期间不需要开发人员做十分深入的研究,仅当开发人员学习到足够估算任务的那个时候即可。探针本身会限定一个最大的时间量(称为“时间盒”),我们用时间盒估算探针。这样一来,一个无法估算的故事就变成了两个故事:一个快速的探针故事用来收集足够的信息,然后另一个故事来完成真正的功能实现。
最后,开发人员可能无法估算一个故事是因为它太大。例如,在BigMoneyJobs网站上,“找工作的人找工作”这个故事太大了。为了估算这个问题,开发人员需要将其分解成更小的多个组件故事。
举一个需要更多领域知识的例子,我们正在构建一个长期治疗慢性病的网站。客户(一位资深的护士)写了一个故事:“新用户需要做糖尿病筛查。”开发人员不确定这意味着什么,可能的范围包括从简单的网络问卷调查,到实际向新用户发送一些东西来进行家庭体检,就像同样为哮喘病人做的产品一样。当开发人员与客户在一起讨论时才发现她考虑的只是一个有几个问题的简单的线上调查表单。
尽管故事的规模太大无法可靠地估算,但有时也会很有用,比如“找工作的人可以找到工作”这种史诗。因为史诗可以充当占位符或者用来提示系统的重要的需要讨论的部分。如果你有意识地决定暂时忽略一个系统的大部分,那就考虑写一两个史诗来涵盖这些部分。史诗可以分配给一个巨大的较虚的估算。
- 点赞
- 收藏
- 关注作者
评论(0)