惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
J
Java Code Geeks
IT之家
IT之家
Last Week in AI
Last Week in AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
B
Blog RSS Feed
P
Proofpoint News Feed
博客园 - Franky
MongoDB | Blog
MongoDB | Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 【当耐特】
Microsoft Security Blog
Microsoft Security Blog
I
InfoQ
B
Blog
Stack Overflow Blog
Stack Overflow Blog
Martin Fowler
Martin Fowler
博客园 - 聂微东
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Apple Machine Learning Research
Apple Machine Learning Research
大猫的无限游戏
大猫的无限游戏
U
Unit 42
aimingoo的专栏
aimingoo的专栏

编程

开源人的心声,关于为什么花精力开源 kkRepo ,是不是很多人不理解 - V2EX 把入口路由注释掉了,然后让 AI 一直在修改路过的代码... - V2EX clion 禁用检查的问题 - V2EX 软件工程真的一直在进步吗? 我开始在代码中使用中文变量名了 [转载]信创全平台 C++17 交叉编译工具链 AI 正在淘汰小众编程语言 在 Codex 中可以直接调用 Claude 吗? 氛围编码生成的是代码,工程生成的是系统。氛围编程不是工程,大家怎么看? Tikrok8 新版本更新 被 composer 2.5 震撼了 在 AI 时代,现在的新项目大家怎么开始呢? [纯分享]怎么同时学会多个编程语言 现在 rust 是不是好起来了? 用 just 管理终端命令,使“命令即代码” Qoder teams 版本设计反人性 AI 写代码真香喷;以后只要产品经理就可以了 warp 有没有什么代码补全和格式化的方案,想代替 cursor 被 KIMI 玩弄的一天 这么 lj 我是没想到的 pyruns:把本地 Python 实验和 shell 任务真正整理起来的 Web UI AI 写的项目要怎么维护?都是一次性代码吗? claude-opus-4-6 大家实际使用感觉怎么样? 关于加强学习效率的讨论 想用下智谱的 GLM 和 Minmax 的编程模型,有没有用过的分享下使用效果 设计后台微服务还是 mq 请教 Hammerspoon 在获取 WIFI ssid 为 nil 问题 发一个更新版的 rules Claude Opus 4.5 发布了,前端工程师的天,塌了又塌(AI 计量单位) codex 的一些小感受 agent 开发据说很有前途
软件工程里,最昂贵的成本到底是什么?
Ethan9527 · 2026-07-08 · via 编程

《软件工程经济学》①

软件工程里,最昂贵的成本到底是什么?

过去两年,软件行业几乎形成了一个没有争议的共识:AI 正在让软件开发越来越便宜。

这句话听起来没有问题,但我越来越怀疑,我们可能把两个不同的概念混在了一起。

变便宜的,也许只是写代码,而不是软件开发。

过去很长一段时间,这两个概念几乎可以画上等号。软件工程的大部分投入,都集中在"把系统实现出来"这件事情上。更高级的编程语言、更完善的框架、更成熟的开源生态、更自动化的 CI/CD 、更智能的开发工具,本质上都在解决同一个问题:如何更快、更稳定地完成实现。

AI Coding 是这条技术路线迄今为止最显著的一次跃迁。如果只讨论"实现"这一环,它带来的效率提升,几乎超过了过去十年的总和。

但真正让我感兴趣的,并不是代码生成速度。

而是另一个现象。

越来越多团队告诉我,他们花在写代码上的时间减少了,却没有觉得开发变得更轻松。

讨论需求的时间变多了。

解释业务背景的时间变多了。

反复补充上下文的时间变多了。

验证 AI 输出是否符合预期的时间也变多了。

如果软件开发真的变便宜了,这些时间为什么没有一起消失?

如果把软件开发抽象来看,它其实始终围绕三个问题展开。

  • 第一,搞清楚要干什么。

  • 第二,把它做出来。

  • 第三,确认做对了。

过去二十多年,整个行业几乎都在优化第二个问题。

今天,这个问题正在以前所未有的速度被解决。

于是,另外两个问题开始变得越来越显眼。

最近,一位朋友分享了他们团队的经历。

Agent 很快完成了一次大规模重构:修改了十几个文件,补齐了测试,也顺利通过了构建。

真正的问题出现在两小时以后。

团队才发现,它理解错的不是代码,而是一条业务规则。

整个实现都建立在一个错误的理解之上。

最终不得不推倒重来。

类似的事情,我相信很多团队都经历过。

过去,一个理解不完整的需求,往往只会产生几十行有偏差的代码,很快就能发现问题。

今天,同样的理解偏差,可能在几分钟内演化成几千行代码、几十个文件、完整的测试,以及一套看起来完全合理的实现。

返工因此变得更加昂贵。

这让我越来越觉得:

AI 没有创造新的问题,它只是第一次让很多旧问题,再也藏不住了。

AI 把写错代码的成本降到了零,却把理解错问题的成本放大到了前所未有的规模。

于是,一个以前很少认真讨论的问题重新出现了。

软件工程里,真正昂贵的成本,到底是什么?

如果回头看过去四十年的软件工程发展,会发现不同阶段给出的答案并不一样。

上世纪九十年代,大型企业系统的需求相对稳定,发布周期长,修改代价高。在这样的环境里,尽可能把需求分析清楚,再进入实现阶段,是一种合理的经济选择。RUP 、用例驱动开发等方法论,都诞生于这样的背景。

后来,互联网改变了另一件事情。

很多产品的需求,并不是分析出来的,而是上线以后才逐渐发现的。没人能够在项目开始之前,就完整定义一个社交网络应该是什么样子,也没人能够提前设计出今天短视频产品的全部交互。

于是,快速试错比完整分析更重要。

敏捷因此成为那个时代更符合成本结构的选择。

很多人后来总结说:

RUP 输给了敏捷。

但我越来越怀疑,这样的总结是不是过于简单。

敏捷真正证明的,也许并不是 RUP 的方向错了。

它证明的更可能是,在另一种成本结构下,存在一种更经济的组织方式。

方法论发生了变化。

真正变化的,也许不是理念,而是成本。

RUP 不是输给了敏捷。是'提前分析清楚'这件事,在快速试错的环境里,变得比'快速上线再迭代'更贵了。

今天,当 AI 大幅降低了实现成本,我们或许又站在了另一个新的起点。

那些过去因为维护代价太高而被放弃的实践,会不会值得重新评价?

那些过去隐藏在实现成本之后的问题,会不会重新成为软件工程真正的瓶颈?

我不知道答案。

但我越来越觉得,这些问题,比"AI 会不会取代程序员"更值得讨论。

因为真正改变软件工程的,往往不是一种新的工具。

而是工具改变了软件开发中,什么事情最昂贵。


下一篇,我们把时间尺度再拉长一点。

如果把软件工程四十多年的发展放在一起看,它也许并不像一条不断进步的直线。

也许,它更像一个不断摆动的钟摆。

而每一次摆动,都发生在人们重新计算"什么最贵"的时候。


最后留一个问题。

过去一年,你所在团队最大的返工成本,来自哪里?

是代码写错了?

还是从一开始,就理解错了要解决的问题?