2.1 SDLC 与过程模型取舍
软件开发生命周期不是一串神圣的方框。它是一种思考方式:一个想法如何变成运行中的软件,反馈如何返回,决策如何调整。
一个实用的 SDLC 视角是:
需求 -> 理解 -> 设计 -> 构建 -> 验证 -> 发布 -> 运行 -> 学习 -> 调整
不同组织会画不同图,但核心工程问题很稳定:我们把反馈放在哪里,才能让风险足够早地显现?
正在加载交互实验...
正在加载概念检查...
流程是反馈设计
过程模型常常被教成一堆名字:瀑布、V 模型、增量、螺旋、原型、Agile、Scrum、Kanban、DevOps。
在真实工作中,更好的问题是每个模型让什么变容易、让什么变困难:
- 它能否早点发现需求错误?
- 它能否早点暴露技术风险?
- 它能否为合规或安全提供证据?
- 它能否让工作足够小,方便集成?
- 它能否让责任清晰?
- 它是否支持发布后的恢复?
没有模型能替团队思考。模型是组织决策的工具,不是决策本身的替代品。
正在加载交互实验...
正在加载概念检查...
上下文变量
选择过程姿态之前,先检查:
| 变量 | 如果很高,通常需要 |
|---|---|
| 需求清晰度 | 强规格说明与验证 |
| 需求变化频率 | 短迭代与频繁用户反馈 |
| 技术风险 | 技术 spike、原型、概念验证、风险评审 |
| 失败代价 | 验证、回滚、审计轨迹、分阶段发布 |
| 合规压力 | 可追溯性与受控变更 |
| 团队分布 | 显式沟通与接口契约 |
注意
成熟团队经常组合模型。受监管产品仍然可以内部增量交付。敏捷团队面对高风险变更时,仍然需要明确设计评审。
流程表演的警讯
当流程只产生仪式而不产生反馈时,它就变成表演。站会没有推动阻塞,冲刺计划没有可运行增量,架构评审没有决策,复盘没有行动,这些都是例子。
好的流程让现实更难被忽略。
正在加载本节练习...