实时可追溯性和事后可追溯性

2023-09-21 18:30:12

在当今的世界里,成功的组织都将其创新和复杂产品开发流程建立在跨多个工作流的互联数据上。为此,他们需要收集利益相关者的想法以构建系统架构,管理高级需求以创建详细的用户故事,并实施验证程序以检查问题。同时,在满足标准规定并在当前的市场环境中保持竞争力的过程中,与各利益相关者的协作需要深度的追踪。

许多行业标准都要求有需求追踪性,以保证产品的质量和安全性。这些行业标准是基于在系统和质量工程研究中取得的数十年的进步,而需求追踪性是其核心内容。只有把追踪性作为产品开发过程中的一个工具,我们才能享受到需求追踪性的优点。

这样做带来了很多明显的好处:显著减少或避免项目延期、系统缺陷、成本超支以及返工等。本文将概述建立需求可追溯性的一些最佳实践。

实时可追溯性对比事后可追溯性

首先,让我们确定一些概念,确保我们的理解是一致的。需求追踪性是指从需求定义和设计到开发、测试以及验证,对产品需求的开发进程进行跟踪的能力。需求追踪性有两种形式:事后追踪性和实时追踪性。

什么是传统的,事后的可追溯性?

事后的可追溯性发生在产品开发完成之后,这通常是一种高度手动的努力,试图重新构建工作产品,以便展示在开发过程中应该发生但却没有发生的可追溯性。这项工作是为了符合行业标准,并满足审计员对过程成熟度展示的要求。

什么是实时可追溯性?

PingCode 定义实时可追溯性为在系统开发的任何阶段,不论涉及到多少独立的工具和团队,都能获取任何需求最新、最全面的上游和下游信息的能力。

这使得工程和产品管理过程可以基于数据进行管理,以实时提升性能。

实时可追溯性在产品开发过程中实时发生,旨在提升整体生产力(通过确保各专业领域的工程师始终使用最新和正确的版本),并降低由于问题被发现得太晚而产生的不良产品结果(例如延期、缺陷、返工、超预算和召回等)的风险。

早期发现问题的好处是显著的。INCOSE的研究发现,如果在设计过程中而不是在验证和确认过程中发现问题,其成本可能会高出40到110倍。因此,大多数公司都希望实现实时可追溯性,但他们常常被旧有的工具和电子表格所困扰,这些工具和电子表格并不支持实时可追溯性。由于每个工程学科都可以选择自己的工具,导致大量的工具之间没有关联性规则或机制来实现实时的可追溯性。

为什么实时可追溯性很重要?

产品工程组织面临的首要问题是需要遵循跨独立团队和工具的可追溯性要求。组织通常被跨多个电子表格进行高度手动和耗时的信息审查所困扰。

实时可追溯性的实现

你可以通过在工具链中的实时可追溯性,并且让这种持续的同步尽可能简单,比如:PingCode、Jama 等工具之间实现实时的可追溯性,通过直观的点击操作就可以实现。

整合工具之间的实现实时可追溯性主要好处包括:

  • 保持与市场和用户需求的一致性:将上游的规划、需求和测试计划整合到迭代开发过程中,确保你构建的内容能满足市场、合规性和用户的需求。
  • 保持对下游开发的可见性:准确捕获和沟通需求、目标、进度和相互依赖性,以在整个开发过程中消除摩擦。
  • 消除由于不对齐而产生的后期返工和质量差距:捕获需求并保持对你正在构建的内容的共识。确保每个人都在使用最新的规格工作,以便产品/系统最终能够实现其预期的价值。
  • 支持正式的变更管理过程:识别产品需求变更的变更影响含义和受影响的所有者,以便开发团队在需求演变时做出明智的决定。

如何实现实时追踪性?

步骤1:定义追踪模型

实时可追溯性需要一个模型,该模型定义了在开发过程中需要监控的关键过程元素和它们的关系规则。系统工程的V模型是一个有用的框架,用于定义数据对象和它们的关系。PingCode提供了一个点击式的、可配置的关系规则功能,来实现实时可追溯性。

步骤2:实现不同工具之间的数据同步

一旦定义了关系规则,下一步就是与各种工程学科使用的最佳工具和电子表格设置连续同步。以下的图展示了一站式工具示例,以及外部工具在PingCode关系模型中同步的位置,以实现实时追踪。

在这个示例中,显示了对追踪至关重要的最佳工具。当然,也支持其他竞争性的替代方案。

大多数公司优先考虑追踪模型的那些区域,这些区域在没有持续同步的情况下最容易导致昂贵的问题。最常见的这些区域是:

  1. 软件任务管理:直接将需求分解为用户故事,使得能够通过测试和缺陷管理在软件开发过程中实现实时追踪。最常用的最佳工具是PingCode
  2. 测试自动化:测试用例在 PingCode 中管理,以便与需求对齐,并确保跨所有工程学科的追踪,测试自动化结果在验证步骤中同步到追踪模型。最常见的测试自动化工具是TestRail和qTest。

步骤3:监测异常

实时追踪性首次提供了一种能力,可以通过例外情况管理整个产品开发过程,跨越所有工程学科。追踪模型定义了预期的过程行为,可以与实际活动进行比较,从而产生异常。这些异常是早期警告指标,它们最常导致延迟、成本超支、返工、缺陷和召回。

更多推荐

golang使用高阶函数优化业务功能

业务描述两个接口(新增Tag和更新Tag),在业务层均需要添加两个校验,校验Tag信息是否重复和Tag的数据中的编码是否重复。基本实现方式对应的增加两个校验的函数/方法,在接口实现中依次调用两个函数/方法进行校验。优缺点实现简单;但重复代码多,后期再增加其他校验,扩展性较差。高阶函数方式一方式因为业务方法参数相同,业务

FOXBORO FBM233 P0926GX控制脉冲模块

FOXBOROFBM233P0926GX是一种控制脉冲模块,通常用于工业自动化和控制系统中。这个模块的主要功能是生成和控制脉冲信号,以用于执行特定的操作或控制过程。以下是可能适用于FOXBOROFBM233P0926GX控制脉冲模块的一些常见特点:脉冲生成:FBM233P0926GX模块通常能够生成可控的脉冲信号,包括

界面组件DevExpress WinForms v23.1 - 富文本编辑器等功能升级

DevExpressWinForms拥有180+组件和UI库,能为WindowsForms平台创建具有影响力的业务解决方案。DevExpressWinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!DevExpressWinForm控件已正

Vue3_vite

目录使用Vue-cli创建使用vite创建CompositionAPI组合APIsetup执行时机setup的参数ref函数reactive函数Vue3.0中的响应式原理Vue2的响应式实现原理Vue3的响应式实现原理通过Proxy(代理):拦截对象中任意属性的变化,包括属性值的读写,属性的添加,属性的删除。通过Ref

Linux网络编程

一.协议1.1什么是协议从应用的角度出发,协议可理解为“规则”,是数据传输和数据的解释的规则。假设,A、B双方欲传输文件。规定:第一次,传输文件名,接收方接收到文件名,应答OK给传输方;第二次,发送文件的尺寸,接收方接牧到该数据再次应答一个OK;第三次.传输文件内容。同样.接收方接收数据完成后应答OK表示文件内容接收成

【HCIE】04.网络安全技术

端口隔离在同一VLAN中可以隔离二层与三层通信,让同VLAN内的设备可以通信或者不可以通信。定义一个端口隔离组,在一个组内无法互访,不在一个组里面可以进行互访port-isolateenablegroup1//使能端口隔离功能port-isolatemdoeall//全局模式实现二层隔离,三层互访intg0/0/1po

207. 课程表

207.课程表题目-中等难度示例1.bfs题目-中等难度你这个学期必须选修numCourses门课程,记为0到numCourses-1。在选修某些课程之前需要一些先修课程。先修课程按数组prerequisites给出,其中prerequisites[i]=[ai,bi],表示如果要学习课程ai则必须先学习课程bi。例如

MySQL面试题——隔离级别相关面试题

隔离级别相关面试题MySQL事务隔离级别未提交读——可以读到其他事务未提交的数据(最新的版本)错误现象:脏读、不可重复读、幻读的现象提交读(RC)——可以读到其他事务已提交的数据(最新已提交的版本)错误现象:不可重复读、幻读现象使用场景:希望看到最新的有效值可重复读(RR)——在事务范围内,多次读能够保证一致性(快照建

69、Spring Data JPA 的 @Query查询 和 命名查询(半自动:提供 SQL 或 JPQL 查询)

1、方法名关键字查询(全自动,既不需要提供sql语句,也不需要提供方法体)2、@Query查询(半自动:提供SQL或JPQL查询)3、自定义查询(全手动)@Query查询和命名查询的区别:命名查询与直接用@Query来定义查询的本质是一样,只不过它们定义SQL或JPQL语句的位置不同。直接用@Query来定义查询,写S

MyBatisPlus使用自定义JsonTypeHandler实现自动转化JSON

个人主页:金鳞踏雨个人简介:大家好,我是金鳞,一个初出茅庐的Java小白目前状况:22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作我的博客:这里是CSDN,是我学习技术,总结知识的地方。希望和各位大佬交流,共同进步~背景在项目中使用了Mybatis-Plus框架,调用了Mapp

Android Jetpack解析之——LiveData

LiveData是一种可观察的数据存储器类。与常规的可观察类不同,LiveData具有生命周期感知能力,意指它遵循其他应用组件(如activity、fragment或service)的生命周期。这种感知能力可确保LiveData仅更新处于活跃生命周期状态的应用组件观察者。如果观察者(由Observer类表示)的生命周期

热文推荐