个人独立开发最爽的是没有约束,最惨的也是没有约束——没有产品经理写需求,没有测试验收,没有同事 review,想到哪写到哪。结果就是个人项目的三大死法:架构腐烂、半成品堆积、过两个月自己接手都断片。
这几年我用”一人 + AI 分饰整个团队”的方式做个人项目,沉淀了一套个人级独立开发 SOP,脱敏后开源了:
先说结论:个人项目的 SOP 核心不是”流程合规”,而是用最小的文档成本换来三件事——不断片、不腐烂、能验收。
📌 一人 + AI 的完整角色链
1 | RD(需求) → PM(产品) → [合规官] → ARCH(架构) → DEV(开发) → QA(测试) |
你出想法,AI 分饰其余所有角色。每个角色的产出都落盘成文档:
| 角色 | 产物 | 门禁(产出前自检) |
|---|---|---|
| RD | {模块}_Draft.md 交互草案 |
场景分析、页面流程、ASCII 布局图 |
| PM | {模块}_PRD.md |
功能 P0/P1/P2 分级、验收标准≥3条且可独立检查 |
| ARCH | {模块}_Design.md |
数据模型关系、状态管理方案、技术路线对比 |
| DEV | Swift 源码 | 编译通过、每个 View 含 Preview、无硬编码颜色 |
| QA | 测试清单 | 所有 P0 验收标准有用例、边界/异常全覆盖 |
命名规范 {日期}_{模块}_{产物}_{版本}.md,代码版本由 Git 管。
🚪 入口判定:个人项目最关键的提效点
不要每个需求都走完整流程。 按你这次的意图切入:
| 你说的话 | 切入角色 |
|---|---|
| “想加个新功能” | RD,走完整链 |
| “写需求文档/验收标准” | PM |
| “设计技术方案” | ARCH |
| “写代码/实现这个功能” | DEV |
| “改个 bug” | DEV(涉及数据模型 → 回退 ARCH) |
| “调个颜色/间距” | DEV,不触发上游 |
再配合规模路由:S 级(1-2 文件)直接改 → 编译验证;M 级走 Plan;L 级(新模块)才走完整链。流程是给大功能用的,小改走走流程就是浪费生命。
🧱 个人项目也要有的工程纪律
这几条成本极低、收益极高:
- Git 基线:项目第一个动作
git init+ 基线提交。没有 Git 的个人项目 = 没有后悔药 - 工程文件真源:用 XcodeGen 就改
project.yml;不用的项目**禁止手动编辑.pbxproj**——Xcode 15+ 的文件系统同步组和手改冲突会直接损坏工程 - 克制单例:新增能力优先独立 Service,别往全局 Manager 堆职责,上帝对象成型后拆分成本指数上升
- 设计系统收口:颜色一律走
AppColors,新增先登记,禁止散落硬编码 hex - 每次改动后真机编译验证,不留”理论正确”的代码
🤖 多 AI 协作:防断片三件套
个人项目经常多个 AI 工具轮着用(便宜/强项不同),断片和冲突是家常便饭。解法:
1 | AGENTS.md → 项目规范,每个 AI 进项目先读 |
冲突处理:当前 AI 暂停 → 在 AI_BRIDGE 记录方案 A/B 对比 → 人来决策。禁止 AI 之间互相说服、禁止未经确认覆盖另一个 AI 写的文件。
📝 实战坑清单(节选)
- 没有 Git 就开工——改坏了没后悔药
- 直接开写代码不写 PRD——写到一半忘了当初想做什么
- AI 重复声明已有类型——它不记得项目里有什么,新建任何东西前先 grep
- Preview 触发真实网络/写真实数据库——Preview 数据必须 Mock
- SwiftData 双向关系不设 deleteRule——级联误删等着你
- 版权资产随包发布——开发用的测试音视频混入发布构建,上架直接踩雷
- 核心功能没收尾就开新功能——半成品堆积的根源
完整 12 条 + 全部模板见仓库 个人级·独立开发SOP。
💡 写在最后
公司级项目管的是”协作损耗”,个人项目管的是”自我损耗”。这篇是个人级;团队/外包场景的姊妹篇在这里:
⭐ 有用的话欢迎点 Star,也欢迎提 Issue 交流!
相关链接:
- GitHub:github.com/luodeCoding/ios-indie-dev-sop
- 姊妹篇:公司级iOS项目迭代开发SOP
- 相关阅读:用AI写毕业论文的完整踩坑实录