name: survey description: “生成利益相关者调查以收集需求并分析响应。基于领域上下文创建问卷,收集结构化反馈,并生成带有需求候选的统计分析。” argument-hint: “[–domain <名称>] [–mode generate|analyze|both] [–type <调查类型>]” allowed-tools: Task, Read, Write, Glob, Grep, Skill
调查命令
生成需求调查并分析利益相关者响应,以进行数据驱动的需求收集。
用法
/requirements-elicitation:survey
/requirements-elicitation:survey --domain "checkout"
/requirements-elicitation:survey --domain "auth" --mode generate --type kano
/requirements-elicitation:survey --domain "search" --mode analyze
/requirements-elicitation:survey --domain "onboarding" --mode both --respondents 50
参数
| 参数 | 必需 | 描述 |
|---|---|---|
| –domain | 否 | 调查的领域(默认:当前/最近) |
| –mode | 否 | 模式:generate、analyze、both(默认:both) |
| –type | 否 | 调查类型:kano、satisfaction、priority、discovery(默认:discovery) |
| –respondents | 否 | 分析的预期受访者数量(默认:20) |
调查类型
发现调查
通用需求发现问卷。
discovery_survey:
purpose: "识别需求、痛点及期望结果"
sections:
demographics:
- "您的角色是什么?"
- "您使用[系统]的频率如何?"
- "您成为用户多久了?"
current_experience:
- "评估您的总体满意度(1-10)"
- "您最常执行哪些任务?"
- "当前流程中最让您沮丧的是什么?"
needs_and_goals:
- "您试图实现什么目标?"
- "什么阻止您实现目标?"
- "什么会让您的工作更轻松?"
feature_preferences:
- "您最常用哪些功能?"
- "您从不使用哪些功能?"
- "缺少哪些功能?"
open_ended:
- "如果您能改变一件事,会是什么?"
- "描述您理想的体验"
- "其他反馈?"
卡诺调查
使用卡诺方法分类功能。
kano_survey:
purpose: "将功能分类为基础、性能或兴奋型"
question_pairs:
functional:
prompt: "如果[功能]存在,您会如何感受?"
options:
- "我会喜欢它"
- "我期望它"
- "我中立"
- "我能容忍它"
- "我不喜欢它"
dysfunctional:
prompt: "如果[功能]不存在,您会如何感受?"
options:
- "我会喜欢它"
- "我期望它"
- "我中立"
- "我能容忍它"
- "我不喜欢它"
classification_matrix:
"Like + Dislike": "兴奋型(愉悦者)"
"Like + Neutral": "兴奋型"
"Expect + Dislike": "基础型(必须项)"
"Expect + Neutral": "性能型"
"Neutral + Neutral": "无关型"
"Dislike + Like": "反向型"
满意度调查
衡量当前/提议功能的满意度。
satisfaction_survey:
purpose: "评估满意度水平并识别改进领域"
scales:
likert_5:
- "强烈不同意"
- "不同意"
- "中立"
- "同意"
- "强烈同意"
satisfaction_10:
range: "1-10"
anchors:
1: "极不满意"
5: "中立"
10: "极为满意"
nps:
question: "您有多大可能向同事推荐[产品]?"
range: "0-10"
categories:
promoters: "9-10"
passives: "7-8"
detractors: "0-6"
question_categories:
- "总体满意度"
- "功能特定满意度"
- "易用性"
- "性能"
- "可靠性"
- "支持质量"
优先级调查
对功能或需求进行排序和优先化。
priority_survey:
purpose: "收集利益相关者对需求优先级的输入"
methods:
forced_ranking:
instruction: "将这些功能按重要性从高到低排序"
output: "按偏好排序的列表"
pairwise_comparison:
instruction: "对于每对选项,选择更重要的一个"
output: "胜负矩阵和复合排名"
allocation:
instruction: "您有100分,按重要性分配给功能"
output: "显示相对优先级的分数分布"
moscow_voting:
instruction: "将每个功能分类为必须/应该/可以/不会有"
options:
- "必须有"
- "应该有"
- "可以有"
- "不会有(本次)"
工作流
生成模式
generate_workflow:
1. 从.requirements/{domain}/加载领域上下文
2. 基于需求收集阶段识别调查目标
3. 选择适当的调查类型
4. 生成针对领域定制的问卷
5. 添加人口统计和上下文问题
6. 以多种格式输出调查模板
分析模式
analyze_workflow:
1. 从.requirements/{domain}/surveys/加载响应数据
2. 验证响应完整性
3. 执行统计分析
4. 识别模式和主题
5. 从发现中生成需求候选
6. 输出带可视化的分析报告
两者模式(默认)
both_workflow:
1. 生成调查(如不存在)
2. 模拟/收集响应(交互式或文件输入)
3. 分析响应
4. 生成综合报告
输出格式
调查模板
survey_template:
metadata:
domain: "{domain}"
type: "discovery"
version: "1.0"
created: "{ISO-8601}"
introduction:
title: "需求调查:{domain}"
description: "帮助我们了解您对{domain}改进的需求"
estimated_time: "10-15分钟"
confidentiality: "响应匿名且保密"
sections:
- id: "S1"
title: "关于您"
questions:
- id: "Q1"
type: "single_choice"
text: "您的主要角色是什么?"
options:
- "最终用户"
- "经理"
- "管理员"
- "开发者"
- "其他"
required: true
- id: "Q2"
type: "scale"
text: "您使用{system}的频率如何?"
scale:
min: 1
max: 5
labels:
1: "很少"
3: "每周"
5: "每天"
- id: "S2"
title: "当前体验"
questions:
- id: "Q3"
type: "open_text"
text: "您当前流程中最大的挑战是什么?"
max_length: 500
- id: "Q4"
type: "multi_choice"
text: "您最常用哪些功能?(最多选3项)"
options: [...来自领域上下文的功能...]
max_selections: 3
closing:
thank_you: "感谢您的宝贵反馈!"
next_steps: "我们将在2周内分析响应并分享发现。"
分析报告
analysis_report:
metadata:
domain: "{domain}"
survey_type: "discovery"
analysis_date: "{ISO-8601}"
responses_analyzed: 47
response_rate: "78%"
demographics:
role_distribution:
end_user: 60%
manager: 25%
administrator: 10%
other: 5%
usage_frequency:
daily: 45%
weekly: 35%
monthly: 15%
rarely: 5%
quantitative_results:
satisfaction_scores:
overall: 6.2
ease_of_use: 5.8
performance: 7.1
reliability: 6.5
nps_score: 32
nps_breakdown:
promoters: 45%
passives: 30%
detractors: 25%
feature_priorities:
- feature: "实时跟踪"
priority_score: 8.7
mentions: 38
- feature: "移动访问"
priority_score: 8.2
mentions: 34
qualitative_analysis:
themes:
- theme: "速度和性能"
frequency: 28
sentiment: "负面"
sample_quotes:
- "系统在高峰期太慢"
- "加载时间令人沮丧"
- theme: "移动体验"
frequency: 22
sentiment: "混合"
sample_quotes:
- "希望在手机上使用"
- "移动版本有限"
pain_points:
- description: "高峰期性能缓慢"
severity: "高"
frequency: 28
requirement_candidate: "REQ-SURV-001"
- description: "缺少移动功能"
severity: "中"
frequency: 22
requirement_candidate: "REQ-SURV-002"
requirement_candidates:
- id: "REQ-SURV-001"
statement: "系统应在高峰期保持响应时间低于2秒"
source: "调查分析 - 性能主题"
confidence: "高"
supporting_data:
mentions: 28
avg_severity: 8.2/10
- id: "REQ-SURV-002"
statement: "系统应为核心功能提供移动优化界面"
source: "调查分析 - 移动主题"
confidence: "高"
supporting_data:
mentions: 22
avg_priority: 8.2/10
visualizations:
satisfaction_radar: |
[Mermaid雷达图显示满意度维度]
priority_bar: |
[Mermaid条形图显示功能优先级]
theme_wordcloud: |
[常见主题描述]
recommendations:
immediate:
- "处理性能问题(最高严重性)"
- "就移动需求进行后续访谈"
short_term:
- "与利益相关者验证需求候选"
- "优先处理REQ-SURV-001和REQ-SURV-002"
process:
- "考虑实施后的后续调查"
- "建立满意度基准以进行跟踪"
统计分析功能
定量分析
quantitative_analysis:
descriptive:
- "量表问题的均值、中位数、众数"
- "方差的标准差"
- "选择问题的频率分布"
comparative:
- "按人口统计的交叉表"
- "细分比较(高级用户 vs 普通用户)"
- "前后比较(如适用)"
scoring:
- "NPS计算和细分"
- "卡诺分类矩阵"
- "优先级排名聚合"
- "满意度指数计算"
定性分析
qualitative_analysis:
theme_extraction:
- "识别开放响应中的重复主题"
- "按情感分类(正面/负面/中性)"
- "提取代表性引用"
pattern_detection:
- "将主题与人口统计关联"
- "识别具有独特需求的用户细分"
- "检测矛盾点和异常值"
requirement_generation:
- "将痛点转化为需求陈述"
- "聚合功能请求为候选"
- "基于频率分配置信水平"
示例会话
/requirements-elicitation:survey --domain "helpdesk" --mode both --type discovery
═══════════════════════════════════════════════
需求调查:helpdesk
模式:生成 + 分析
类型:发现调查
═══════════════════════════════════════════════
阶段1:调查生成
─────────────────────────────────────────────
分析领域上下文...
找到:15个现有需求,3个利益相关者角色
生成调查问题...
✓ 人口统计部分(4个问题)
✓ 当前体验部分(6个问题)
✓ 需求和目标部分(5个问题)
✓ 功能偏好部分(4个问题)
✓ 开放部分(3个问题)
调查已生成:22个问题
预计完成时间:12分钟
保存到:.requirements/helpdesk/surveys/SURV-20251226-180000.yaml
─────────────────────────────────────────────
阶段2:响应收集
─────────────────────────────────────────────
[基于角色模拟利益相关者响应...]
- 最终用户(15个响应)
- 支持代理(8个响应)
- 经理(5个响应)
- 管理员(2个响应)
总响应收集:30个
─────────────────────────────────────────────
阶段3:分析
─────────────────────────────────────────────
定量结果:
┌─────────────────────────────────────────┐
│ 满意度分数 │
├─────────────────────────────────────────┤
│ 总体满意度: 6.4/10 │
│ 易用性: 5.2/10 │
│ 响应时间: 7.1/10 │
│ 自助服务选项: 4.8/10 │
└─────────────────────────────────────────┘
NPS分数:28(被动范围)
- 促进者:40%
- 被动者:33%
- 批评者:27%
顶级功能优先级:
1. 知识库搜索(8.9/10)
2. 票据状态跟踪(8.5/10)
3. 移动应用访问(8.1/10)
4. 聊天支持(7.8/10)
5. 邮件集成(7.2/10)
定性主题:
📊 自助服务(23次提及) - "希望自己解决问题"
📊 响应时间(18次提及) - "需要更快的解决"
📊 移动访问(15次提及) - "需要在手机上检查票据"
📊 知识库(12次提及) - "难以找到答案"
识别的痛点:
❌ 自助服务选项差(高严重性)
❌ 知识库难以搜索(高严重性)
❌ 无移动访问(中严重性)
❌ 邮件通知不可靠(中严重性)
─────────────────────────────────────────────
需求候选
─────────────────────────────────────────────
生成8个需求候选:
REQ-SURV-001:"用户应能使用自然语言查询搜索知识库"
[置信度:高 | 提及:35]
REQ-SURV-002:"系统应提供移动应用以进行票据管理和状态跟踪"
[置信度:高 | 提及:23]
REQ-SURV-003:"系统应发送可靠的邮件通知以进行票据状态更改"
[置信度:中 | 提及:15]
...(还有5个候选)
═══════════════════════════════════════════════
调查分析完成
═══════════════════════════════════════════════
摘要:
- 响应率:75%(30/40邀请)
- NPS分数:28
- 最高优先级:自助服务改进
- 需求候选:8个
保存到:.requirements/helpdesk/surveys/ANALYSIS-20251226-180000.yaml
下一步:
1. 与利益相关者审查需求候选
2. 运行/prioritize以排名候选
3. 运行/simulate以从用户角度验证
输出位置
output_locations:
survey_template: ".requirements/{domain}/surveys/SURV-{timestamp}.yaml"
analysis_report: ".requirements/{domain}/surveys/ANALYSIS-{timestamp}.yaml"
raw_responses: ".requirements/{domain}/surveys/responses-{timestamp}.yaml"
requirement_candidates: ".requirements/{domain}/surveys/candidates-{timestamp}.yaml"
与其他命令的集成
调查前
# 收集上下文以改进问题
/requirements-elicitation:research --domain "helpdesk"
# 审查现有需求
/requirements-elicitation:gaps --domain "helpdesk"
调查后
# 通过利益相关者模拟验证候选
/requirements-elicitation:simulate --domain "helpdesk" --from-survey
# 优先化调查生成的候选
/requirements-elicitation:prioritize --domain "helpdesk" --method wsjf
# 将已验证候选添加到需求中
/requirements-elicitation:discover --domain "helpdesk" --from-candidates
响应数据格式
用于分析外部调查响应:
response_format:
responses:
- respondent_id: "R001"
timestamp: "2025-12-26T10:30:00Z"
demographics:
role: "end_user"
usage_frequency: 4
answers:
Q1: "最终用户"
Q2: 4
Q3: "搜索功能从未找到我需要的东西"
Q4: ["票据创建", "状态检查", "知识库"]
Q5: 6
错误处理
error_handling:
insufficient_responses:
message: "响应不足以进行可靠分析(最小:10)"
action: "收集更多响应或使用模拟"
no_domain_context:
message: "无领域上下文可用"
action: "运行/discover或提供--domain"
invalid_response_format:
message: "响应文件格式无法识别"
action: "检查响应文件是否匹配预期模式"
low_response_rate:
message: "响应率低于20%"
action: "考虑后续或激励"