写点什么

成本会计会导致无价值的代码吗?

  • 2007-06-15
  • 本文字数:1143 字

    阅读完需:约 4 分钟

成本会计是分析项目货币价值的标准会计方法,它将项目的各部分分别对待并且鼓励进行局部优化。成本的局部优化意味着强调完成任务的时间,而使任务完成时间最小化的关注就意味着你没时间进行重构和其它完善工作,因为这类工作太浪费时间了。这就是“万源之源”,就是不做这些事的常见理由,即“老板没有给我足够的时间做这些事”。

Henrik Mårtensson 其博客中提到了约束理论(Theory of Constraints), 并说明产量会计(throughput accounting)是如何营造一个可以接受敏捷开发实践的环境的。他通过一个假想的例子来告诉我们:

假如有两个项目团队,A 团队和 B 团队。每个团队都一个项目经理,四个开发人员和三个测试人员。每个团队成员的薪水是€3,500/ 月,工作时间是 160 小时 / 月。项目经理的薪水是€4,000/ 月。两个团队的生产率都是 80 个故事点 / 星期。 在团队 A 中,开发人员都在拼命工作,但测试人员却有很多空闲时间,时常上网冲浪。在团队 B 中,却是另一种景象。测试人员刚好跟上开发步伐,所以开发人员降低了开发速度以免测试人员处理不完。在某一天,两个团队都发现了一个缺陷。这两个缺陷都需要一个开发人员花八小时来修复。那么,团队 A 和团队 B 的成本各是多少呢?

这是给读者的一个思考题:“发现一个缺陷时会怎样?”成本会计告诉我们,这两个团队修复这个缺陷的成本是一样多的。但是多想一会儿,你就会发现这其实只是一个假象:

在团队 A 中,一个开发者去修复这个缺陷时,会直接影响整个团队的生产率。而在团队 B 中,开发者有一定的空闲时间。他们能修复这个缺陷却不受太大影响,在整个团队生产率上可能根本没有什么影响。即使不详细说明,结果也很明显,对两个团队的影响是完成不同的。

那么,问题在哪?关键在于成本会计强调的是局部最优,而实际上我们需要全局最优。利用成本会计,我们营造了一种环境,在该环境下,我们不鼓励任何延长局部周期时间的行为。

简而言之,假如你把软件开发项目的每个组成部分都看作是与其它部分相互独立的部分,那么关注任务完成时间就变成非常重要的了。假如你关注任务完成时间,你就不会在一些琐事上浪费时间,例如重构、写单元测试,以及进行领域设计。就算你想做这些事,管理者也会督促你开始新的任务。

看看“约束理论”和精益生产(Lean Manufacturing)也没什么新鲜的: David J. Anderson 写了一本书,名为《软件工程的敏捷管理(Agile Management for Software Engineering: Applying the Theory of Constraints for Business Results)》,而 Mary 和 Tom Poppendieck 因其在精益软件开发方面的工作而闻名。随着这个社区的成长,我们将看到从这两个领域产生的新观念变成主流,而它们的术语也会变得像“站立会议”和“结对编程”一样普遍。

查看英文原文: Does Cost Accounting Cause Crappy Code?

2007-06-15 02:00736
用户头像

发布了 100 篇内容, 共 21.6 次阅读, 收获喜欢 5 次。

关注

评论

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

KeyShot 2024.2 for mac(3D渲染和动画制作软件)中文激活版

Mac相关知识分享

现在可以直接使用港币购买加密货币进行交易。

dappweb

如何优雅的应对线上故障?

老张

监控告警 线上故障 应急响应 问题复盘

瓜子二手车在财务中台结账核心系统 TiDB&TiFlash 实践

TiDB 社区干货传送门

数据库架构选型 HTAP 场景实践 数据中台场景实践

Autodesk Maya 2024 for Mac(三维动画和视觉特效软件) v2024中文版

Mac相关知识分享

Mac软件 动画软件 视觉特效软件

Datawhale 零基础入门CV赛事-Task4 模型训练与验证

阿里云天池

网页文本分类题赛后总结(排名第二)

阿里云天池

SQLPro Studio for Mac(可视化数据库管理工具) v2024.50激活版

Mac相关知识分享

免费也很强大:五款无代码平台的免费功能盘点

软件大师兄

2024 年五大最佳构建内部工具的开源项目

NocoBase

低代码 开源项目 无代码平台

Wolfram Mathematica 13 for Mac(功能广泛的科学计算软件) 中文版

Mac相关知识分享

TiDB监控prometheus常用技巧

TiDB 社区干货传送门

监控 实践案例 集群管理 管理与运维

iPhone可运行的谷歌Gemma 2 2B模型,性能超GPT-3.5

硅纪元

gpt4o Gemma 2

Pinterest 选择采用 TiDB

TiDB 社区干货传送门

Java 关键字之 native 详解

源字节1号

开源

望繁信科技CEO索强出席2024新质生产力生态大会,畅谈中国AI聚沙成塔之路

望繁信科技

流程挖掘 流程资产 流程智能 望繁信科技 中国AI

GitHub Star 数量前 12 的开源无代码工具

NocoBase

GitHub 开源 无代码开发 无代码平台

MediaHuman YouTube Downloader mac(YouTube视频下载工具)注册版

Mac相关知识分享

uni-app正式支持鸿蒙原生应用开发

源字节1号

开源

需求管理工具对比:9款优质系统测评

爱吃小舅的鱼

需求管理 软件需求管理 需求管理工具

【TiDB 社区智慧合集】TiDB 在核心场景的实战应用

TiDB 社区干货传送门

MES系统到底能解决企业什么问题?

万界星空科技

制造业 生产管理系统 mes 万界星空科技

七牛云点播实时转码上线,边转边播,又快又省

七牛云

转码

tidb8.1的磁盘选择,关于网络ssd,和本地ssd的选择对性能影响很大,差距60倍。

TiDB 社区干货传送门

8.x 实践

想要解析邮件?IMAP协议轻松助你,不再烦恼!

左诗右码

Go imap

微软出品的强大邮件管理与协作工具Microsoft Outlook 2021 LTSC

Mac相关知识分享

观测云全面兼容 Prometheus 生态

观测云

焱融科技与神州鲲泰完成产品互认证 共建自主创新新生态

焱融科技

高性能存储 国产化算力

ScreenFlow for mac(屏幕录像软件) v10.0.10汉化版

Mac相关知识分享

NocoBase 社区正式上线!

NocoBase

开源 低代码 无代码平台

成本会计会导致无价值的代码吗?_研发效能_Amr Elssamadisy_InfoQ精选文章