On Story Estimation: 单一职责原则以及消除估算
估算是软件开发中还没有很好的解决的一个问题, 因此争论也很多, 水平也参差不齐. 我无法给出更好的估算技术, 只是想抛出几个问题和观点
1. 单一职责和问题优先让我们从几个常见的问题开始:
估实际工作量(人天)还是相对大小?如果两个类似的Story有一部分实现代码是可以彼此复用的, 那么它们的估算应该是一样的还是不一样的? 还是把复用的那部分拆出来单独估?修复Bug的工作量要不要估算? 要不要算进每个迭代的”速度”里?Team一起估还是找一个人来估?做了一段时间后, 要不要重估?这些问题通常会引起争论. 每种观点都有自己合理的一面, 这也是争论的前提之一. 但真正导致争论的, 是大家都忘了自己估算的目的, 忘了谁如何消费这个估算:
有时我们为了投标报价有时为了跟客户讨价还价有时为了team自己收集数据发现问题有时需要在两种实现方案之间做取舍…这么多目的, 怎么可能有一种方法满足所有的需求呢? 就算有, 那么这种通用的方法在某一个目的上也有可能不如专为这个目的而生的估算方法准确
我的观点是估算方法要与估算目的结合, 而估算本身要与目的分开:
单一职责原则: 一个数, 不要...阅读全文
1. 单一职责和问题优先让我们从几个常见的问题开始:
估实际工作量(人天)还是相对大小?如果两个类似的Story有一部分实现代码是可以彼此复用的, 那么它们的估算应该是一样的还是不一样的? 还是把复用的那部分拆出来单独估?修复Bug的工作量要不要估算? 要不要算进每个迭代的”速度”里?Team一起估还是找一个人来估?做了一段时间后, 要不要重估?这些问题通常会引起争论. 每种观点都有自己合理的一面, 这也是争论的前提之一. 但真正导致争论的, 是大家都忘了自己估算的目的, 忘了谁如何消费这个估算:
有时我们为了投标报价有时为了跟客户讨价还价有时为了team自己收集数据发现问题有时需要在两种实现方案之间做取舍…这么多目的, 怎么可能有一种方法满足所有的需求呢? 就算有, 那么这种通用的方法在某一个目的上也有可能不如专为这个目的而生的估算方法准确
我的观点是估算方法要与估算目的结合, 而估算本身要与目的分开:
单一职责原则: 一个数, 不要...阅读全文