URTracker典型应用——需求跟踪

下一节:问题跟踪 上一节:软硬件缺陷/BUG跟踪

如果你是一个开发人员,一天,市场部的小莉跑过来让你修改你正在开发产品的一个小小的功能,这是应客户的要求添加的,你觉得这个要求很简单,再加上你对小莉有好感,可能你就答应了她的要求。可是实际的情况是怎么样的呢?你会发现小小的修改并没有想象的那么简单,对这项产品的修改导致了进程的延误,最糟糕的是,由于这项修改没有传达到整个需求链,其他的开发人员那里由于你的修改出现了一些要命的错误。

需求跟踪的目的是建立与维护“需求-设计-编程-测试”之间的一致性,确保所有的工作成果符合用户需求。

建立需求跟踪流程,可以实现以下的效果:

  • 确保客户或市场等部门提出的每个需求都被最终处理;
  • 实现“需求提出->需求评审->设计开发->验证测试->发布”过程的自动流转;
  • 自动建立将需求和相关的设计、编程、测试数据存储在一起,便于查找和对应;
  • 允许建立需求和需求之间、需求和从需求衍生出的开发任务及测试任务之间、需求和测试用例之间的关联关系;

使用URTracker实现需求跟踪流程

根据产品性质、开发团队的组织结构和客户情况的不同,所需要的需求跟踪流程也是不一样的。下面是一个最简单的情形:

urtracker需求跟踪流程

该流程的基本过程为:

  1. 客户、市场部门或开发团队内部成员提交新的需求(提交后的状态为“评审需求”,待办人为“项目经理”)。需求要描述的尽可能详细清楚。 提交新的需求
  2. 项目经理根据具体情况,直接决定或和开发人员、客户等协商后,决定需求的处理方式:
    • 决定不实现该需求。需求将变为“取消”状态。
    • 决定实现需求,将需求分配给某个开发人员实现。此时需要录入一些解决方案、界面设计等信息,以及开发时间要求、目标版本等,以方便具体的开发人员参考。(在此处,项目经理也同时承担了系统设计师的职责。)项目经理审核需求,确定开发方案和时限等要求
  3. 收到开发任务的开发人员根据项目经理指定的解决方案进行开发实施。
  4. 开发人员开发完成后,提交给测试小组进行测试验证。此时,开发人员应该提交所实现需求所对应的软件版本、代码修改等必要的信息。开发人员完成后,提交给测试人员验证
  5. 测试小组人员接收到需求后,根据需求的描述内容、界面设计和功能实现方案等信息,设计测试用例并进行测试。根据测试结果,执行不同的处理步骤:
    • 测试通过,将需求单关闭。测试人员测试需求,通过后关闭需求单
    • 测试不通过,返回给开发人员重新处理。

需求单被关闭后,可以看到有关需求的描述、定义、分析、开发方案、测试用例信息,以及需求的处理实现过程的各个节点处理人、处理时间和处理经过,都被记录到同一个事务中了。

还可以将需求列表导出成需求跟踪矩阵的样子。

更详细的需求跟踪流程

如果您的产品和团队规模更大,那么您可能需要更复杂的需求跟踪流程。如下图所示:

用URTracker实现更复杂的需求跟踪流程 更复杂的需求跟踪流程(点击查看大图)

在此流程中,人员分工更加细致。

需求和任务分解

(1)将需求分解成更详细的子需求

对于某些比较大的需求,您可以通过URTracker软件提供的事务分解功能将其分解成更详细的,易于分析和实现的需求。如下图所示:

分解需求

(2)分解和跟踪由需求所衍生的开发或测试任务

当一个需求需要多个部门、多个人员同时工作进行处理时,可以通过在不同的项目中创建子事务对各种由需求衍生的任务进行跟踪。

比如,在需求的实现方案评审通过后,将可以同时启用美工、前台开发、后台开发、测试用例编写等工作。可以对每个工作创建一条对应父需求的子事务(在其他的项目中分解,如“开发部任务跟踪”项目或“测试部任务跟踪项目”、“测试用例管理”项目等,而不是在需求跟踪本身的项目中分解)。如下图所示:

分解和跟踪需求引发的任务

从总的需求,可以看到每个子任务的负责人、工作进度等信息。在每个子任务中,也可以看到各个上级任务的信息。

其他和需求管理相关的应用

URTracker用于需求收集整理

在产品调研阶段,可以将各种零碎的用户需求、限制条件、业务规则、或团队自己通过头脑风暴所设想出的各种功能特性,记录整理在URTracker软件中。从而方便进一步的讨论和处理。

下一节:问题跟踪 上一节:软硬件缺陷/BUG跟踪