在过去计划 2 周的迭代时,我采用了一个用户故事:
- 故事:重命名文件
并将其分解为以小时为单位估算的任务:
- 故事:重命名文件
- 任务:创建重命名命令 (2h)
- 任务:维护选定文件的列表(3h)
- 任务:连接 F2 键 (1h)
- 任务:添加上下文菜单选项 (1h)
然后我会选择一个任务来完成,并跟踪花费在它上面的时间。然后我会用另一个任务重复这个过程。在迭代结束时,我可以查看每个任务所花费的时间,将其与估计进行比较,并使用此信息来改进未来的估计。
当工作完全由测试驱动时,唯一提前明确定义的工作是启动开发的验收测试,并且在涵盖大量工作的用户故事中,验收测试的范围可能过于广泛,无法给出一个好的估计。
所以我可以猜测最终会完成的任务(和以前一样),但是花在这些任务上的时间更难跟踪,因为测试让你在很小的垂直切片中工作,通常在每个部分都工作同时任务。
在执行 TDD 时,我是否可以采用任何技术来提供更详细的估计并准确跟踪时间?我正在使用TargetProcess,它鼓励将用户故事拆分为如上所述的任务,因此保持这种格式会很有帮助。