7.4. 卡片约束

NewkirkMartin(2001)推荐过一种实践,我觉得它是很有用的。

他们引入的实践,是对于任何必须遵守而不需要直接实现的故事,在其故事卡上标识“约束”(constranint)。

比如这样的故事:

系统必须支持最大50个并发用户的峰值

约束

其他约束的例子如下:

  • 设计的软件要便于今后实现国际化
  • 新系统必须使用我们现有的订单数据库
  • 该软件必须能在所有版本的Windows系统上运行
  • 该系统的无故障运行时间要求达到99.999%
  • 该软件要很好用

尽管约束卡不需要做估算,也不会像普通卡片那样别安排到迭代中,但它们仍然很有用处。至少,可以把约束卡贴在墙上作为提醒。更秒的是,可以编写验收测试来确保系统没有违反约束。

例如,为上面的故事编写测不是一件难事。

理想情况下,团队可以在最初几轮迭代中一轮中编写测试,那是系统违反约束的可能性还很小。然后团队可以在后续的迭代中持续运行这些测试。只要可能,就要编写自动化测试来确保系统满足约束。

想进一步了解如何约束请参考第16章 其他话题