7.4. 卡片约束
Newkirk
和Martin
(2001)推荐过一种实践,我觉得它是很有用的。
他们引入的实践,是对于任何必须遵守而不需要直接实现的故事,在其故事卡上标识“约束”(constranint
)。
比如这样的故事:
系统必须支持最大50个并发用户的峰值
约束
其他约束的例子如下:
- 设计的软件要便于今后实现国际化
- 新系统必须使用我们现有的订单数据库
- 该软件必须能在所有版本的
Windows
系统上运行 - 该系统的无故障运行时间要求达到
99.999%
- 该软件要很好用
尽管约束卡不需要做估算,也不会像普通卡片那样别安排到迭代中,但它们仍然很有用处。至少,可以把约束卡贴在墙上作为提醒。更秒的是,可以编写验收测试来确保系统没有违反约束。
例如,为上面的故事编写测不是一件难事。
理想情况下,团队可以在最初几轮迭代中一轮中编写测试,那是系统违反约束的可能性还很小。然后团队可以在后续的迭代中持续运行这些测试。只要可能,就要编写自动化测试来确保系统满足约束。
想进一步了解如何约束请参考第16章 其他话题