名称: bdd-collaboration 描述: 在促进开发人员、测试人员和业务利益相关者之间的BDD协作时使用。用于运行发现研讨会和示例映射会议。 允许工具:
- Bash
- Read
BDD协作
掌握行为驱动开发的协作方面,以桥接技术团队和业务团队之间的沟通。
三个朋友会议
三个朋友汇集了三个视角:
- 业务/产品: 定义期望的行为
- 开发: 理解实施影响
- 测试/QA: 识别边缘情况和风险
会议结构:
1. 产品负责人展示用户故事
2. 开发人员提出澄清问题
3. 测试人员识别潜在边缘情况
4. 团队一起编写场景
5. 每个人就接受标准达成一致
示例映射
示例映射是一种结构化对话技术:
┌─────────────────────────────────────────┐
│ 故事: 作为客户,我希望... │ (黄色卡片)
├─────────────────────────────────────────┤
│ 规则: 订单超过50美元获得免费送货 │ (蓝色卡片)
│ ├── 示例: 60美元订单 = 免费 │ (绿色卡片)
│ ├── 示例: 49美元订单 = 5美元运费 │ (绿色卡片)
│ └── 问题: 正好50美元怎么办? │ (红色卡片)
├─────────────────────────────────────────┤
│ 规则: 快递送货总是花费15美元 │ (蓝色卡片)
│ ├── 示例: 100美元订单快递 = 15美元 │ (绿色卡片)
│ └── 示例: 30美元订单快递 = 15美元 │ (绿色卡片)
└─────────────────────────────────────────┘
发现研讨会格式
1. 介绍 (5分钟)
- 介绍功能或故事
- 分享任何现有上下文
2. 探索 (20分钟)
- “规则是什么?”
- “你能给我一个例子吗?”
- “可能出什么问题?”
3. 文档 (15分钟)
- 一起编写场景
- 记录后续问题
4. 回顾 (10分钟)
- 大声阅读场景
- 确认共享理解
通用语言
建立共享词汇:
# 领域术语明确定义
功能: 订阅管理
# 在功能描述中定义术语
一个“订阅者”是拥有活跃订阅的客户。
一个“流失订阅者”是过去30天内取消订阅的。
“赢回”是重新激活流失订阅者。
场景: 为流失订阅者提供赢回优惠
给定一个15天前的流失订阅者
当他们访问定价页面
那么他们应该看到赢回优惠
活文档
功能: 支付处理
# 链接到业务文档
@jira:PAY-123
@confluence:payment-rules
# 版本跟踪
@since:v2.1
场景: 处理信用卡支付
# 这个场景记录了当前行为
# 最后验证: 2024-01-15
何时使用此技能
使用bdd协作当您需要:
- 对齐团队对需求的理解
- 减少角色之间的误沟通
- 创建质量的共享所有权
- 跨团队构建领域知识
- 通过早期讨论预防缺陷
最佳实践
- 安排定期的三个朋友会议
- 对复杂故事使用示例映射
- 创建和维护领域词汇表
- 保持场景作为活文档
- 让利益相关者参与场景审查
- 时间盒发现会议
常见陷阱
- 跳过协作,单独编写场景
- 不包括所有三个视角
- 对业务利益相关者使用技术行话
- 让场景过时
- 过度记录简单功能
- 不跟进提出的问题