哲学与思维方式
"LeanSpec 是一种思维方式,而不是一种格式。"
除了第一原则之外,有效实践 LeanSpec 还需要采用关于规范应该如何工作的关键心智模型和信念。
AI 协同创作的心智模型
当 AI 协助编写规范(而不仅仅是根据规范实现)时,三种心智模型指导规范如何融入您的工作流程:
规范作为检查点(主要模型)
什么是:在开发对话的关键决策点形式化意图。
工作流程:
- 与 AI 对话 - 探索选项,澄清需求,迭代设计
- 识别检查点 - 当设计足够清晰可以形式化时
- 固化为规范 - AI 起草初始规范,人类完善
- 从规范继续 - 规范成为实现的契约
何时使用:
- 与 AI 澄清复杂设计后
- 开始多阶段实现之前
- 准备好承诺某种方法时
- 在继续前进之前捕获决策
示例:您与 AI 讨论 API 设计 15 分钟,澄清约束和权衡,然后在实现开始之前将商定的设计形式化为规范。
规范作为工件(正式文档)
什么是:持续存在于即时工作之外的持久文档。
目的:
- 未来修改的参考
- 新团队成员的入职材料
- 合规和审计跟踪
- 机构知识捕获
何时使用:
- 影响多个系统的架构决策
- 需要合规文档的功能
- 其他人将扩展的复杂设计
- 需要未来参考的工作
示例:支付处理规范,记录安全决策、PCI 合规方法和集成模式,供未来开发人员参考。
规范作为上下文(活文档)
什么是:随着实现一起发展的演进上下文。
特征:
- 随着理解的增长迭代更新
- 反映当前现实,而不仅仅是初始计划
- 桥接持续的人机协作
- 捕获学习和完善
何时使用:
- SDD 风格的迭代开发
- 具有新兴需求的复杂功能
- 具有多次迭代的长期工作
- 当规范作为活跃项目记忆时
示例:重构规范随着您发现新模式而演变,在您做出决策时记录它们,并捕获什么有效与什么无效。
选择您的心智模型
大多数规范经历这些阶段:
- 从检查点开始 - 将对话形式化为规范
- 演变为上下文 - 随着实现教给您的东西而更新
- 结束为工件 - 归档为参考文档
关键见解:这些不是单独的方法——它们是规范生命周期的阶段。从简单开始(检查点),自然演变(上下文),完成为文档(工件)。
对于 AI 辅助创作:
- AI 帮助起草检查点(构建您的想法)
- AI 帮助维护上下文(在您学习时更新)
- 人类确保工件质量(完善以提高清晰度)
LeanSpec 思维方式
要有效实践 LeanSpec,请采用这些核心态度:
从为什么开始
每个规范都应该回答:"为什么这项工作存在?"
- 我们在解决什么问题?
- 为什么这很重要?
- 为什么是现在?
没有明确的答案,这项工作可能不值得做。
拥抱"足够好"
完美主义是精益规范的敌人。
- 快速发布"足够好"的规范
- 从实际工作中获得反馈
- 根据学到的东西进行完善
- 持续迭代
一个永远不写的完美规范是毫无价值的。一个推动工作前进的不完美规范是有价值的。
质疑每个词
在写任何东西之前,问:"这增加了清晰度吗?"
如果没有,就不要写。
- 冗长的解释 → 简短、清晰的陈述
- 详尽的边缘情况 → 仅关键场景
- 学术形式 → 对话清晰度
- 全面的参考 → 基本链接
将其视为活文档
规范不是刻在石头上的契约。它们是不断发展的活指南。
- 随着学习更新规范
- 在做出决策时捕获它们
- 反映现实,而不仅仅是计划
- 工作完成后归档
过时的规范比没有规范更糟糕。
为扫描而设计
人们(和 AI 代理)在阅读之前先扫描。
构建规范以便快速理解:
- 使用清晰的标题
- 保持章节简短
- 使用要点
- 突出显示关键信息
- 在有帮助的地方添加视觉元素(表情符号、徽章)
如果有人不能在 2 分钟内理解您的规范,它可能太长了。
核心信念
LeanSpec 方法由四个基础信念指导:
1. 文档是手段,而不是目的
目标不是创建全面的文档。目标是实现有效的行动。
- 规范的存在是为了促进理解和决策
- 如果没有人阅读或使用规范,它就失败了——无论它有多彻底
- 交付给用户的价值 > 文档的完整性
2. 上下文胜过全面性
捕获某事为什么重要比详尽记录它是什么更有价值。
- 理解问题比详细说明解决方案更重要
- "为什么"很少改变,但"如何"不断发展
- 上下文实现良好决策;详尽的细节很快过时
3. 规范应该减轻负担,而不是制造负担
传统规范通常成为负担(太长无法阅读,太复杂无法维护,太僵化无法适应)。
LeanSpec 规范应该:
- 只需几分钟就能阅读
- 易于保持最新
- 随项目发展
- 邀请协作
4. AI 改变了一切
在 AI 辅助开发时代,规范具有双重目的:
- 人类沟通:协调团队理解
- AI 上下文:为 AI 编码代理提供清晰方向
AI 代理从与人类相同的品质中受益:清晰、简洁的写作,具有具体示例、明确边界和可测试标准。
在精益和完整之间取得平衡
目标不是尽可能少写。目标是写必要的量。
有些功能很复杂,需要详细的规范。这没关系。问题不是"我能把这个写得多短?"而是"理解所必需的是什么?"
何时添加更多细节
在以下情况下添加细节:
- 复杂性需要它
- 模糊会导致问题
- 需要跨团队协调
- 技术约束至关重要
- 失败的后果很严重
何时削减细节
在以下情况下削减细节:
- 对您的受众来说很明显
- 很容易在其他地方发现
- 在工作开始前可能会改变
- 与核心目标无关
- 是以后的实现细节
AI 辅助规范创作
AI 可以帮助编写规范,而不仅仅是根据规范实现。这创建了一个协作工作流程:
人类提供:
- 意图和上下文("我们为什么要这样做?")
- 约束和权衡("存在哪些限制?")
- 成功标准("我们如何知道它完成了?")
- 完善和编辑(执行 LeanSpec 原则)
AI 提供:
- 初始结构和草稿
- 将简要说明扩展为章节
- 示例和测试用例
- 格式化和组织
结果:更快的规范创建,同时仍然保持人类对重要事项的判断。AI 处理结构,人类确保清晰度和意图。
关键:第一原则在 AI 辅助创作中更加重要。没有人类审查,AI 倾向于冗长(违反信噪比)和实现焦点(违反意图优于实现)。您的角色是确保规范保持精益和有目的。
成功标准
您如何知道自己是否有效地实践 LeanSpec?
自我检查问题
上下文经济:
- 有人能在 5-10 分钟内阅读这个规范吗?
- 每个规范文件是否少于 400 行?
- 如果没有,它是否被分成了重点子规范?
信噪比:
- 每个句子都告知一个决策吗?
- 我能解释每个部分启用什么决策吗?
- 我是否已经削减了"很高兴知道"与"需要知道"?
意图优于实现:
- "为什么"清楚吗?
- 权衡解释了吗?
- 没有我,有人能做出好决定吗?
桥接差距:
- 人类和 AI 都能理解这个吗?
- 是否有清晰的结构 + 自然语言?
- 需要的地方是否包含示例?
渐进式披露:
- 我是否只添加了我现在需要的?
- 我是否在解决当前的痛苦,而不是未来的"假设"?
- 这能自然增长而不需要重写吗?
您的规范成功如果:
✅ 它们被阅读 - 人们实际上(全程)阅读它们
✅ 它们被使用 - 它们为实际开发工作提供信息
✅ 它们保持最新 - 随着项目发展而更新
✅ 它们实现自主 - 开发人员可以在没有持续澄清的情况下工作
✅ 它们促进 AI - AI 代理可以从中实现功能
✅ 它们老化良好 - 即使在实现后仍然有用
您的规范失败如果:
❌ 人们说"太长;没读"(too long; didn't read)
❌ 开发人员忽略它们并要求澄清
❌ 它们很快过时
❌ 它们产生的问题多于答案
❌ AI 代理误解它们
❌ 在初始审查后从未被引用
底线
LeanSpec 是一种思维方式,而不是一种格式。
专注于:
- 为什么优于什么
- 清晰度优于完整性
- 行动优于文档
- 演变优于完美
如果您的规范帮助人们(和 AI 代理)更快地构建更好的软件,您就做对了 LeanSpec。
下一步:探索编写 AI 可执行的规范中的实用日常技术,或了解何时使用 LeanSpec。