BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

敏捷项目中的跟踪矩阵

| 作者 Vikas Hazrati 关注 0 他的粉丝 ,译者 郑柯 关注 3 他的粉丝 发布于 2008年6月28日. 估计阅读时间: 5 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

有关正式跟踪矩阵的话题,往往能在敏捷社区中激起强烈的反响。Jorge Argus在敏捷测试讨论组发起了一个有意思的话题,讨论在敏捷项目里采用跟踪矩阵的必要性,引发了大家热烈的讨论。

Brad Appleton认为,关键在于理解“可跟踪性”和“跟踪矩阵”的区别。可跟踪性,是指一个项目的某种期望属性,说明了诸多重要信息之间的相互关系,是项目保持一定的透明度和能见度。跟踪矩阵是实现可跟踪性的一种手段。

Michael Bolton发表了类似的看法,他认为在着手采取创建跟踪矩阵的详细措施之前,必须要探究背后的原因。

有人想了解可跟踪性?他们为什么要跟踪这些信息?需要多久为他们提供一次信息?期望哪种形式的信息?什么样的信息格式对他们来说是可以接受的?还有,信息的价值和为此付出的成本是否匹配?

Michael认为,只有公司的重要信息可能被忘记时,才用得到跟踪矩阵。如果不是这个原因,跟踪性可以用多种形式实现,例如谈话、故事、战略主题、历史记录、日志、杂志、源代码、自动化测试、设计文档、每日scrum会议和email等等。

Scott Amber在文章《敏捷需要最好的实践》中,对跟踪矩阵的必要性提出质疑。他认为,通过跟踪矩阵的关联,能够很容易地分析需求变化所造成的影响。矩阵会显现出系统受变更所影响的方面。然而,即使没有矩阵也能很容易做到这点,项目中有许多经验丰富的成员,他们了解各方面的细节。Scott补充道:

根据我的经验,人们对跟踪矩阵评价过高。因为要维护这个矩阵的总成本(TCO)远远超过了它能带来的好处,即使用专门的工具来做这件事情也是如此。要让项目干系人了解真实的成本和收益,再做决定。跟踪矩阵毕竟只是一个有效的文档,可以用来辅助业务决策过程。

[…]

如果有明确的规章管理的要求,那我就对可跟踪性的作用坚信不疑。例如食品和药品监督管理局的联邦法规第21章11 款,你必须遵守这些规定。如果可跟踪性仅仅是由“这是一个好主意”来驱动的话,我很怀疑它能否起到作用。

在Scrum Development讨论组内,Alistair Cockburn引用了一个研究,来支持他的观点。

在一个(企业的IT)项目中,我们特意研究了采用工具进行跟踪,以及通过人工来跟踪信息和更新的成本。我们发现代价高得惊人,客户也因此在合约中取消了对可跟踪性的需求。

Brad Appleton再次重申他的观点,利用人工来创建,更新和维护跟踪矩阵,是展示可跟踪性作用的最耗时的做法。

那么是否有办法确保跟踪矩阵得到自动维护呢?

Ron Jeffries建议,最简单的方法是做些改变,看看哪些地方没有通过测试。这将会让开发人员了解哪些地方受到影响。Mike Beedle也给出了类似的建议

根据敏捷的范式,代码/设计到需求的可跟踪性,是通过单元测试和验收测试来完成的。测试反映了对需求的追踪,因为它们要执行特定代码以实现需求。

Brad Appleton在博客中提到了一种可能的解决方案,他使用TDD进行很短周期的开发。每个周期内的典型任务包括写测试、让代码通过测试、重构代码、提交修改。每次提交要带上将相关的名字和故事ID。Brad Appleton认为,通过这些短周期,可跟踪性会自然得到体现。

在文章《精益跟踪:战略和解决方案浅析》中,cmcrossroads建议,如果敏捷宣言里还需要增加什么,那就增加下面这句话:

值得信赖的透明度超过令人厌倦的跟踪机制

这篇文章中谈到,跟踪性是为了达到透明和一致。要达到这个目标,除了正式的跟踪矩阵,还有其他可行的替代方案。团队需要配合敏捷原则才能达到精益跟踪的要求。文章中谈到如下一些选项:

  • 要了解“可追踪性”和“追踪”并不是一回事
  • 采用版本控制和变更追踪工具
  • 在版本控制和变更追踪之间进行基本的迭代
  • 基于任务的开发(TBD)
  • 测试驱动开发(TDD)
  • 采用简单的工具:Wiki,以及基于Wiki的规范框架
  • 基于事件的追踪性(EBT)
  • 基于搜索的追踪性——不需追踪的可跟踪性
  • 简单基于搜索的可追踪性(“google一下”)

Alistair根据自己的经验,在邮件列表中发表了意见

根据我30年来在商业,工业,研发和部分政府部门的经验,我从未见过采用跟踪矩阵能够收回成本的。

如果你有不同的经验,如果你通过创建和维护跟踪矩阵能够收回你在上面付出的钱,请告诉我们。

很明显,敏捷社区的大部分人相信,维护一个正式的跟踪矩阵有点过火。团队应该寻找建立跟踪矩阵背后的原因,采用精益方法来达到项目的可跟踪性。

查看英文原文:Traceability Matrix in an Agile Project

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT