QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

使用#NoEstimates 制定计划

  • 2015-11-13
  • 本文字数:2136 字

    阅读完需:约 7 分钟

Gil Zilberfeld 说,人们习惯使用评估(use estimates)制定计划和做出决策,即使他们不善于评估。#NoEstimates 运动旨在为评估探索替代方案。在 Agile Testing Days 2015 上,Zilberfeld 将会举办使用#NoEstimates 制定计划的讲习班。

Agile Testing Days 将于 2015 年 11 月 9 号至 12 号,在德国波茨坦召开。第 7 届会议的座右铭是:

拥抱敏捷竞争力——通过提早、快速 & 迭代应用发布建立领导力。

InfoQ 将会推出本次会议的相关新闻报道、Q&A 和文章。

InfoQ 采访了 Zilberfeld,关于人们为什么要评估,他们如何寻找方法,从而更好地评估,并且 InfoQ 与他讨论了评估的替代方案。

InfoQ**:您能简单介绍一下,使用#NoEstimates制定计划 **是什么意思?

Zilberfeld:我们通常习惯于将计划建立在成本评估之上。这种思想是如此的根深蒂固。当你有一个想法,或者解决方案,管理者的本能反应是询问“这将花费多长时间”或者“这将花费多少成本”。于是,我们决定基于答案做还是不做。

这真的很遗憾,因为我们人类真的不善于评估。我们应该基于更好的方法做出决策,并且确实存在替代方案。本次讲习班就是基于评估的替代方案,这些方案你可以从讨论和#NoEstimates 标签中发现。

InfoQ:人们为什么要评估,他们希望从评估中得到什么?

Zilberfeld:这非常的有趣。如果你问人们,他们会告诉你如果没有评估,他们无法做出项目的相关决策。这就像他们被卡住了,直到你给他们一个数字。问题是,做出决策时,我们不是真的 * 需要 * 它,但是我们 * 想要 * 它。我们想做出自信的决策,当我们得到数字的时候,我们试着去看它是否符合我们的经验、观点、想法和知识。如果它在某种程度上符合,我们就可以自信地做出“做”(go)的决策。

另一部分是感觉能够掌控一切。评估就像是被雾笼罩的真空(fog vacuum)——它清除了所有的不确定性。如果这个数字符合我们的观点,当事情往不好的方向发展时,它给了我们骑虎难下的自信——控制项目。所有的这一切都需要正确的数字:)

InfoQ:在我看来,大多数人都不善于评估。有没有什么方法可以更好地评估?

Zilberfeld:当然,你可以在评估方面做得更好。问题是,即使你得到了更好的方法,现实也会刺痛你。因为我们认为事情将会如何发展与实际将会发生什么有着很大的脱节。我们很乐观,我们认为我们可以控制老虎,我们的观点扭曲了我们的数字。

Hofstadter 定律说:它总是需要更长的时间,即使你考虑了 Hofstadter 定律。我们在讲习班上有个游戏,为了让大家得出正确的评估,我们给出了所有条件,但是几乎所有的人得出的都是错误的评估。

我们应该记住,我们使用评估做出决策。这只是众多方法中的一种,如果我们擅长评估,也许我们应该尝试其它的方法。

InfoQ:如果评估不是我们应该选择的方法,那你建议的替代方案是什么?

Zilberfeld:我们可以看一下团队的跟踪记录——如果他们在过去做过类似的事情,那么你可能不需要评估,而是使用上一次的实际成本。但是,如果团队之前从没有做过类似的事情(或者如果没有人之前做过?),那么要求一个数字就没有多大意义。又有什么好处呢?与其围绕一个 2 年的成本评估做出做 / 不做的决策,我们可以进行小试验预算,这将告诉我们,我们是否走在通往宏伟目标的途中。我们改变我们计划的方法,从大型的前期计划变成深思熟虑的发现,通过使用廉价的试验,并且我们可以在任何时候停止试验。

最后,如果我们太热衷于评估,与其评估成本为什么不评估商业价值?这些仍然是评估,我们可以基于价值而不仅仅是成本优先考虑项目。离开商业价值,我们做出的决定都是糟糕的决定。

InfoQ**:#NoEstimates是否意味着你应该从不做任何评估?评估是有害的吗?**

Zilberfeld:#NoEstimates 听起来像是关于废除评估。但是它的的确确是寻找替代方案。这个问题被提出的频率很高,但是所有#NoEstimates 支持者的答案都是一样的——如果要求评估,那就给出评估。评估不是有害的,但是他们经常被滥用。它们通常被认为是承诺而不是猜测。所以当评估失误,会招来失望,有时甚至是愤怒。也许更糟。抛开过程中的任何不确定性,当评估成功,他的专家权威会上升。

