写点什么

构建产品需要多久?

  • 2011-09-26
  • 本文字数:1221 字

    阅读完需:约 4 分钟

交付产品大概需要多少时间,这是客户常常提出的问题,也是让敏捷团队感到不爽的问题。一方面,在没有开始动手前就估算整个产品功能的工作量,等于无头苍蝇到处乱撞。然而,很多情况下,这是一个很现实的问题,团队不能将其抛在脑后。

Jarrod Roberson 提到:不应该估算一整个项目,因为这与敏捷哲学完全是背道而驰。团队最多能够做到的,是根据成本和其他约束条件设定一个日期,产品负责人应该判断到这个日期截止要完成哪些功能。Pascal Thivent 补充道:任何前期的估算都会导致固定的产品范围,这正是敏捷反对的。更极端的建议是:敏捷团队永远不要介入需要前期估算的项目中。

但是,这么做在现实世界中可行吗?

敏捷团队常常遇到这样的情况,客户需要一个大概的估算,以辅助多方面的决策。 Hugo Palma 认为

我认为,对于实现给定的功能,所有的客户都想了解大致估算,想知道要花多少钱。有人说:如果用敏捷,就不能这么做;我不同意。现实世界中的客户希望知道在一个项目上大概要花多少钱,至少有个粗略的概念,敏捷是可以调整、适应的。

Mike Cohn 提到:他常常被问及,交付一个产品大概要多少个小时。他推荐的第一种方式,是推迟分析,直到有足够的历史数据,或者在 sprint 规划会议上能够得到一些承诺,再做分析。不过,有时候是需要粗略估算。对于这样的情况,Mike 建议使用 backlog 取样技术,找出不同规模用户故事的平均小时数。

如果我们把 1 个点的故事平均一下,也许可以发现大概每个点数需要 3.2 个小时,2 个点的故事要拆分成任务,每个点数大概 4.3 个小时,3 个点的故事平均每个点 4.1 个小时,如此类推。 然后就可以把平均小时数与产品 backlog 中对应规模的故事数乘起来,再加总。

Mike 提醒大家注意:这种技术会把任务识别和估算步骤中引入的不足全部包括进去。Rob Bowley 的评论是: backlog 取样技术没有效果,因为软件开发无法预测,而且像这样的技术估算出来的工作量会低于实际要完成的工作量。

尝试这么做,是没有道理可言的。它必将大大低估所需的工作量。考虑到软件开发需要投入的资金,结果就是对组织造成财务上的伤害,或是毁掉某些人的事业。

Matteo Vaccari 提到:尽管使用 backlog 采样估算也许有助于得到一些数字,但还是会不断出现新的未知数,比如团队成熟度、一起工作的历史数据、完成的定义,等等;这些都将使得估算失去作用。

这种情形下的另一种选择,是采取Martin Fowler 提议的“柔软范围(Scope Limbering)”方法,其用意是:从固定范围合同开始,然后逐步教育客户敏捷的优点,帮助他们克服“固定范围的海市蜃楼(FixedScopeMirage)”。Rob Thomsett 提议的“翻番再加一点(double and add some)”游戏,也与Martin 的方法类似。

因此,在真正意义上,看起来没有哪个方法是完备的。它们都有某种程度的主观性,因此有自己的问题。不过,如果在需要粗略估算的场景中使用这些技术,也许能帮助利益相关者做出更成熟的决策。

查看英文原文: InfoQ: How Long Would it Take to Build the Product?

2011-09-26 21:292284
用户头像

发布了 479 篇内容, 共 170.6 次阅读, 收获喜欢 52 次。

关注

评论

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

直播报名 | 超低延时直播架构解析

百度开发者中心

最佳实践 方法论 活动 直播

基于线性预测的语音编码原理解析

拍乐云Pano

RTC 音频技术 python 数字信号

如何做竞品分析?

石云升

产品经理 产品思维 9月日更 产品分析

2022前端react面试题汇总

buchila11

React

python之深浅拷贝

秦时明月

定时任务 Crontab 中的特殊字符

耳东@Erdong

crontab 9月日更

从技术到商业:2021 DEMO CHINA创新中国峰会正式开启

创业邦

深入探讨区块链价值及其对世界的影响

CECBC

将进一步提高数字人民币的可得性 构建分布式数字身份认证体系

CECBC

20+互联网公司Java面试考点大全,全网首发,应有尽有

Java 程序员 编程语言 java面试

流程控制之for循环

秦时明月

数字化的田亩里,华为正写一首陶渊明的诗

脑极体

芯慌遇上造车热,国产芯片的机会到了?

脑极体

进程和处理机管理中的进程控制

Regan Yue

操作系统 进程 9月日更 进程控制

【经验分享】RTC 技术系列之视频编解码

声网

音视频

Micro Focus 发布年度安全运营报告,洞察后疫情时代企业安全运营新趋势

如何高效掌控K8s资源变化?K8s Informer实现机制浅析

腾源会

云原生 k8s

支持 10 亿日流量的基础设施:当 Apahce APISIX 遇上腾讯

腾源会

腾讯云 开源 APISIX OTeam

我的9年开源之路:395 Patch、20+Feature,背后只有努力与热爱

腾源会

腾讯云 开源 虚拟化 Linux内核 kvm

阿里独家!GitHub上点击量超百万的「操作系统和计算机网络」PDF震撼开源

Java 程序员 面试 计算机 Alibaba

腾讯圆梦,我整理收集了这份“2021常见Java面试真题汇总”

Java 架构 编程语言 java面试

WAF绕过总结+工具介绍

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 漏洞挖掘

Mp3文件结构全解析(二)

轻口味

android 音视频 9月日更

网络攻防学习笔记 Day146

穿过生命散发芬芳

9月日更 招投标

中小企业自媒体为何难做:定位不准期望值过高

石头IT视角

CPU虚拟化,磁盘虚拟化,内存虚拟化,io虚拟化

hanaper

DPDK分析学习之全网唯一的DPDK教学课程丨虚拟化高性能专家之路

Linux服务器开发

网络协议 虚拟化 Linux服务器开发 DPDK 高性能网络

工业互联网的两种极端想法和两点反思

iNeuOS工业互联网操作系统

大数据 物联网 智能制造 iNeuOS工业互联网

如何用时序数据库 CTSDB 与 TARS 结合,解决海量监控数据难题

腾源会

数据库 大数据 开源 TARS CTSDB

【重磅】Apache InLong(incubating) 发布 0.10.0 版本

腾源会

Apache 开源 InLong

Alibaba竟流出全套的Java核心技术手册,看过的人都说好!

Java 程序员 架构 面试 计算机

构建产品需要多久?_研发效能_Vikas Hazrati_InfoQ精选文章