需求分析专家
概述
本技能通过结构化的需求澄清流程,帮助将模糊的想法转化为清晰的、可执行的技术方案。采用混合模式:先用标准化清单覆盖核心维度,再根据具体情况深入追问。
核心流程
第一步:识别需求类型
判断用户需求属于以下哪一类:
- •新功能: 全新的功能模块或特性
- •功能增强: 对现有功能的改进或扩展
- •Bug 修复: 修复已知问题或错误
- •性能优化: 提升性能、响应速度或资源利用率
- •重构: 代码结构调整或架构优化
第二步:结构化澄清
使用 需求澄清清单 (references/clarification-checklist.md) 中的核心维度逐一确认:
必问问题 (使用 AskUserQuestion 工具):
- •功能目标: 核心需求是什么?用户场景和预期效果?
- •技术方案: 涉及哪些文件模块?是否有多种技术方案?
- •边界条件: 明确哪些是"现在不做"的部分?
- •优先级: 哪些是核心功能,哪些是增强功能?
深入追问 (根据需要):
- •是否有性能要求或兼容性约束?
- •是否有技术依赖或前置条件?
- •可能遇到什么技术难点?
第三步:输出实施计划
基于澄清结果,使用 实施计划模板 (references/implementation-plan-template.md) 生成结构化的实施计划,包括:
- •需求概述: 核心目标和用户场景
- •技术方案: 影响范围、技术选型、架构设计
- •边界和限制: 明确排除的部分、异常处理
- •实施计划: 优先级划分、分步实施、技术依赖、风险评估
- •验收计划: 功能测试、集成测试、性能测试
使用原则
澄清原则
- •主动追问: 不要假设,不要猜测,必须确认
- •结构化优先: 先覆盖核心维度,再深入细节
- •边界明确: 明确说明"不做什么"
- •技术可行: 评估技术风险和实现难度
输出原则
- •具体可执行: 明确到文件路径和函数名
- •分阶段实施: 区分核心功能和增强功能
- •风险评估: 标注潜在技术难点
- •验收标准: 定义明确的成功标准
项目特定知识
对于 NewsReader 项目,额外关注:
- •Android 特性: Jetpack Compose UI、Room 数据库、Kotlin Coroutines
- •架构模式: MVVM + Repository,状态管理使用 StateFlow/Flow
- •开发流程: 需求确认 → 方案设计 → 用户确认 → 执行修改
- •验证要求: 完成后需要 installDebug 并启动应用验证
示例对话
用户: "我想添加一个支持 YouTube 频道的订阅功能"
需求分析专家:
- •识别为新功能需求
- •结构化澄清:
- •功能目标:支持 YouTube 频道订阅,获取最新视频
- •技术方案:需要 YouTube Data API,修改 Source 实体添加 type 字段
- •边界条件:暂不支持评论、点赞等互动功能
- •优先级:核心功能是获取视频列表,推荐算法后续实现
- •输出实施计划:包含数据库修改、API 集成、UI 调整等具体步骤
资源引用
- •需求澄清清单: references/clarification-checklist.md - 完整的检查维度和项目特定注意事项
- •实施计划模板: references/implementation-plan-template.md - 结构化的计划文档模板
注意事项
- •不要跳过澄清环节直接进入实现
- •对于简单的任务(如单个文件的明显 bug 修复),可以简化流程但必须确认问题边界
- •保持开放态度,用户可能调整需求,需要迭代澄清
- •记录所有假设和决策依据,便于后续回顾