关于 requirements-specification
requirements-specification 是帮助产品和工程团队把客户洞察整理为可执行规格的技能指南。内容涵盖用户故事、验收标准、需求文档结构及范围管理。
主要功能
- 01按 INVEST 原则编写用户故事
- 02用 BDD 格式定义验收标准
- 03组织需求文档结构
- 04区分 MVP 与后续范围
- 05检查需求清晰度与可测试性
适用场景
- 01把客户需求转化为工程任务
- 02为功能编写可验证的验收条件
- 03评估变更对项目范围的影响
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ nicepkg/ ai-workflow --skill requirements-specification安装后在 Claude Code 中输入/requirements-specification确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/config.yamlreferences/GUIDE.mdscripts/helper.py详细介绍
需求与规格说明技能
将客户洞察转化为清晰、详细且可供工程团队实现的规格说明。掌握用户故事编写、定义验收标准,并严格管理范围。
用户故事编写(INVEST 格式)
INVEST 原则
I - 独立(依赖最少) N - 可协商(细节可讨论) V - 有价值(为客户创造价值) E - 可估算(团队可估算工作量) S - 小型(可在 1–2 个冲刺周期内完成) T - 可测试(成功标准明确)
用户故事模板
As a [user role]
I want [action/capability]
So that [benefit/outcome]
Acceptance Criteria:
Given [context]
When [user action]
Then [expected result]
好例子与坏例子
坏例子:
As a user
I want a better dashboard
So that I can see my data
问题:过于含糊、不可测试、范围太大
好例子:
As a project manager
I want to see all tasks assigned to me in the last 24 hours
So that I can track what happened while I was offline
Acceptance Criteria:
Given I'm logged in
When I view the Home dashboard
Then I see a "Recent Tasks" section
And it shows tasks assigned to me from last 24 hours
And tasks are sorted by assignment time (newest first)
And clicking a task opens the task detail page
验收标准(BDD 格式)
场景模板
Scenario: [Specific user action]
Given [initial context/state]
When [user performs action]
Then [expected result]
And [additional verification]
示例:密码重置功能
Scenario: User resets password with valid email
Given I'm on the login page
And I'm not logged in
When I click "Forgot Password?"
And enter my email address
And click "Send Reset Email"
Then I see message "Check your email for reset link"
And a password reset email is sent to that address
And the email contains a valid reset link
Scenario: User uses expired reset link
Given I received a password reset email
And the reset link is more than 24 hours old
When I click the reset link
Then I see "Link has expired"
And I'm offered to request a new reset link
Scenario: Password doesn't meet requirements
Given I'm on password reset page
When I enter password "123"
Then I see error "Password must be 8+ characters"
And the form doesn't submit
需求文档结构
执行摘要(1 页)
- 功能/产品概述
- 业务目标/背景
- 主要优势
- 时间表
- 成功指标
需求概述(5–10 页)
功能需求
- 系统必须实现的功能
- 功能与能力
- 用户交互
- 数据处理
非功能需求
- 性能(响应时间 < 2s)
- 可扩展性(支持 10K 并发用户)
- 安全性(加密 PII)
- 可用性(99.9% 正常运行时间)
- 无障碍性(符合 WCAG AA)
业务需求
- 构建此产品的原因
- 业务指标
- 客户需求
- 竞争优势
约束
- 技术约束
- 预算约束
- 时间约束
- 资源约束
用户故事与史诗(20–50 页)
结构:
- 史诗: 将相关故事归组的大型计划
- 用户故事: 独立功能(每个史诗包含 10–20 个故事)
- 任务: 工程实施拆分(如有需要)
每个故事包括:
- 故事 ID 和标题
- 作为……我想要……以便……
- 验收标准(3–8 个场景)
- 故事点估算
- 依赖项
- 设计参考(线框图/模型图)
- 备注/说明
用例与流程(10–20 页)
用例模板:
Use Case: [Use Case Name]
Primary Actor: [User role]
Precondition: [State before action]
Main Flow:
1. User does X
2. System responds with Y
3. User does Z
4. System returns result
Alternative Flows:
3a. If data invalid
- System shows error
- User corrects and resubmits
数据模型(10 页)
实体关系图
- 实体(用户、帖子、评论)
- 关系(用户创建帖子)
- 属性(帖子标题、内容、创建日期)
- 主键、外键
UI/线框图(附件)
- 用户界面模型图
- 用户流程与导航
- 关键交互
范围管理
MVP 与锦上添花的功能
MoSCoW 方法:
MUST Have(不可妥协)
- 核心功能
- 缺少这些功能:产品无法运行
- 必须随产品一同发布
- 示例:用户登录、基本内容查看
SHOULD Have(重要但非关键)
- 改善用户体验
- 增加价值
- 时间允许时实现
- 示例:高级搜索、保存的偏好设置
COULD Have(锦上添花)
- 润色功能
- 优先级低
- 有额外时间/预算时实现
- 示例:深色模式、动画
WON'T Have(明确不在范围内)
- 明确留待将来实现
- 有助于对利益相关者说“不”
- 规划到后续版本
- 示例:移动应用(先发布 Web 版)
防止范围蔓延
警示信号:
- “能不能顺便加上……?”
- “如果……会更好”
- “还要不要包括……?”
- “还有一件事……”
应对方式:
- “这是个好主意。我们把它加入 Q2 的路线图吧。”
- “这会增加 3 周时间。你想降低哪个事项的优先级?”
- “这超出了当前范围。记录下来,留待下一阶段。”
变更管理
变更请求流程:
- 记录变更
- 评估影响(时间、复杂度)
- 展示权衡
- 获取利益相关者的决定
- 更新需求文档
- 告知团队
常见陷阱
过于含糊
❌ “提升性能” ✅ “将页面加载时间从 4s 缩短至 2s 以内”
缺少成功标准
❌ “构建仪表板” ✅ “构建显示过去 24h 活跃用户数且准确率达到 95% 的仪表板”
缺少上下文
❌ “修复这个漏洞” ✅ “使用特殊字符搜索时,结果会显示错误。修复处理逻辑,使其能正确处理特殊字符。”
过度指定
❌ “使用 Redux 和 saga 中间件进行状态管理” ✅ “状态变更必须可追踪且可调试”
验收标准含糊
❌ “系统应该很快” ✅ “API 响应时间:第 95 百分位小于 200ms”
需求评审清单
- ✓ 每项需求都可测试
- ✓ 没有需求指定实现方式
- ✓ 已识别并记录依赖项
- ✓ 验收标准清晰完整
- ✓ 工程团队已估算工作量
- ✓ 已提供设计模型
- ✓ 已记录数据模型
- ✓ 已考虑边缘情况
- ✓ 已明确定义范围(MVP 与未来规划)
- ✓ 已确定成功指标
- ✓ 时间安排切实可行
- ✓ 已由工程负责人评审
- ✓ 已由设计负责人评审
- ✓ 已与利益相关方达成一致
故障排除
常见错误与解决方案
| 错误 | 可能原因 | 解决方案 |
|---|---|---|
| Story 太大 | 被写成了 Epic | Story 拆分 |
| AC 含糊 | 标准模糊 | Given/When/Then 格式 |
| 范围蔓延 | 没有变更管理 | 变更请求流程 |
| 缺少边缘情况 | 只关注正常流程 | 边缘情况研讨会 |
调试清单
[ ] Her story INVEST criteria geçiyor mu?
[ ] Acceptance criteria testable mı?
[ ] Non-functional requirements tanımlı mı?
[ ] Dependencies documented mı?
[ ] Engineering review yapıldı mı?
恢复流程
- 需求含糊 → 澄清会议
- 范围蔓延 → 权衡矩阵
- 缺少可行性评估 → 工程可行性探测
编写清晰的需求,避免 90% 的项目问题!
评论
支持 Markdown