可追溯性或需求可追溯性,是指在一个产品的开发过程中,对所有需求进行持续的跟踪管理。这种跟踪像一个记录线程,无论是从产品开发的初期设计,到开发实施,再到后期的测试和支持,每一个环节、每一个需求的变化和进展都会被记录和跟踪。这样,就能对每个需求周围的所有活动有一个全面、清晰的了解。
这种方法可以减少在开发过程中可能出现的问题和错误,从而降低负面影响的风险,同时也能提高工作效率,最大化生产力。因此,可追溯性的实施能带来很多好处,比如提高团队的工作效率,让团队能更好地遵守相关法规,还能提升产品的质量。
一、需求可追溯性目的和重要性
可追溯性使得产品开发团队能将特定的需求与项目中的所有相关工件,以及其他需求连接起来。这种连接方式既包括前瞻性地看到需求如何影响后续活动,也包括回溯性地了解需求来源于何处,使得开发过程中的任何人都能清楚地了解需求与活动之间的关系。这种功能被称为实时追溯,可以帮助团队协作,并尽早发现可能存在的生产风险。
当我们思考开发产品的正确性,无论是从定义、质量还是时间上,都显得至关重要。这就是为什么需求的可追溯性如此关键。
接下来,我们将探讨在产品开发生命周期中实施需求可追溯性所能带来的一些好处。比如:
- 简化项目估算
- 增强流程透明度
- 提高开发效率
- 改善变更影响分析
- 展示验证和确认过程
- 提升产品质量
- 证明合规性或功能安全
对于需求的“单一视线”或者“数字线程”,在应用生命周期管理(ALM)和产品生命周期管理(PLM)中都至关重要。这两种管理方式都需要在严格的时间限制下应对不断增加的需求——这其中包括来自法规的需求,对于这些需求的遵守是必须的,不能有任何妥协。
单一视线:其实就是指对于需求的全面、连续的关注和追踪,就像你的目光始终聚焦在一条直线上,这条直线就代表了一个需求从提出到实现的全过程。
数字线程:则是对单一视线这一概念的另一种表述,它强调的是在数字化的环境下,通过技术手段实现对需求的追踪和管理。
理解需求、风险、测试等各因素之间的关系,是在规定的时间内开发出符合规定的产品,避免陷入重做、延迟发布、处理不满意的利益相关者等问题的关键。有了需求可追溯性,你就不必在达成速度和保证质量之间做出妥协。
最终,端到端的可追溯性确保了你正在开发的产品是正确的,并帮助你证明产品的合规性或功能安全性。如果没有这种可追溯性,你的开发效率和产品质量都可能面临风险。
二、前向、后向和双向:创建数字线程的机制
在产品开发的整个生命周期中,从客户的需求阶段一直到产品得到支持的阶段,需要使用四种不同类型的链接(可能是指文档记录、软件工具等方式)来将各个阶段串联起来,实现对整个过程的跟踪和管理。
这里所说的链接包括对高级需求的跟踪,也包括对派生需求的跟踪。高级需求是指用户或者客户明确提出的需求,而派生需求则是指在满足高级需求或者让系统正常运作的过程中隐含的、但未被明确提出的需求。这些派生需求也同样重要,也需要进行充分的跟踪和管理,以便能够充分发挥实时追溯的效果,即对需求变化的实时响应和管理。
前向追溯
在需求管理中,有两种类型的前向追溯:一种是从客户需求追溯到产品需求,另一种是从产品需求追溯到与之相关的下游工作产品。
第一种追溯,即“向需求前行”,是从客户需求开始,追溯到相应的产品需求。这种方式很重要,因为客户的需求可能会随着时间的推移发生变化。如果客户的需求变了,那么产品需求可能也需要做相应的调整。通过这种方式的前向追溯,开发团队可以在产品开发的任何阶段,都能及时了解到需求的变化和优先级的调整。
第二种追溯,即“从需求前行”,是从产品需求开始,追溯到相应的下游工作产品,例如测试用例。这种方式的追溯可以确保每个需求不仅得到了实现,而且经过了验证和确认。
后向追溯:
在需求管理中,还有两种类型的后向追溯:一种是从需求追溯到客户的用例,另一种是从完成的工作产品追溯到其对应的需求。
第一种后向追溯,即“从需求向后”,是通过将一个产品需求与其解决的客户用例关联起来,以理解这个需求是如何产生的。通过这种方式,开发团队可以更好地理解需求的来源,从而做出更明智的决策。
第二种后向追溯,即“向需求的反向”,是从完成的工作产品开始,追溯到其对应的产品需求。这种方式可以让团队明白为什么会创建特定的工作产品,以及系统中的各个部分是如何相互配合工作的。同时,通过这种追溯方式,测试人员也可以发现可能存在的缺失或遗漏的需求。
双向追溯:
双向需求追溯是前向和后向追溯的结合,是最优的追溯方式,可帮助团队从需求规格说明开始,追溯到构建、测试、变更和缺陷,然后再回到需求本身。实现这种全面的可追溯性通常需要依赖自动化的需求管理工具,如PingCode。