# 需求的状态和研发阶段
禅道软件设计的需求有两个字段来跟踪它的变化,一个是需求的状态字段,一个是需求的研发阶段字段,下面来看下这两个字段。
#### 一、需求的状态
需求状态(status)字段,总共有四种状态,分别是草稿(draft)、激活(active)、已变更(changed)和已关闭(closed)。对应为需求的流程操作共有:创建、变更、审核、关闭、激活,其状态流转图如下:
![](https://box.kancloud.cn/418fa406ea6ca31657888d71e078ff86_1153x591.png)
#### 二、需求的研发阶段
需求还有一个阶段(stage)字段,用来描述激活的需求在研发过程中所处的阶段。目前总共有未开始、已计划、已立项、开发中、开发完毕、测试中、测试完毕、已验收、已发布。
那么需求的研发阶段是如何变化的呢?一种方案是通过编辑操作,来修改研发阶段。但我们更提倡另外一种方案,就是在创建任务的时候,仔细设置任务的类型,比如开发,测试。禅道的程序会自动根据不同类型任务的变化来自动计算需求的研发阶段,其规则如下:
1、如果需求没有关联到项目,也没有关联到计划,则需求的研发阶段是"未开始"。
2、如果需求关联到了计划,还没有关联到项目中,则需求的研发阶段是"已计划"。
3、如果需求关联到了项目中,但还没有分解任务,则需求的研发阶段是"已立项"。
4、如果需求关联到了项目中,且进行了任务分解:
5、如果有一个开发任务进行中,并且所有的测试任务还没有开始,需求的研发阶段为“研发中”。
6、 如果所有的开发任务已经完成,并且所有的测试任务还没有开始,则为“研发完毕”。
7、 如果有一个测试任务进行中,则视为“测试中”。
8、如果所有的测试任务已经结束,但还有一些开发任务没有结束,则视为"测试中"。
9、如果所有的测试任务已经结束,并且所有的开发任务已经结束,则视为"测试完毕"。
10、 "验收"阶段是需要产品经理手工来进行确认的。
11、产品→发布中关联的需求后,需求的研发阶段是“已发布”。
需求所属产品为多分支或多平台类型的所处阶段说明:
以多平台为例,该产品有安卓、ios两个平台。
(1)如果需求没有关联到项目,也没有关联到计划,则需求的研发阶段是"未开始"。
(2)如果需求属于所有平台,关联的计划也属于所有平台,则需求的阶段为“所有平台:已计划”。如果计划属于ios平台,则需求的阶段为“ios:已计划”。如果需求属于某个特定平台,阶段计算方式等同原来的普通产品的情况。
(3)如果项目关联的是产品的某个平台,假如关联了ios平台,同时关联了产品所有平台下和ios平台下的需求,没有分解任务。则ios平台下的需求此时阶段都是“已立项”,所有平台的需求则是“ios:已立项”。假如该需求所有平台还是“已计划”,则显示“所有平台:已计划”“ios:已立项”。
(4)如果一个需求同时被两个项目关联,而两个项目,一个关联了产品的ios平台,一个关联了所有平台。同时都没有分解任务,那么这个需求的阶段就是“所有平台:已立项”“ios:已立项”。
![](https://box.kancloud.cn/17d55fbaa7a25b152f62d0987fd62eb8_1336x365.png)
点击需求标题,进入需求详情页面,点击编辑需求,在页面的右侧显示需求的基本信息,需求所处阶段一栏点击下拉选中你要修改的需求所处阶段,保存即可。
![](https://box.kancloud.cn/bfde165fc6b324dc05d98cc420eeaae8_1297x486.png)
在回到产品---需求列表页面,就可以看到需求的所处阶段已经由已立项变为测试中了。
![](https://box.kancloud.cn/cc0f58adfc341e64d26caa81f4c46db8_1343x399.png)