阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

构建产品需要多久?

  • 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:291966
用户头像

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

关注

评论

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

ChatGPT 中文指令指南,教会你如何使用chatgpt实现中文你想要的答案

汀丶人工智能

ChatGPT

Java 如何在 Array 和 Set 之间进行转换

HoneyMoose

AI 大底座,大模型时代的答卷

Baidu AICLOUD

大模型训练

Java 如何在 Array 和 List 之间进行转换

HoneyMoose

简单好用的网页设计工具:EverWeb中文版

真大的脸盆

Mac 网页设计 Mac 软件 网页布局 网页制作

平台工程助力企业提升研发效能

SEAL安全

研发效能 平台工程

小程序开发中的插件、组件、控件,傻傻分不清楚

没有用户名丶

文盘Rust —— rust连接oss | 京东云技术团队

京东科技开发者

rust OSS 对象存储 rust语言 企业号 5 月 PK 榜

上海国家会计学院刘勤:事项法会计支撑企业更好地应对不确定性

用友BIP

云原生日志收集机制和日志处理流程规范

穿过生命散发芬芳

日志分析 三周年连更

测试环境

乌龟哥哥

三周年连更

Java实现多用户即时通信系统

timerring

Java

什么是人工智能领域的深度学习?

Jerry Wang

人工智能 深度学习 强化学习 三周年连更

2023一线大厂 Java 面试八股文大全(整理版)附答案详解!

采菊东篱下

Java 面试

面试前必刷!Java高级工程师1380道面试题(附答案)分享

架构师之道

Java 面试

从原理到应用,人人都懂的ChatGPT指南 | 京东云技术团队

京东科技开发者

人工智能 AI ChatGPT4 企业号 5 月 PK 榜

LED显示屏行业发展步伐

Dylan

发展 科技 LED显示屏

Flink的函数体系

阿泽🧸

flink 三周年连更

怎样成为优秀的后端工程师

越长大越悲伤

后端、 java‘

只需要六步!快速开启专属的风控系统

Geek_2d6073

持续交付下的分层自动化测试

单东东

DevOps 持续交付 持续测试 测试自动化 junit5

2分钟快速上手流水线的创建与运行

华为云开发者联盟

开发 华为云 华为云开发者联盟 企业号 5 月 PK 榜

使用NineData定制企业级数据库规范

NineData

数据库 dba 企业管理工具 数据库开发工具 企业级数据库规范

探讨AIGC的崛起历程,浅析其背后技术发展

华为云开发者联盟

人工智能 华为云 AIGC 华为云开发者联盟 企业号 5 月 PK 榜

ChatGPT是很强,但也会胡说八道

这我可不懂

人工智能 低代码 ChatGPT

并发编程:ErrGroup的正确使用

Jack

怎么在 vue 中使用 form 清除校验状态?

海拥(haiyong.site)

三周年连更

万字长文——Go 语言现代命令行框架 Cobra 详解

江湖十年

golang 后端 命令行 命令行工具

使用MASA全家桶从零开始搭建IoT平台(三)管理设备的连接状态

MASA技术团队

IoT MASA .NET 7

网易伏羲RL4RS荣获SIGIR2023 Resource Paper,推动深度学习技术创新

网易伏羲

万字长文详解如何使用Swift提高代码质量 | 京东云技术团队

京东科技开发者

swift 代码质量 代码质量检测工具 京东技术 企业号 5 月 PK 榜

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