
项目管理者联盟
我周末参与项目管理技术沙龙,其中让我印象深刻的事情之一,就是有个人提出了如何做计划的方式/估算的方式。一些有经验的敏捷实践者,开始了一场关于估算是否值得甚至是否有害的争论。项目管理者联盟
1、估算的目的项目管理者联盟
首先,我们先审视一下估算的目的。项目管理者联盟
通常的场景是这样的:项目管理者联盟
1).开发者被要求给出对于即将开始工作的估算。人们大多是乐观派,即使没有压力的情况下(一般至少也会有点压力),这些估算通常会比较小。项目管理者联盟
2).这些任务和估算会被转化成发布计划,然后用燃尽图跟踪。项目管理者联盟
3).接着,人们就会按照这些计划,持续监控着团队为完成任务所投入的时间和资源。结果当实际消耗的时间和资源,超过当初的估算时,每个人都会变得失望。为了迎合当初的估算, 开发者被要求牺牲软件的质量,但这只会让事情变得更糟。项目管理者联盟
这种情形下,对估算的投入充其量就是是一种形式或者浪费——因为“估算就是在需求上猜测”。项目管理者联盟
当估算被当做追逐更多特性的手段时,它才会变成实质上有害的行为。过分追逐特性是一种很糟糕的情形,人们只是始热衷于完成一个又一个特性,而不是追踪项目的真实结果。项目管理者联盟

项目管理者联盟
估算还会设定期望值,通常情况下估算会偏低,所以它们设定的期望值也多是不切实际的。任何时间上的增长,或者软件特性被砍掉,都会被视作是失败。出于对风险的逃避,这些失败的后果往往会被放大。bbs.mypm.net
面对类似这样的情况,我们就很容易看到人们把愤怒对准了估算本身。这样也导致越来越多的人认为,任何沉迷于估算的人并不是真正的敏捷实践者。而批评敏捷的人则说,这意味着敏捷软件开发的本质就是,开发者很快动手开始做,却并不明确要做什么,而且承诺说,该做完的时候肯定会做完它,而且你肯定会喜欢它。项目管理者联盟
2、估算的价值项目经理博客
是不是估算是天生有害的活动,或者估算就一定是件糟糕的事?如果不是,那取决于什么呢?pmp.mypm.net

项目管理者联盟
在回答这个问题之前,我们首先要思考一件事,对于大多数人来说,当你面临重大的决策时,估算都是有价值的:training.mypm.net
1).资源的分配。项目管理者联盟
一般来说,组织大多拥有固定数目的钱和人(资源),且通常有太多需要做的事情时,人们就面临选择:我们是做A还是B?面对这样的问题,了解A和B分别要涉及多少投入就很有必要。而为了做出一个明智的决策,我们需要对成本和收益有个大致的了解。项目管理者联盟
2).估算对协调的帮助。项目管理者联盟
A团队想在网站上发布一个新的功能,但直到B团队提供给他们关键数据(API 支持等等一些)才能发布。如果B团队估算,在2个月后才能完成新的服务,而A团队估算一个月能完成新的功能,那么A团队就知道值不值得现在开始实现这个新功能。service.mypm.net
任何时候当你想做估算时,你应当非常清楚哪一项决策需要依赖这个估算。如果你找不到这样一项决策,或者那个决策并不是那么重要,这就是一个信号:此时做估算是在浪费时间。项目经理圈子
当你找到这样一个决策时,那要知道问题的上下文是什么,为什么估算很重要。同样还要搞清楚期望的精度和准确性。 同时,你也要明白,有时候为了做决策,可能会有其他替代的方案,而未必需要估算。比如任务A比起B要重要得多,以至于你都不需要一开始把你所有的空闲精力都放在B上。再比如有办法让A团队和B团队合作,更快地创建出服务来。bbs.mypm.net
3).跟踪计划项目管理者联盟
跟踪计划也应该由它如何影响决策来驱动。计划扮演的是基线角色,帮助评估变化——如果我们想要添加一个新的特性,我们应该如何把它放进既定的“五磅篮”里呢?项目管理者联盟
|