但是,这还不是全部。由于人们总是会漏掉评估,我们会看到经理会“扩展”给他们的评估。如果我说某事将会花费 3 周时间,我的经理会尽量给它一个缓冲期,说它将花费 5 周时间,然后他的经理为了确保我们没有遗漏,会说它将会花费 8 周时间。所以一个短期项目变成了中期项目。正如学生综合征一样,事情会拖延到最后一刻,那完全是一种浪费。

最后,如果评估不能提供我们需要的工具,整个计划过程就会浪费。如果成本评估是我们能够做决策的唯一工具,那么我们就会依靠直觉,而不是数据驱动。当你明白你从评估中真正得到什么,那么只使用这一种方法就变得不再有意义。

InfoQ:如果人们希望了解更多有关使用#NoEstimates制定计划,您有没有这方面的资源可以推荐?

Zilberfeld:你是指除了我的讲习班?如果你希望了解更多的#NoEstimates,你可以在 Twitter 上关注 Woody Zuill Neil Killick Vasco Duarte 。Vasco 还有一本新书,叫做 _surprisingly enough“ No Estimates”_。越来越多的人正在贡献他们是如何使用评估替代方案的故事,也许你可以挑选一个,与你的团队一起试验。

查看英文原文 Planning with #NoEstimates

2015-11-13 18:001226
用户头像

发布了 92 篇内容, 共 27.1 次阅读, 收获喜欢 4 次。

关注

评论

发布
暂无评论
发现更多内容

9个 方法预防租赁LED显示屏舞台隐患

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

软件测试 | 测试开发 | Frida 实现 Hook 功能的强大能力

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 静态扫描体系集成

测吧(北京)科技有限公司

测试

openGauss企业级开源数据库获第十届中国电子信息博览会金奖

易宝正式加入openGauss社区

从启动到关闭 | SeaTunnel2.1.1源码解析

Apache SeaTunnel

Qualcomm Atheros wallys QCA9880 Dual Band 2.4GHz 5GHz 2x2 MIMO 802.11ac Mini PCIE WiFi Module//QCA9882 3x3 FCC/CE/IC

wallys-wifi6

QCA9880 QCA9882

软件测试 | 测试开发 | 做到这几点,你也能成为 BAT 的抢手人!

测吧(北京)科技有限公司

测试

东方大唐正式加入openGauss社区

秋招收到10几个offer 说说我的想法吧

Geek_0c76c3

Java 数据库 开源 程序员 开发

Log4j2远程执行代码漏洞如何攻击? 又如何修复

琦彦

log4j2 Log4j2 漏洞 10月月更

企业知识分享|如何设计产品手册/产品说明书?

Baklib

软件测试 | 测试开发 | 搞清楚这六个能力模型,轻松应对互联网裁员潮

测吧(北京)科技有限公司

测试

技术分享 | 实战演练

测吧(北京)科技有限公司

测试

Java 8的新特性

琦彦

java8 10月月更

图尔兹正式加入openGauss社区

火山引擎在行为分析场景下的ClickHouse JOIN优化

字节跳动数据平台

数据库 数据分析 OLAP Clickhouse 数据研发

挑选文档协作工具的技巧

Baklib

实现企业内部知识流通?搭建企业内部Wiki

Baklib

ElasticSearch 不停服升级实践

移动云大数据

elasticsearch

毕业后什么都不会,找了个培训班学软件测试学了4个月,拿到offer,坐等入职

测吧(北京)科技有限公司

测试

新零售SaaS架构:中央库存系统架构设计

AI架构师汤师爷

SaaS 架构设计 新零售 库存系统

微服务的设计模式,你用了几个

琦彦

微服务架构 设计模式 10月月更

CUDA入门教程;Transformer太火不是好事?;探求GPU极限性能的利器|AI系统前沿动态

OneFlow

人工智能 前沿动态

软件测试 | 测试开发 | 如何安装Jenkins 插件?

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 一步一步学测试平台开发-Vue restful请求

测吧(北京)科技有限公司

测试

JVM——内存泄漏与内存溢出

琦彦

JVM 内存泄漏 内存溢出 10月月更

喜报!霍格沃兹第二届火焰杯软件测试高校选拔赛荣获大奖

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 接口抓包分析与Mock实战

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 测试平台开发-前端开发之数据展示与分析

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | Jenkins通过什么方式报警?

测吧(北京)科技有限公司

测试

使用#NoEstimates制定计划_语言 & 开发_Ben Linders_InfoQ精选文章