<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Software-Engineering on 提笔忘字</title><link>https://imx.ink/software-engineering/</link><description>Recent content in Software-Engineering on 提笔忘字</description><generator>Hugo</generator><language>zh-CN</language><copyright>Copyright © 2023, Xie Ziyao.</copyright><lastBuildDate>Sat, 02 May 2026 18:00:00 +0800</lastBuildDate><atom:link href="https://imx.ink/software-engineering/index.xml" rel="self" type="application/rss+xml"/><item><title>软件工程 1.0 → 2.0 → 3.0：三次范式跃迁，和它们背后同一条红线</title><link>https://imx.ink/tech/2026/05/02/software-engineering-three-paradigms/</link><pubDate>Sat, 02 May 2026 18:00:00 +0800</pubDate><guid>https://imx.ink/tech/2026/05/02/software-engineering-three-paradigms/</guid><description>&lt;img src="https://f005.backblazeb2.com/file/wml5yw8gwgll/20260505/software-engineering-waves.png" alt="软件工程三次范式跃迁：瀑布流 → 敏捷 + DevOps → 人 + 数字员工" style="zoom:50%;" /&gt;
&lt;p&gt;这一篇想把镜头拉远一点，问一个更大的问题——&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;整个软件工程 50 多年的历史上，有过几次真正意义上的范式跃迁？我们现在在哪？&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;把答案提前说：&lt;strong&gt;过去 50 年发生过两次，第三次正在发生&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;而且这三次之间有一条非常清晰的红线：&lt;strong&gt;软件工程的&amp;quot;硬核&amp;quot;从来没变，变的只是围绕这个硬核的执行层&lt;/strong&gt;。理解这条红线，比理解任何具体的工具更重要。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="软件工程-10瀑布流1968--2001"&gt;软件工程 1.0：瀑布流（1968 — ~2001）&lt;/h2&gt;
&lt;p&gt;1968 年 NATO 软件工程会议的核心焦虑是——&lt;strong&gt;软件项目为什么总是延期、超预算、质量失控？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;当时的答案是&amp;quot;缺少工程纪律&amp;quot;。于是瀑布模型诞生了，把软件开发类比为建筑施工：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;需求分析 → 系统设计 → 详细设计 → 编码实现 → 测试验证 → 运维交付
 ↓ ↓ ↓ ↓ ↓ ↓
需求文档 → 概要设计 → 详细设计 → 源代码 → 测试报告 → 上线
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;1.0 的&lt;strong&gt;核心假设&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;需求可以在开发前被完整定义&lt;/li&gt;
&lt;li&gt;每个阶段的产出是下一阶段的输入，回头成本极高&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;人的角色是&amp;quot;按文档执行&amp;quot;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;1.0 做对了什么？&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;它建立了&amp;quot;软件开发是工程活动而非艺术创作&amp;quot;的行业共识，引入了阶段评审、文档规范、测试体系，奠定了整个行业的底座。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1.0 的天花板在哪里？&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;假设了需求不变&lt;/strong&gt;，但真实世界的需求永远在变&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;反馈周期太长&lt;/strong&gt;——从需求到看见可运行软件可能隔 6–12 个月&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;文档成了目的而非手段&lt;/strong&gt;——团队花更多时间维护文档而不是解决问题&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;人被流程困住了&lt;/strong&gt;——每个角色都在等上游的文档，串行阻塞&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;瀑布流的本质困境是：&lt;strong&gt;它假设软件开发是确定性问题，但软件开发本质上是探索性活动。&lt;/strong&gt;&lt;/p&gt;</description></item></channel></rss>