HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

敏捷经济学:故事点成本

  • 2010-11-10
  • 本文字数:1689 字

    阅读完需:约 6 分钟

为谁而写?

本文的目标读者主要是那些负责软件开发项目 / 团队的预算和管理的人。当然,其他诸如开发人员,质量保证人员,产品经理或者 CEO,CIO 们也可能对本文感兴趣。

为什么我们需要估算故事点成本

故事点是用来估算工作的。投资必然期望有所回报。如果期望经济上的回报,那么理解工作本身的成本对于获得很好的投资回报率(ROI)是很关键的。即使没有 ROI 的要求,比如潜在的好处只是为了符合法规,那么公司管理层通常也希望搞明白,在公司有限的资金中,到底花费了多少钱来完成这些特定的功能,迭代或者发布。

我们又该怎么做呢?

我们在这里讨论的是一种基于历史参数的方法。这种方法基于先前项目的历史数据。所以在得出一套可靠的模型之前,我们必须有些历史数据的积累 。

RC = 产品某一次发布的总成本(美金)

RSP = 该发布包含的总的故事点

RSPC = 发布的每个故事点的成本

RSPC = RC/RSP

一旦你有了一次发布的数据,你就应该开始对所有历史发布进行计算。接下来一步就是算个平均值:

产品的平均 RSPC = ∑ RSPC?;, RSPC?;………RSPC? / N

如果你想计算所有产品的故事点成本,那么就全部加起来再平均一次就行了。当热,对于大多数计划而言,针对每个产品线做计划是很有用的,而像这样拔高到高层面的成本计算就有点水份了。

  1. 增加功能 X、Y 或者 Z 的成本是多少?
  2. 交付版本 2.1.0 的成本是多少?
  3. 迭代的平均成本是多少?
  4. 我们能在剩余预算之内完成所有的故事点吗?

多久需要更新一次呢?

你将敏锐地发现我们正在使用的是历史数据,然而历史数据只有在没有发生变化的情况下才准确。为了减少整个过程中由于团队规模、能力以及工作复杂度的变化和不同而带来的误差,我们需要定期重新计算。多久重新计算一次呢?那就仁者见仁,智者见智了。我每个月计算一次,因为我在一个快速成长的团队工作,新的产品不断涌现。我需要经常重新评价我的成本。

一个更加稳定的团队和产品可能只需要每 6 个月计算一次。还是那个观点,要力保数据准确。

例子

现在就让我用我最近带领的一个项目做为例子来更好地阐述一下这个观点。这个项目叫做 Patient Kiosk,该项目的主要目的是构建一个集成化的软硬件平台,通过这个平台可以来指导病人,病人也可以通过一个按在臂膀上的临床装置参与到医疗保健活动中去。你可以想象这项工程需要花费很多时间,而且并不是所有部分都跟软件有关。但这个项目还是使用了敏捷技术和故事点来做估算。

我们使用 Jira 来追踪用户故事和故事点,但是 Jira 厂商似乎严格地把他们的产品跟开发人员挂钩,Jira 里面并没有基于故事点成本的财务和预算机制。所以我就通过使用 excel 来追踪故事点成本了。

首先,我给每一个月份都做了一张工作表单:

  • 每个发布的故事点
  • 每个发布的总开销
  • 每个发布的实际用时

通过这 3 个数据,我就可以计算出每个月的成本以及平均值。表 1 展示了这个例子。

表 1

接下来,我把每个月的平均成本加起来,计算出每个月的平均值,从而来追踪一段时间内的变化情况。同时我也画了一些基本的图表来显示趋势。当然你可以准备更多数据或者图表,但这取决于你的需要。表 2、表 3 给我们展示了这个例子。当产品管理层想要知道构建某些功能需要多少成本的时候,我就用表中红色数字乘以团队估算出来的故事点数就可以了。

表 2

故事点成本 - Patient Kiosk

每个故事点所花的小时数 – Patient Kiosk

混合平均

平均值(每小时) $ 45.39

中值(每小时) $ 46.25

表 3

