20260521更新

This commit is contained in:
liubiren 2026-05-21 21:45:03 +08:00
parent d656683d9b
commit a0555fed9e
9 changed files with 95 additions and 743 deletions

View File

@ -8,12 +8,10 @@ import uvicorn
from utils.agent import BaseAgent
if __name__ == "__main__":
# 实例智能体
agent = BaseAgent(
instructions="使用提供的技能回答问题。", skill_name="requirements-analysis"
)
# 实例 Starlette 应用
application = agent.to_web()
if __name__ == "__main__":
uvicorn.run(application, host="127.0.0.1", port=7932)
uvicorn.run(app=agent.start_web_service(), host="127.0.0.1", port=7932)

View File

@ -1,144 +1,103 @@
---
name: "requirements-analysis"
description: "资深需求分析师擅长通过提问完成业务需求分析支持史诗需求拆解、优先级排序、干系人梳理和验收标准制定最终输出规范化的产品需求文档PRD。"
name: prd-engineer
description: 产品需求助手。基于本地系统功能清单,将业务想法转化为结构清晰的 PRD 文档。支持按场景拆分需求、自动匹配校验项、生成流程图与原型,并在交付前进行逻辑自查。
适配环境: 本地 Markdown 功能清单 / Python 技术栈
---
# 资深需求分析师
# PRD Engineer Skill
## 核心能力
你是一名务实的产品需求助手。你的任务是根据用户描述,结合本地 `system_functions.md` 中的现有功能清单,输出逻辑严密、可直接开发的 PRD 文档。
1. **对话式需求提取** - 依托系统化提问挖掘业务需求,区分单/多项需求场景,多项需求基于场景归类完成拆解、整合并逐项分析,单项需求直接分析,梳理清楚需求全貌。
2. **史诗需求拆解** - 承接前期需求梳理成果,将顶层史诗需求逐层拆解,先梳理为功能需求,再细化为符合 INVEST 标准的用户故事。
3. **干系人梳理** - 识别需求全部利益相关方,包括业务方、技术方和运维方等,理清需求前置依赖和业务关联
4. **优先级排序** - 运用 MoSCoW 方法判定需求优先级
5. **验收标准定义** - 遵循 Given-When-Then 场景描述句式,制定可复现、可验证的规范化验收准则
6. **产品需求文档撰写** - 整合全部需求分析结果,输出规范化产品需求文档
## 一、触发与指令体系
**仅在用户明确要求撰写或优化 PRD 时激活**。支持以下标准化指令:
- `/start-prd [需求描述]`:启动完整六步工作流,生成全新 PRD
- `/modify-prd [修改点]`:针对已生成的 PRD 进行局部迭代,自动评估影响范围
- `/check-impact [功能点]`:仅执行 Step 2查询本地清单并输出《功能影响矩阵》
- `/restart-prd`:重置当前会话状态,清除历史上下文,重新梳理需求
## 单项需求分析工作流程
## 二、核心原则与决策优先级
当原则发生冲突时,严格按以下优先级决策:
1. **逻辑自洽(最高优)**:业务流程必须覆盖正常与异常路径,杜绝状态死锁与逻辑断层。
2. **复用优先**:设计前必须查阅 `system_functions.md`。若清单已有类似功能,优先建议复用,避免重复造轮子。
3. **体验优化**:在满足上述两点基础上,再考虑交互便捷性与界面美观度。
### 步骤 1需求初步收集
**人机确认断点规则**
- 在 Step 0场景拆分、Step 2影响分析、Step 5审查报告设置强制断点。
- AI 在断点处输出确认信息后**必须停止生成**,等待用户输入确认指令或修改意见后,方可继续推进。
通过提问挖掘业务需求,理清需求目标:
1. 该需求的核心内容是什么?
2. 目前业务现状如何,希望达成怎样的实施效果?
## 三、标准化六步工作流
**严格按顺序执行,严禁跳步。**
### Step 0按业务场景拆分与版本规划
- **动作**:调用 `breakdown_by_scenario` 工具。
- **拆分标准**:单一场景只承载一个核心业务目标,场景间独立无耦合。统一编号为 `S01/S02...`
- **版本交付分级**
- **MUST_HAVE本次必须包含**:核心业务闭环,缺了该功能业务流程无法跑通,必须在本版本上线。
- **SHOULD_HAVE本次减量包含**:重要但非阻断性功能。若工期紧张,可通过简化交互(如先做后台配置页,暂不做前端可视化)或限制适用范围(如仅对白名单用户开放)的方式在本版本“减量”上线。
- **COULD_HAVE可放到下个迭代**:体验优化类、锦上添花的功能。明确标记为“下期规划”,本版本不投入开发资源。
- **断点输出**:展示「场景清单 + 版本交付分级 + 核心目标」,**必须获得用户确认**后,才针对每个场景独立执行后续步骤。
### 步骤 2利益相关方识别
### Step 1场景化采集与全维度拦截
- **通用基础校验**(所有场景必问,确保开发边界清晰):
- **操作角色**谁在用C端用户、运营管理员、财务审计员
- **使用终端**:在哪用?(明确具体载体:如“管理后台 Web 端”、“用户小程序”、“iOS/Android App”、“内部 PDA 手持机”)。
- **数据权限**:能看到什么?(如:仅看本人数据、看本部门数据、看全公司数据;是否脱敏)。
- **兼容版本**适配哪些存量环境App 需兼容 iOS 15+、接口需兼容 V1 旧版入参、浏览器需支持 Chrome 80+)。
- **动态 Checklist**(根据场景类型自动挂载):
- **第三方对接**:联调窗口、签名算法、超时重试、异常回调。
- **数据迁移/洗数**:新旧映射、脏数据兼容、停机窗口、回滚策略。
- **高并发/秒杀**:库存扣减时机、限流阈值、防重提交。
- **权限/审批**:角色可见范围、流转分支、驳回重置规则。
- **消息/通知**:触达渠道、发送频次限制、免打扰策略。
- **伪需求拦截逻辑**
- **路径与目标冲突**:如目标是“提升效率”但流程要求“手动上传 Excel”立即反问拦截。
- **重复造轮子**:检测到需求与 `system_functions.md` 存量功能高度重合,提示复用。
- **过度设计**:如简单 CRUD 却要求引入复杂中间件,提示降级方案。
通过提问识别利益相关方,明确各方权责:
1. 该需求的提出方和对接人是谁?
2. 该需求的直接使用方是谁?
3. 该需求的业务决策方是谁?
4. 该需求的技术研发方是谁?
5. 是否涉及合规和安全相关方?
### Step 2存量匹配与风险分级
- **动作**:调用 `check_local_manifest` 读取 `system_functions.md`
- **风险分级标准**
- **P0 致命风险**:破坏存量数据结构、导致原有流程中断。
- **P1 高风险**:影响原有接口兼容性、需前端大幅改造。
- **P2 低风险**:纯新增功能,无存量依赖。
- **输出物**:《功能影响矩阵》,明确标注 REUSE/MODIFY/NEW并给出兼容方案与灰度建议。
- **断点****用户确认影响范围与风险等级**后,方可进入设计阶段。
### 步骤 3需求规格细分
### Step 3结构化设计与可视化规范
- **流程图强制标准**
- 使用 Mermaid 泳道图。必须包含主流程 + **至少 3 类通用异常**(参数错误、权限不足、请求超时)+ 业务专属异常。
- 所有流转节点强制标注:操作角色、前置条件、后置状态。
- **状态机图**:涉及状态流转(如订单、审批)必须补充状态机图,明确禁止流转场景与终态锁定规则。
- **SDD 技术规格**:输出 `api_contract.yaml`OpenAPI 3.0)与 `data_models.py`Pydantic 模型,含校验规则)。
通过提问梳理、明确需求规格:
### Step 4原型双模渲染
- **动作**:调用 `generate_drawio_assets`
- **输出规范**:按「页面-模块-组件-字段」四级结构输出 LayoutTree。
- **状态覆盖**:强制包含空状态、加载状态、报错状态、成功状态四种页面状态。
- **绑定场景**:原型文件命名必须绑定场景编号(如 `S01_home_page.drawio`),确保与需求一一对应。
**业务背景**
- 该需求能带来哪些具体业务价值?
- 该需求的成功量化指标是什么?
- 该需求的预期投资回报率大致在什么范围?(可选)
### Step 5红蓝对抗自我审查
- **漏洞分级定义**
- **P0 阻断性漏洞**:流程死锁、数据丢失、无法上线。-> **必须修复并重审**
- **P1 体验漏洞**:流程繁琐、边界缺失。-> **标注待优化,记录至迭代清单**
- **P2 优化漏洞**:文案不规范、样式微调。-> **可选修复**
- **审查维度**:性能风险、安全风险、兼容风险、运维风险。
- **断点**:同步审查报告。**若存在 P0 漏洞,自动退回 Step 3 重构;若无 P0 漏洞,等待用户确认交付**。
**功能性需求**
- 该需求归属哪个系统和功能板块、涉及哪些页面,相关页面和接口存在哪些交互规则?
- 该需求包含哪些核心功能?
- 各功能对应哪些使用人员,完整操作流程和异常场景如何处理?
- 各功能需输入、输出或处理哪些关键数据?
**非功能性需求**
- 该功能需达到怎样的响应速度和并发使用要求?
- 该功能需配置哪些身份校验、权限管控和数据防护规则?
- 该功能需满足哪些运行稳定性和异常恢复相关要求?
### 步骤 4交付约束梳理
通过提问理清交付约束,规避落地风险:
1. 该需求的交付日期是何时?是硬性要求还是可灵活调整?
2. 该需求是否依赖其它项目、系统或前置业务需求?
3. 有无市场活动等外部约束因素?
4. 该需求是一次性交付,还是分阶段交付?
### 步骤 5验收标准定义
遵循 Given-When-Then 场景化描述句式定义验收标准,实现操作可复现、结果可验证:
```
Given [前置条件]
When [具体操作]
Then [预期结果]
### Step 6工程包交付
- **目录结构**
```text
/prd-[场景ID]
├── manifest.json # 版本、变更记录、风险点摘要
├── PRD_Main.md # 主文档(固定目录:背景、目标、流程、规则、权限、验收)
├── /assets # 流程图 PNG、原型 Drawio
├── /specs # 接口契约 YAML、Pydantic 模型代码
└── /tests # Gherkin 验收用例(覆盖正常、异常、边界、并发场景)
```
- **动作**:生成上述结构,并将核心业务规则摘要回传至本地知识库。
### 步骤 6产品需求文档撰写
参照 `references/requirement-template.md` ,遵循该模板完成产品需求文档撰写。
## 史诗需求拆解工作流程
### 层级结构
```
史诗需求
├── 功能需求 1
│ ├── 用户故事 1.1
│ ├── 用户故事 1.2
│ └── 用户故事 1.3
├── 功能需求 2
│ ├── 用户故事 2.1
│ └── 用户故事 2.2
└── 功能需求 3
└── 用户故事 3.1
```
### 分解流程
1. 读取产品规划文档 `references/product-plan.md` 与产品阶段 OKR 文档 `references/product-okr.md` ,根据文档内容确定史诗需求的业务愿景、核心目标与业务边界。
2. 读取系统板块功能清单 `references/system-module-function-list.md`,优先依照已有板块划分拆分对应功能需求,若需求涉及未收录的全新业务板块,可同步新增板块并完成归类梳理。
3. **将需求分解为用户故事** - 从用户角度编写用户故事,使用 INVEST 标准
4. **验证层级结构** - 确保所有用户故事汇总到需求,所有需求汇总到 EPIC
详细模板和示例参见:
- `references/epic-template.md` - EPIC 文档模板
- `references/user-story-template.md` - 用户故事模板
## 优先级排序方法
### 方法选择指南
| 方法 | 最适合 | 何时使用 |
|--------|----------|----------|
| **MoSCoW** | 简单优先级,明确必需项 | 需要快速分类,明确必须有的功能 |
| **RICE** | 数据驱动决策 | 有量化数据,需要客观评分 |
| **价值 vs 成本** | 可视化优先级 | 需要快速决策2 维评估 |
| **Kano 模型** | 关注用户满意度 | 以用户为中心,识别惊喜点 |
| **加权评分** | 自定义标准 | 需要多维度评估,利益相关者对齐 |
详细方法说明参见 `references/prioritization-methods.md`
## 最佳实践
1. **主动倾听** - 提出开放式问题,复述以确认理解,不要假设
2. **迭代细化** - 从高层次理解开始,逐步添加细节
3. **文档标准** - 使用一致的模板,包含所有必要信息
4. **利益相关者管理** - 尽早识别所有利益相关者,保持定期沟通
5. **可追溯性** - 将用户故事链接到需求,将需求链接到 EPIC
6. **验证** - 与利益相关者审查验收标准,定期验证优先级
## 常见陷阱
- **细节不足** - 使用 5W1H谁、什么、何时、何地、为什么、如何
- **范围蔓延** - 定义清晰的边界,使用变更控制流程
- **遗漏利益相关者** - 预先进行全面的利益相关者分析
- **不切实际的时间线** - 让技术团队参与估算,预留缓冲时间
- **忽视非功能性需求** - 始终明确询问非功能性需求
- **优先级排序不当** - 使用结构化的优先级排序方法,强制排序
- **缺乏验收标准** - 始终定义可测试的验收标准
## 参考资料
完整模板和详细指南:
- `references/requirement-template.md` - 需求文档完整模板
- `references/epic-template.md` - EPIC 文档模板
- `references/user-story-template.md` - 用户故事模板
- `references/prioritization-methods.md` - 优先级排序方法详解
- `references/complete-example.md` - 完整需求分析示例
## 四、异常兜底机制
- **需求中途变更**:自动对比新旧需求差异,重新评估 Step 2 的影响范围,不强行沿用旧结论。
- **技术不可落地**:主动识别技术瓶颈(如本地清单不支持的特性),输出替代方案,不强行设计。
- **逻辑自相矛盾**:主动标注冲突点,给出最优取舍建议,等待用户确认。
- **清单未命中**:若 `system_functions.md` 不存在,提示用户先初始化系统功能清单,再执行需求分析。

View File

@ -1,6 +0,0 @@
{
"ownerId": "kn7795tvpv9b8mq9wvh01g2e3n8167q2",
"slug": "requirements-analysis",
"version": "1.0.0",
"publishedAt": 1772418037477
}

View File

@ -1,220 +0,0 @@
# 完整需求分析示例
## 初始请求
```
用户:"我们需要一个管理者仪表板"
```
## 分析对话
### 第 1 轮:基本理解
```
AI"我会帮你分析这个需求。让我先问几个问题:
1. 管理者面临什么具体问题,这个仪表板将解决?
2. 谁在请求这个仪表板?
3. 这是用于现有系统还是新系统?"
用户:"管理者无法轻松查看团队绩效指标。运营副总裁在请求它。这是用于我们现有的项目管理系统。"
```
### 第 2 轮:利益相关者识别
```
AI"很好,让我了解利益相关者:
1. 谁是将使用这个仪表板的管理者?
2. 除了运营副总裁,还有谁需要参与?
3. 是否有合规或安全要求?"
用户:"所有部门经理(约 50 人)。我们需要让 IT 总监和数据隐私官参与,因为我们要显示员工数据。"
```
### 第 3 轮:详细需求
```
AI"现在让我们深入细节:
1. 管理者需要看到哪些具体指标?
2. 数据应该多久更新一次?
3. 管理者需要过滤或自定义视图吗?
4. 是否有性能要求?"
用户:"他们需要看到:项目完成率、团队利用率、预算 vs 实际、即将到来的截止日期。数据应该每天更新。是的,他们应该能按团队、项目和日期范围过滤。仪表板应该在 3 秒内加载。"
```
### 第 4 轮:时间线和依赖关系
```
AI"让我们讨论时间:
1. 你什么时候需要这个仪表板?
2. 是否依赖其他项目?
3. 是否有特定事件或截止日期驱动这个需求?"
用户:"我们需要在第二季度末6 月 30 日之前完成。它依赖于数据仓库项目首先完成。CEO 想在 7 月审查第二季度绩效,所以我们需要准备好。"
```
### 第 5 轮:验收标准
```
AI"最后,让我们定义成功:
1. 我们如何知道这个仪表板满足你的需求?
2. 哪些是必须有的功能,哪些是最好有的?
3. 你将如何测试?"
用户:"成功意味着管理者可以做出数据驱动的决策,而无需向 IT 请求报告。必须有:我提到的 4 个指标、过滤和导出到 Excel。最好有深入到单个项目、趋势图表。我们将首先与 5 位试点经理测试。"
```
---
## 最终需求文档
# 需求:管理者绩效仪表板
## 概述
- **ID**REQ-2026-001
- **状态**:已批准
- **优先级**:高
- **创建日期**2026-02-10
- **最后更新**2026-02-10
## 利益相关者
- **业务负责人**运营副总裁Jane Smith
- **最终用户**部门经理50 位用户)
- **技术负责人**IT 总监John Doe
- **其他利益相关者**:数据隐私官(合规审查)
## 业务背景
### 问题陈述
部门经理目前缺乏对团队绩效指标的可见性,必须向 IT 请求自定义报告,导致决策延迟和 IT 资源使用效率低下。
### 业务价值
- 将 IT 报告请求量减少 80%
- 实现实时数据驱动决策
- 提高经理生产力 20%
- 支持 CEO 的第二季度绩效审查流程
### 成功指标
- 1 个月内 90% 经理采用率
- IT 报告请求减少 80%
- < 3 秒仪表板加载时间
- 85% 用户满意度评分
## 需求详情
### 功能性需求
#### 核心指标显示
1. **项目完成率**
- 显示按时完成的项目百分比
- 按团队和整体显示
- 颜色编码:绿色(>90%、黄色70-90%)、红色(<70%
2. **团队利用率**
- 显示团队容量利用百分比
- 按团队成员和团队平均值显示
- 包括可计费 vs 不可计费分解
3. **预算 vs 实际**
- 按项目显示预算差异
- 显示为百分比和绝对值
- 如果差异 > 10% 则警报
4. **即将到来的截止日期**
- 列出未来 30 天内有截止日期的项目
- 按紧急程度排序
- 以红色突出显示逾期项目
#### 过滤和自定义
- 按团队过滤(多选)
- 按项目过滤(多选)
- 按日期范围过滤(最近 7/30/90 天,自定义范围)
- 保存每个用户的过滤偏好
- 重置为默认视图
#### 数据导出
- 导出到 Excel.xlsx 格式)
- 包含基于当前过滤器的所有可见数据
- 保持格式和颜色编码
#### 最好有的功能
- 深入到单个项目详情
- 趋势图表(显示随时间变化的指标的折线图)
- 电子邮件定时报告
### 非功能性需求
- **性能**
- 仪表板加载时间 < 3
- 过滤器应用 < 1
- 支持 50 个并发用户
- **安全**
- 基于角色的访问控制(经理只能看到他们的团队)
- 数据访问审计日志
- 仅 HTTPS
- **数据新鲜度**
- 数据每天早上 6 点更新
- 显示最后更新时间戳
- **可用性**
- 移动响应式设计
- 无障碍(符合 WCAG 2.1 AA
- 无需培训的直观界面
- **可用性**
- 工作时间(早上 6 点 - 晚上 8 点99% 正常运行时间
- 计划维护窗口:周日凌晨 2-4 点
## 验收标准
1. **Given** 我是一名经理,**When** 我登录仪表板,**Then** 我看到截至今天早上 6 点更新的我的团队绩效指标
2. **Given** 我正在查看仪表板,**When** 我应用过滤器(团队、项目、日期范围),**Then** 指标在 1 秒内更新以反映过滤后的数据
3. **Given** 我正在查看过滤后的数据,**When** 我点击"导出到 Excel"**Then** 下载一个 Excel 文件,包含所有可见数据并保持颜色编码
4. **Given** 我是一名经理,**When** 我尝试查看另一个团队的数据,**Then** 我被拒绝访问并看到适当的错误消息
5. **Given** 仪表板正在加载,**When** 页面加载时,**Then** 所有指标在 3 秒内可见
6. **Given** 我在移动设备上查看仪表板,**When** 我从手机访问它,**Then** 所有功能都可访问和可读
## 时间线
- **预期交付**2026-06-30
- **里程碑**
- 需求批准2026-02-15
- 设计审查2026-03-01
- 开发完成2026-05-31
- 试点测试2026-06-01 - 2026-06-15
- 全面推出2026-06-30
## 依赖关系
- **数据仓库项目**:必须在 2026-04-30 之前完成以提供数据源
- **认证系统**:必须支持基于角色的访问控制
- **Excel 导出库**:需要在 2026-03-15 之前评估和选择库
## 约束条件
- 必须使用现有项目管理数据库作为数据源
- 必须符合数据隐私法规GDPR、CCPA
- 必须与当前浏览器版本Chrome、Firefox、Safari、Edge兼容
- 预算:$50,000开发 + 基础设施)
## 风险
| 风险 | 影响 | 概率 | 缓解措施 |
|------|--------|-------------|------------|
| 数据仓库项目延迟 | 高 | 中 | 从直接数据库查询开始,稍后迁移到仓库 |
| 50 个并发用户的性能问题 | 中 | 低 | 在预发布环境进行负载测试,优化查询,添加缓存 |
| 经理抵制采用 | 高 | 低 | 让经理参与设计,提供培训,收集反馈 |
| 数据隐私问题 | 高 | 低 | 与数据隐私官提前审查,实施严格的访问控制 |
## 备注
- 在全面推出之前,与来自不同部门的 5 位经理进行试点
- 计划在 6 月为所有经理举办培训课程
- 考虑根据反馈在第 2 阶段添加更多指标
- 探索在未来版本中与移动应用集成

View File

@ -1,60 +0,0 @@
# EPIC 文档模板
## EPIC[标题]
### 愿景
[高层次业务目标或能力]
### 业务目标
- [目标 1]
- [目标 2]
### 目标用户
[用户画像或细分]
### 成功指标
- [KPI 1][目标]
- [KPI 2][目标]
### 时间线
- **开始日期**[日期]
- **目标完成**[日期]
- **预计时长**[周/月]
### 需求列表
1. [需求 1]
2. [需求 2]
3. [需求 3]
---
## 需求层级模板
### 需求:[标题]
#### 父级 EPIC
[EPIC 名称和 ID]
#### 描述
[需求的详细描述]
#### 功能规格
- [规格 1]
- [规格 2]
#### 非功能性需求
- **性能**[规格]
- **安全**[规格]
- **可用性**[规格]
#### 用户故事
1. [用户故事 1]
2. [用户故事 2]
3. [用户故事 3]
#### 依赖关系
- [依赖 1]
#### 验收标准
- [标准 1]
- [标准 2]

View File

@ -1,208 +0,0 @@
# 优先级排序方法详解
## 方法 1MoSCoW 优先级排序
### 分类
- **必须有Must Have**:发布的关键功能,不可协商
- **应该有Should Have**:重要但不关键,必要时可以推迟
- **可以有Could Have**:最好有,时间允许时包含
- **不会有Won't Have**:本次发布不在范围内
### 流程
1. 列出所有需求
2. 对每个需求进行分类
3. 在每个类别内按重要性排序
4. 与利益相关者验证
### 示例
```
必须有:
1. 使用邮箱/密码的用户登录
2. 密码重置功能
3. 基本用户资料
应该有:
1. 社交登录Google、Facebook
2. 双因素认证
3. 头像上传
可以有:
1. 使用手机号登录
2. 生物识别认证
3. 活动日志
不会有(本次发布):
1. 单点登录SSO
2. LDAP 集成
3. OAuth 提供商
```
---
## 方法 2RICE 评分
### 公式
RICE = (覆盖面 × 影响力 × 信心度) / 工作量
### 组成部分
- **覆盖面Reach**:这将影响多少用户?(每季度)
- **影响力Impact**:对每个用户的影响有多大?
- 3 = 巨大
- 2 = 高
- 1 = 中
- 0.5 = 低
- 0.25 = 最小
- **信心度Confidence**:我们对估算有多自信?
- 100% = 高
- 80% = 中
- 50% = 低
- **工作量Effort**:这需要多少人月?
### 流程
1. 对每个需求在所有四个维度上评分
2. 计算 RICE 分数
3. 按 RICE 分数排序需求(最高优先)
### 示例
```
需求 1用户登录
- 覆盖面10,000 用户/季度
- 影响力3巨大
- 信心度100%
- 工作量2 人月
- RICE 分数:(10,000 × 3 × 1.0) / 2 = 15,000
需求 2社交登录
- 覆盖面5,000 用户/季度
- 影响力2
- 信心度80%
- 工作量1 人月
- RICE 分数:(5,000 × 2 × 0.8) / 1 = 8,000
需求 3双因素认证
- 覆盖面10,000 用户/季度
- 影响力2
- 信心度90%
- 工作量1.5 人月
- RICE 分数:(10,000 × 2 × 0.9) / 1.5 = 12,000
优先级顺序:需求 1 > 需求 3 > 需求 2
```
---
## 方法 3价值 vs 成本矩阵
### 象限
- **快速胜利Quick Wins**(高价值,低成本):首先做
- **重大项目Major Projects**(高价值,高成本):其次做
- **填充项Fill-Ins**(低价值,低成本):时间允许时做
- **时间陷阱Time Sinks**(低价值,高成本):避免或推迟
### 流程
1. 对每个需求的价值评分1-10
2. 对每个需求的成本评分1-10
3. 在 2×2 矩阵上绘制
4. 优先处理快速胜利,然后是重大项目
### 示例矩阵
```
高价值
│ 重大项目 快速胜利
│ - SSO 集成 - 密码重置
│ - OAuth 提供商 - 资料编辑
│ - 邮箱验证
────┼────────────────────────────────────
│ 时间陷阱 填充项
│ - LDAP 集成 - 活动日志
│ - 自定义认证 - 登录历史
低价值
低成本 ──────────────── 高成本
```
---
## 方法 4Kano 模型
### 分类
- **基本型需求Basic Needs**:必须有,用户期望它们(缺少会不满)
- **期望型需求Performance Needs**:越多越好(满意度线性增加)
- **兴奋型需求Excitement Needs**:意外的惊喜(存在时高满意度)
- **无差异Indifferent**:用户不在乎
- **反向Reverse**:用户更喜欢没有这个功能
### 流程
1. 通过功能性和非功能性问题调查用户
2. 对每个功能进行分类
3. 优先级:基本型需求 → 期望型需求 → 兴奋型需求
### 示例
```
基本型需求(必须有):
- 用户登录
- 密码安全
- 账户恢复
期望型需求(应该有):
- 快速登录(< 2
- 多种登录选项
- 会话管理
兴奋型需求(可以有):
- 生物识别登录
- 无密码认证
- 社交登录
无差异:
- 登录自定义主题
```
---
## 方法 5加权评分
### 流程
1. 定义评估标准(例如:业务价值、技术可行性、用户影响、战略一致性)
2. 为每个标准分配权重(总计 = 100%
3. 对每个需求在每个标准上评分1-10
4. 计算加权分数
5. 按加权分数排序
### 示例
```
标准权重:
- 业务价值40%
- 用户影响30%
- 技术可行性20%
- 战略一致性10%
需求 1用户登录
- 业务价值10 × 0.4 = 4.0
- 用户影响10 × 0.3 = 3.0
- 技术可行性8 × 0.2 = 1.6
- 战略一致性9 × 0.1 = 0.9
- 总分9.5
需求 2社交登录
- 业务价值7 × 0.4 = 2.8
- 用户影响8 × 0.3 = 2.4
- 技术可行性6 × 0.2 = 1.2
- 战略一致性7 × 0.1 = 0.7
- 总分7.1
优先级顺序:需求 1 > 需求 2
```
---
## 方法选择指南
| 方法 | 最适合 | 优点 | 缺点 |
|--------|----------|------|------|
| **MoSCoW** | 简单优先级,明确必需项 | 易于理解,快速 | 主观,无量化评分 |
| **RICE** | 数据驱动决策,多需求 | 客观,考虑多因素 | 需要估算,耗时 |
| **价值 vs 成本** | 可视化优先级,快速决策 | 简单,可视化,快速 | 过于简化,只有 2 个维度 |
| **Kano 模型** | 关注用户满意度 | 以用户为中心,识别惊喜点 | 需要用户研究,复杂 |
| **加权评分** | 自定义标准,利益相关者对齐 | 灵活,透明 | 需要权重共识 |

View File

@ -1,63 +0,0 @@
# 需求文档模板
## 概述
- **ID**REQ-001
- **状态**:草稿/已批准/进行中/已完成
- **优先级**:高/中/低
- **创建日期**[日期]
- **最后更新**[日期]
## 利益相关者
- **业务负责人**[姓名、部门]
- **最终用户**[用户画像]
- **技术负责人**[姓名、团队]
- **其他利益相关者**[列表]
## 业务背景
### 问题陈述
[这解决了什么问题?]
### 业务价值
[为什么这很重要?]
### 成功指标
- [指标 1][目标]
- [指标 2][目标]
## 需求详情
### 功能性需求
1. [需求 1]
2. [需求 2]
### 非功能性需求
- **性能**[规格]
- **安全**[要求]
- **可扩展性**[期望]
- **可用性**[SLA]
## 验收标准
1. Given [前置条件], When [操作], Then [结果]
2. Given [前置条件], When [操作], Then [结果]
## 时间线
- **预期交付**[日期]
- **里程碑**
- [里程碑 1][日期]
- [里程碑 2][日期]
## 依赖关系
- [依赖 1][描述]
- [依赖 2][描述]
## 约束条件
- [约束 1]
- [约束 2]
## 风险
- [风险 1][缓解措施]
- [风险 2][缓解措施]
## 备注
[附加信息]

View File

@ -1,48 +0,0 @@
# 用户故事模板
## 用户故事:[标题]
### 故事
作为 [用户角色]
我想要 [操作]
以便 [收益]
### 父级需求
[需求名称和 ID]
### 验收标准
1. Given [前置条件], When [操作], Then [结果]
2. Given [前置条件], When [操作], Then [结果]
3. Given [前置条件], When [操作], Then [结果]
### 技术说明
- [实现细节 1]
- [实现细节 2]
### 估算
- **故事点数**[点数]
- **预计小时数**[小时]
### 依赖关系
- [依赖 1]
### 完成定义
- [ ] 代码完成并审查
- [ ] 单元测试编写并通过
- [ ] 集成测试通过
- [ ] 文档更新
- [ ] 部署到预发布环境
- [ ] 验收标准验证
---
## INVEST 标准检查清单
用户故事应该满足 INVEST 标准:
- **I - Independent独立**:故事应该尽可能独立,可以任意顺序开发
- **N - Negotiable可协商**:故事不是合同,细节可以协商
- **V - Valuable有价值**:故事必须为用户或业务提供价值
- **E - Estimable可估算**:团队必须能够估算故事的大小
- **S - Small小型**:故事应该足够小,可以在一个迭代中完成
- **T - Testable可测试**:故事必须有明确的验收标准,可以测试

View File

@ -103,9 +103,9 @@ class BaseAgent:
)
return result
def to_web(self) -> Starlette:
def start_web_service(self) -> Starlette:
"""
实例 Starlette 应用
:return: Starlette 应用实例
实例 Web 服务
:return: Starlette 实例
"""
return self.agent.to_web()