禅道软件设计的需求有两个字段来跟踪它的变化,一个是需求的状态字段,一个是需求的研发阶段字段,下面来看下这两个字段。
image.png

一、需求的状态

需求状态(status)字段,总共有四种状态,分别是 草稿(draft)、激活(active)、已变更(changed)和已关闭(closed)。对应为需求的流程操作共有:创建、变更、审核、关闭、激活,其状态流转图如下:
image.png

二、需求的研发阶段

需求还有一个阶段(stage)字段,用来描述激活的需求在研发过程中所处的阶段。目前总共有 未开始、已计划、已立项、开发中、开发完毕、测试中、测试完毕、已验收、已发布。
image.png
那么需求的研发阶段是如何变化的呢?一种方案是通过编辑操作,来修改研发阶段。但我们更提倡另外一种方案,就是在创建任务的时候,仔细设置任务的类型,比如开发,测试。禅道的程序会自动根据不同类型任务的变化来自动计算需求的研发阶段,其规则如下:

  1. 如果需求没有关联到项目,也没有关联到计划,则需求的研发阶段是”未开始”。
  2. 如果需求关联到了计划,还没有关联到项目中,则需求的研发阶段是”已计划”。
  3. 如果需求关联到了项目中,但还没有分解任务,则需求的研发阶段是”已立项”。
  4. 如果需求关联到了项目中,且进行了任务分解:
    如果有一个开发任务进行中,并且所有的测试任务还没有开始,需求的研发阶段为“研发中”。
    如果所有的开发任务已经完成,并且所有的测试任务还没有开始,则为“研发完毕”。
    如果有一个测试任务进行中,则视为“测试中”。
    如果所有的测试任务已经结束,但还有一些开发任务没有结束,则视为”测试中”。
    如果所有的测试任务已经结束,并且所有的开发任务已经结束,则视为”测试完毕”。
  5. “验收”阶段是需要产品经理手工来进行确认的,确认后阶段改为“已验收”。

  6. 产品→发布中关联的需求后,需求的研发阶段是“已发布”。

需求所属产品为多分支或多平台类型的所处阶段说明:
以多平台为例,该产品有安卓、ios两个平台。
(1)如果需求没有关联到项目,也没有关联到计划,则需求的研发阶段是”未开始”。
(2)如果需求属于所有平台,关联的计划也属于所有平台,则需求的阶段为“所有平台:已计划”。如果计划属于ios平台,则需求的阶段为“ios:已计划”。如果需求属于某个特定平台,阶段计算方式等同原来的普通产品的情况。
(3)如果项目关联的是产品的某个平台,假如关联了ios平台,同时关联了产品所有平台下和ios平台下的需求,没有分解任务。则ios平台下的需求此时阶段都是“已立项”,所有平台的需求则是“ios:已立项”。假如该需求所有平台还是“已计划”,则显示“所有平台:已计划”“ios:已立项”。
如果一个需求同时被两个项目关联,而两个项目,一个关联了产品的ios平台,一个关联了所有平台。同时都没有分解任务,那么这个需求的阶段就是“所有平台:已立项”“ios:已立项”。

注:禅道7.2.stable版本开始,可以编辑需求手动更改需求的所处阶段。( 注:如果需求属于所有分支/所有平台由于系统会计算所有分支/平台下面的阶段所以无法单独编辑修改)
image.png
image.png
image.png