笔记 B:过程模型对比与演进策略
Architect's Note (架构师按): 所有过程模型的核心矛盾,都是在解一个极值问题:预见性 (Predictability) 与 适应性 (Adaptability) 之间的生死平衡。选错模型,就像在泥石流路段开高铁,或者在洲际高铁轨道上开越野车。
模块一:惯用模型 (Prescriptive Models) —— 瀑布与演化的对决
惯用模型试图通过严密的框架活动为软件开发带来秩序,主要分为强调计划的线性和增量模型,以及强调容错的演化模型。
1. 瀑布模型 (Waterfall) & 增量模型 (Incremental)
- [Core Concept]:通过线性、不可逆的阶段隔离,试图用极高的前期确定性来彻底消灭后期的变化空间;增量模型则是将其切分为小块的线性叠加。
- [Engineering Mindset]:
- 权衡逻辑:将“适应性”降到最低,以换取极高的“预见性”。
- 隐形灾难:在需求模糊的现实中乱用瀑布,最大的灾难是“盲兵摸象”——直到项目末期(测试/部署阶段)才会发现重大的认知错误,此时变更成本是毁灭性的。
- [AI-Era Mapping]:
- AI 时代的幻灭:在 AI 一键生成大量代码的今天,瀑布模型那漫长而僵化的前端文档设计变得毫无意义。AI 的纠错成本极低,试图“一次性把所有细节想对”是效率最大的杀手。
- [Memory Trigger]:单行道重载火车。一旦发车,无法掉头,直到终点才知道有没有开错方向。
2. 演化模型 (Evolutionary):原型开发 (Prototyping) & 螺旋模型 (Spiral)
- [Core Concept]:承认人类认知的局限性,通过不断构建和抛弃(或演进)可运行的版本,来逼近真实需求并消解技术风险。
- [Engineering Mindset]:
- 权衡逻辑:用“多次试错的成本”换取“项目彻底失败的风险”。螺旋模型尤为极端,它本质上是一个风险驱动的模型。
- 隐形灾难:如果团队缺乏风险评估能力或客户无法控制欲望,原型演化会变成无底洞,陷入范围蔓延 (Scope Creep) 和无尽的打补丁中。
- [AI-Era Mapping]:
- AI 时代的最强王者:AI Agent 和 Cursor 等工具让“原型构建成本”趋近于零!过去螺旋模型因为每次迭代成本高昂而让中小团队望而却步;现在,你可以让 AI 每天用不同的技术栈生成 3 个原型进行快速业务验证。AI 让螺旋模型真正实现了“平民化”。
- [Memory Trigger]:带雷达的扫地机器人。从原点出发,一圈圈向外扩张(迭代),每遇到一次障碍(风险)就立刻调整路线。
模块二:统一过程 (Unified Process, UP) —— 庞大而严谨的重型机器
- [Core Concept]:一种“以架构为中心 (Architecture-centric)、用例驱动 (Use case driven)”的综合性框架,用面向对象和 UML 图纸来弥合需求与代码之间的鸿沟。
- [Engineering Mindset]:
- 权衡逻辑:追求在复杂协作中维持系统的绝对一致性。它要求在构建 (Construction) 阶段之前,必须建立清晰的架构基线 (Architectural baseline)。
- 隐形灾难:极度依赖高水平的开发团队和严密的抽象思维。如果不分青红皂白在小项目里套用 UP,团队会被海量的用例图、类图和时序图活活淹死,变成“为了画图而画图”的官僚主义。
- [AI-Era Mapping]:
- AI 的最佳“提示词”框架:你以为 UP 在敏捷时代过时了?大错特错。当使用 Cursor 生成极度复杂的系统时,大模型最容易犯的错就是“上下文遗忘”和“架构崩塌”。UP 强调的用例 (Use Cases) 和 UML 类图/时序图,恰恰是当下为大模型提供 System Prompt (系统级约束) 的最完美格式。人类画蓝图(UP 架构),AI 做泥瓦匠。
- [Memory Trigger]:航母造船厂。必须先有龙骨(架构)和详细的舱室设计图(用例),然后各部门才能并行施工集成。
模块三:敏捷开发 (Agile Development) —— Scrum 与 XP 的交响
- [Core Concept]:将“拥抱变化”作为最高信仰,通过极短的反馈循环 (Sprints) 持续交付工作软件,拉平“随时间推移而呈指数暴涨的变更成本曲线”。
- [Engineering Mindset]:
- 权衡逻辑:彻底倒向“适应性”,坚信“可用软件胜过完备文档”。
- 隐形灾难:很多团队只学了 Scrum 的管理皮毛(每日站会、冲刺),却丢了 极限编程 (XP) 的硬核工程底子(持续集成、重构、测试驱动)。结果就是制造了一堆没有文档、内部腐烂的“垃圾代码堆”,最终导致项目重构破产。
- [AI-Era Mapping]:
- 从“结对编程”到“人机结对 (Human-AI Pair Programming)”:XP 框架中最具争议的结对编程 (Pair Programming) 在今天完美复活——Cursor 就是你的那个不知疲倦、精通全栈的 AI 结对伙伴。
- 反馈加速下的新瓶颈:AI 将敏捷的 Code & Test 环节压缩到了极致,这导致敏捷的瓶颈向上游转移:产品经理产出 User Stories (用户故事) 的速度,已经跟不上 AI 消耗 Backlog 的速度了。
- [Memory Trigger]:特种作战小队。Scrum 是战术指挥系统(定目标、快进快出),XP 是单兵素养(火力掩护、每日保养武器、不带多余装备)。
架构师决策表 (Architect's Decision Matrix)
绝不存在银弹,优秀的架构师只谈场景与匹配:
| 模型门派 | 需求模糊度 | 团队规模要求 | 时间与试错压力 | AI 时代的推荐用法 | 致命毒药 (绝不适用场景) |
|---|---|---|---|---|---|
| Waterfall (瀑布) | 极低 (必须全知全能) | 中大 | 低 (不可逆) | 极少使用。仅用于重度合规或底层硬件驱动级重构。 | 探索型创业项目、C端互联网产品。 |
| Prototyping/Spiral (演化/螺旋) | 极高 (摸着石头过河) | 小到中 | 中等 (需要快速容错) | 强烈推荐。用 AI 疯狂低成本试错,测试市场水温,抛弃旧代码不心疼。 | 需求极其明确的传统外包外包维护项目。 |
| Unified Process (统一过程) | 中等 (边做边明晰) | 中大到超大 | 中等 (按模块增量) | 作为 Agent System Prompt 的底层骨架,用 UML 强控大模型的幻觉。 | 几人规模的黑客松或快速 MVP 原型。 |
| Agile (Scrum + XP) | 高 (随时调整方向) | 小而精 (7±2人) | 极高 (快速推向市场) | 人机结对编程的终极主阵地。AI 负责执行 XP 的重构与测试,人类负责 Scrum 的价值排序。 | 拒绝写自动化测试、拒绝持续重构的草台班子。 |