How to Make Pathfinder Soup
评分: ★★★★☆
欧洲民间故事"石头汤"的隐喻应用:如何用 Pathfinder(追踪弹)方法帮助开发团队逐步管理复杂模糊的项目风险。
核心隐喻:石头汤
旅行者只带一口空锅,声称要做"石头汤"。村民一开始拒绝分享食物,但当旅行者告诉他们汤需要一点配料会更美味时,村民们纷纷贡献了肉、土豆、洋葱、胡萝卜和卷心菜——最后旅行者分享了丰盛的晚餐,而石头被丢弃。
软件开发可以用类似的思路:从一个简单的基础(石头)开始,随着时间的推移逐步添加层(配料),帮助工程师管理风险并展示项目进展。
Pathfinder 是什么?
Pathfinder 是为用户提供价值的端到端任务或工作流,也被称为"追踪弹"(Tracer Bullets,Andrew Hunt 和 David Thomas 的《实用主义程序员》)。
"Pathfinder 是简化但完整的工作流实现,它们建在更永久的架构上。原型探索系统的特定方面,通常在验证后被丢弃;Pathfinder 则通常留在交付的代码库中。"
例如,一个电商网站团队可以构建一个流:浏览产品目录 → 选择商品 → 到达产品页。通过实现基本功能,团队可以:
- 向利益相关者和客户展示期望的工作流
- 向项目负责人说明进展
- 根据需要调整方向
Pathfinder vs 原型
| 特征 | Pathfinder | 原型 |
|---|---|---|
| 目的 | 端到端价值交付 | 探索特定方面 |
| 架构 | 更永久的架构 | 临时/可丢弃 |
| 保留在代码库 | ✅ 通常保留 | ❌ 通常丢弃 |
| 反馈循环 | 为完整功能提供快速反馈 | 针对特定组件验证 |
关键优势
通过为完整功能提供快速反馈循环,而不是需要精确的前期规划,Pathfinder 可以帮助团队交付复杂和模糊的软件项目,特别是有硬截止日期的项目。
作者分享了两个案例:Adobe Creative Cloud Assets(2010年)和 NodeSource N|Solid:通过 Pathfinder 方法避免陷入规划阶段,在难以预测每个可能结果的情况下展示进展并调整方向。