已有项目如何迁移到 SDD

11 阅读4分钟

下面我给你一套 可直接落地、能在真实项目里执行的 SDD(规格驱动开发) 改造流程。这是我见过最容易让团队“从 Vibe Coding 走向工程化”的方法,尤其适合 已有项目(不是从零开始)。

我会把它拆成 6 个阶段、20+ 个可操作步骤,你照着做就能落地。

🧭 总览:已有项目如何迁移到 SDD? 迁移 SDD 的核心不是“重写代码”,而是 补齐规格 → 让 AI 按规格重构 → 形成可持续的开发循环。

流程如下:

  1. 建立项目规格基线(反向生成 Spec)
  2. 建立模块级 Implementation Plan(反向生成实现方案)
  3. 建立 Task List(拆分可执行任务)
  4. 引入 SDD 开发循环(新增功能按 Spec → Plan → Code)
  5. 逐步重构旧代码(按模块逐步 SDD 化)
  6. 建立团队协作规范(模板、规则、评审流程) 下面我把每一步讲得非常细,你可以直接照做。

🧩 第 1 阶段:建立项目规格基线(反向生成 Spec)

已有项目最大的问题是:代码有了,但规格缺失。 SDD 的第一步就是把“隐形规格”显性化。

✅ Step 1:列出所有模块(AI 可辅助)

让 AI 根据代码仓库结构生成模块列表,例如:

/api
  /user
  /order
/frontend
  /dashboard
  /settings

✅ Step 2:为每个模块生成 Feature Spec(反向规格)

对每个模块,让 AI 生成:

  • 模块职责
  • 输入输出
  • 业务流程
  • 状态变化
  • 错误处理
  • 边界条件

示例 prompt:

请阅读以下模块代码,为其生成 Feature Spec,包括:
- 模块职责
- 输入输出
- 数据结构
- 业务流程(用步骤描述)
- 错误处理
- 边界条件

🎯 目标 得到一份“项目规格文档”,哪怕不完美,也能作为 SDD 的基线。

🧩 第 2 阶段:建立 Implementation Plan(反向生成实现方案)

Spec 是“做什么”,Plan 是“怎么做”。

✅ Step 3:为每个模块生成 Implementation Plan

内容包括:

  • 目录结构
  • 关键类/函数
  • 数据流
  • 外部依赖
  • 测试策略 示例 prompt:
根据以下 Feature Spec,生成 Implementation Plan,包括:
- 目录结构
- 核心类/函数
- 数据流
- 外部依赖
- 测试策略

🎯 目标 让 AI 能够“按图施工”,而不是“凭感觉写代码”。

🧩 第 3 阶段:建立 Task List(拆分可执行任务)

✅ Step 4:把 Plan 拆成任务

每个任务必须:

  • 小(30 分钟内可完成)
  • 独立
  • 可测试
  • 有明确输入输出

示例:

Task描述
T1创建 UserRepository 接口
T2实现 UserRepository 的 MySQL 版本
T3添加 getUserById 单元测试

🎯 目标 让 AI 能够“一次只做一件事”,避免 hallucination 和结构漂移。

🧩 第 4 阶段:引入 SDD 开发循环(从此以后按 SDD 写新功能)

从这一步开始,你的项目正式进入 SDD 模式。 SDD 开发循环(核心)

  1. 写 Feature Spec
  2. 写 Implementation Plan
  3. 拆 Task List
  4. AI 按 Task 逐个生成代码
  5. 人类做 Code Review
  6. 自动化测试验证

为什么从“新增功能”开始?

因为:

  • 新功能没有历史包袱
  • 最容易建立 SDD 习惯
  • 不会影响现有系统稳定性

🧩 第 5 阶段:逐步重构旧代码(按模块逐步 SDD 化)

已有项目不可能一次性重写,正确方式是:

✅ Step 5:选择“最痛点”的模块优先 SDD 化

例如:

  • 频繁出 bug
  • 逻辑混乱
  • 业务变化快
  • 依赖多

✅ Step 6:按模块执行 SDD 重构流程****

流程:

  1. 反向生成 Spec
  2. 反向生成 Plan
  3. 拆 Task
  4. AI 按 Task 重写
  5. 测试覆盖
  6. 替换旧模块 🎯 目标 逐步把“混乱代码”替换成“可维护代码”。

🧩 第 6 阶段:建立团队协作规范(让 SDD 成为习惯)

必须建立 3 个模板:

  1. Feature Spec 模板
  2. Implementation Plan 模板
  3. Task List 模板

必须建立 3 条规则:

  1. 所有功能必须先有 Spec 才能写代码
  2. 所有代码必须对应 Task
  3. 所有 PR 必须附带 Spec/Plan 链接

必须建立 2 个评审流程:

  1. Spec Review(需求评审)
  2. Code Review(实现评审)

🧠 最终效果:你的项目会发生什么变化?

方面迁移前迁移后
代码质量不稳定稳定、结构清晰
需求变更返工多只改 Spec,AI 自动更新
新人上手看 Spec 就能写
AI 产出随机可控、可预测
维护成本