架构穿刺

对于棘手的技术或设计问题,可以为它创建一个穿刺方案(spike solution)。所谓穿刺方案,是指一个非常简单的程序,专门用于探寻潜在的解决方案。

例如,如果有一个技术难题给整个系统的开发带来了威胁,有可能导致整个团队开发受阻,那么就应该安排一对程序员专门花一段时间对这个问题进行穿刺,降低风险。穿刺的时间最好控制在1~2天,最好不要超过5天。

穿刺可能是服务于两个目的:

  1. 降低技术问题带来的风险,或者
  2. 增加用户故事工作量评估的可靠性

为了满足这两个目的,在构造穿刺方案时,我们只关注要验证的特定技术/设计问题,无视其他方面的考虑。因此,穿刺方案的质量通常不会很好,你应该做好准备,完成验证之后就将其丢弃。