方法

SDLC

软件开发生命周期

一个软件项目从端到端要走的阶段:发现、设计、构建、测试、部署、运维、退役。

最近审阅: 2026-05-24 审阅人Kevin Riedl wiki ↗

SDLC 是把软件从「想法」到「退役」要经过的阶段归在同一个名字下的统称。不同方法论(瀑布、Agile、DevOps、Continuous Delivery)定义不同的阶段边界与不同的过渡方式,但阶段本身大致不变。

把它当词汇用很有用,当流程强推就不一定。强推严格 SDLC 的团队往往堆出活不过第二个 Sprint 的文档。完全无视 SDLC 的团队则会以痛苦的方式重新发现每个阶段(「我们没有部署计划就上线了」「我们从没想过怎么把这个系统下线」)。

Wavect 偏好的形态:发现放在前面,设计与构建在短循环里穿插,自动化测试与部署从第一天就到位,运维有清晰的归属,退役有书面化的迁移路径。

// FAQ

常见问题

常见问题

不是。SDLC 命名阶段(发现、设计、构建、测试、部署、运维、退役)。Agile 决定阶段之间怎么过渡(短循环、频繁反馈)。瀑布也是 SDLC 的一种实现方式,只是阶段间过渡是单向的。两者层级不同。
重要。多数团队从没想过怎么把系统下线,结果遗留系统在生产里活了十年没人敢碰。设计阶段就应该写好退役计划:数据迁移路径、依赖切换顺序、用户通知节奏。等系统要死的时候才想这些,每一步都疼一倍。
阶段要走,文档可以薄。把发现压成一次对话、设计压成一份白板照、退役压成一行 README 注释也算覆盖了。完全跳过任何阶段才是问题:跳过测试上线、跳过运维归属、跳过退役计划,每一种都会以特定方式咬回来。