你可能会问:“如果故事点是你的成本动因以及估算工具,你又为什么去追踪小时数呢?”我和我的团队对于故事点以及速率这些概念都很熟悉,但公司的其他人则不了。把速率这一概念转换成小时数,对帮助那些熟悉了传统估算方法的利益关系人理解我们的做法是很重要的。

故事点成本把一个相当抽象的、以开发人员为中心的概念和现实商业世界联系起来了。这是很有必要的。如果我们试图在我们的开发领域中使用故事点,那么它们必须要跟商业部门使用的表单、帐目一脉相承。

查看英文原文: Agile Finance: Story Point Cost


感谢石永超对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家加入到 InfoQ 中文站用户讨论组中与我们的编辑和其他读者朋友交流。

2010-11-10 00:003133
用户头像

发布了 114 篇内容, 共 33.2 次阅读, 收获喜欢 2 次。

关注

评论

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

C++文件读写操作分析文本文件与二进制文件

CtrlX

c c++ 面向对象 8月月更 opp

开放下载 | 飞天技术峰会-云原生加速应用构建分论坛资料开放下载

阿里巴巴中间件

阿里云 阿里云云原生

迁移 Nacos 和 ZooKeeper,有了新工具

阿里巴巴中间件

zookeeper 阿里云 云原生 nacos 迁移

火力全开!鲲鹏应用创新大赛2022区域赛即将陆续开赛

科技热闻

企业应用现代化实用教程 | ​IT架构师必读的DevOps落地行动指南

York

DevOps 云原生 数字化转型 一体化架构 应用现代化

灵魂拷问:你精神内耗了吗?由TA来治愈吧

脑极体

Tomcat 的安装与环境配置

楠羽

开源 #开源

首发!这份阿里架构大神编写的K8S+SpringCloud笔记,真是大厂入场券

了不起的程序猿

Java k8s JAVA开发 java程序员

Monorepo 能给前端工程带来什么

领创集团Advance Intelligence Group

前端工程师 Monorepo

秒云获得阿里云首批产品生态集成认证,携手阿里云共建云原生智能运维生态服务

阿里巴巴中间件

阿里云 云原生 云原生加速器

中国掀起数字化浪潮的4个显著变化

优秀

数字化转型 数字化

监控告警怎么搭建比较合理?B站SRE实践总结了4大关键步骤

TakinTalks稳定性社区

高可用 稳定性 SRE 监控告警 大厂实践

redis持久化持久化的方案与各自存在的问题

想要飞的猪

正式线上环境下微服务平台落地实践

HelloGeek

微服务 微服务架构 Spring Cloud Service Mesh 服务网格 mesh

21个赛区,7大赛题,鲲鹏应用创新大赛2022区域赛期待与你相遇

科技热闻

云原生2.0构建数字化

科技云未来

程序员过中秋

楠羽

中秋节

IPv6过渡技术的推进策略

穿过生命散发芬芳

ipv6 8月月更

Java: 为Word文档添加水印

Geek_249eec

Java word 水印 watermark

K8s小白?应用部署太难?看这篇就够了!

北京好雨科技有限公司

Kubernetes 云原生

网站建设流程

源字节1号

网站开发

融云,把企业文化放在“场景”里

融云 RongCloud

企业文化

陈大好:持续创造小而美的产品丨独立开发者 x 开放麦

声网

人工智能

天翼云通过2022可信云安全首批云工作负载保护平台评估

Geek_2d6073

科普达人丨一图看懂块存储&云盘

阿里云弹性计算

阿里云 云盘 块存储

leetcode 697. Degree of an Array 数组的度(简单)

okokabcd

LeetCode 数据结构与算法

华为云数字化

科技云未来

直播预告(本周六)|关于数据可观测性的精彩讨论

观测云

[教你做小游戏] 用86行代码写一个联机五子棋WebSocket后端

HullQin

CSS JavaScript html 前端 8月月更

FlyFish|前端数据可视化开发避坑指南(二)

云智慧AIOps社区

JavaScript 大前端 低代码 数据可视化 大屏可视化

华为云助力论坛服务

科技云未来

敏捷经济学:故事点成本_研发效能_Christopher R. Goldsbury_InfoQ精选文章