Shell Engineering 工程
SDD (规范驱动开发)——先写 SEPC,再写代码。
模糊想法
↓
需求:需求澄清 → 需求简报
↓
SPEC:规范生成 → 初版 SPEC → 二次澄清
↓
Agent 开发:plan → tasks → implement → converge
↓
部署上线项目宪章(长期原则)
↓ 约束
SPEC → plan → tasks → implement → convergeSPEC 应该写清楚什么
ˇ
| 内容 | 要回答的问题 |
|---|---|
| 背景、目标与范围 | 为什么要做这项功能?希望解决什么问题?第一版包含什么?明确不包含什么? |
| 用户角色与用户场景 | 谁会使用?用户要完成什么样的任务?最重要的是使用路径是什么? |
| 功能要求与业务规则 | 系统必须提供哪些能力?在不同的矫健下应该怎样处理? |
| 领域实体与数据语义 | 系统中有哪些重要对象?它们有什么属性、关系和状态?这里描述业务对象,不是数据表结构 |
| 非功能要求与约束 | 对性能、可靠性、安全、平台、部署、成本等有哪些明确的要求? |
| 流程、状态与边界 | 正常流程怎样走?状态如何变化?输入为空、重复、无效或失效时怎么办? |
| 验收场景与成功标准 | 用什么具体的场景判断功能做对了?用户和项目希望看到什么可度量的结果? |
| 假设与依赖 | 这份 SPEC 文档建立在什么前提上?依赖哪些外部条件?领域复杂时,关键术语如何定义? |
技术方案:plan 是核心
一份完整的技术方案,通常包含八个维度,个人经验,仅供参考
- 基座选型
- 开发工具
- 技术选型
- 运行环境
- 数据存储
- 对外服务
- 外部交互
- 交付物形态
