NO.106 需求的状态、研发阶段及注意事项。

为什么80%的码农都做不了架构师?>>>   hot3.png

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

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


二、需求的研发阶段
需求还有一个阶段(stage)字段,用来描述激活的需求在研发过程中所处的阶段。目前总共有等待、已计划、已立项、开发中、开发完毕、测试中、测试完毕、已验收、已发布。
那么需求的研发阶段是如何变化的呢?一种方案是通过编辑操作,来修改研发阶段。但我们更提倡另外一种方案,就是在创建任务的时候,仔细设置任务的类型,比如开发,测试。禅道的程序会自动根据不同类型任务的变化来自动计算需求的研发阶段,其规则如下:
如果需求没有关联到项目,也没有关联到计划,则需求的研发阶段是"等待"。
如果需求关联到了计划,还没有关联到项目中,则需求的研发阶段是"已计划"。
如果需求关联到了项目中,但还没有分解任务,则需求的研发阶段是"已立项"。
如果需求关联到了项目中,且进行了任务分解:
如果有一个开发任务进行中,并且所有的测试任务还没有开始,需求的研发阶段为“研发中”。
如果所有的开发任务已经完成,并且所有的测试任务还没有开始,则为“研发完毕”。
如果有一个测试任务进行中,则视为“测试中”。
如果所有的测试任务已经结束,但还有一些开发任务没有结束,则视为"测试中"。
如果所有的测试任务已经结束,并且所有的开发任务已经结束,则视为"测试完毕"。
"验收"阶段是需要产品经理手工来进行确认的。
如果需求关闭,且关闭原因是“已发布”, 则需求的研发阶段是“已发布”。

三、需求的注意事项
1、禅道中需求的写法
在禅道中,我们默认给大家提供了一个需求的模板:作为一名<某种类型的用户>,我希望<达成某些目的>,这样可以<开发的价值>。这个模板是借鉴自scrum开发里面的用户故事(user story)的写法。只不过我们使用了相对比较中性的概念。
在这个模板中,总共有三个元素:角色,要做的事情,价值或者原因。我们平时在写需求的时候,往往会忽略角色和价值原因这两个元素,只关注了要做的事情。其实这有很多的问题。不进行用户角色的划分,会影响对产品功能的设计和定位,从而导致产品往往是给一个用户角色开发的,就是产品经理自己。:)而忽略开发的原因或者价值,会让开发人员感到困惑。他们可能并不理解你这样做的原因或者目的,不理解的需求实现起来自然会有问题。 

2、需求的INVEST原则
除了上面基本的模板之外,在撰写用户故事的时候,可以参考INVEST原则:(摘自http://duweizhong.blogbus.com/logs/112151436.html)
I dependent(独立的):一个用户故事对于另一个用户故事应该是独立的(尽可能的)。故事之间的依赖性使得增加了计划编制,确立有限级,故事估计这些工作非常困难。通常,可以通过组合用户故事或者分割用户故事来减少依赖性。
N egotiable(便于沟通的):一个用户故事是便于沟通的。一个故事的卡片是包含故事详情的简短描述。这些详情是通过讨论阶段来完成的。一张还有很多详情的卡片实际上减少了和客户的会谈。
V aluable(有价值的):每个故事必须对客户具有价值(无论是用户还是购买方)。一个让用户故事有价值的好方法是让客户来写下它们。一旦一个客户意识到一个用户故事并不是一个契约而且可以进行协商的时候,他们将非常乐意写下故事。
E stimable(可估计的):开发者需要去估计一个用户故事以便确定有限级并对故事进行规划。但是让开发者难以估计故事的问题来自:对于领域知识的缺乏(这种情况下需要更多的沟通),或者故事太大了(这时需要把故事切分成小些的)。
S mall(短小):一个好的故事应该在工作量上短小,描述具有代表性,而且不超过2-3人周的工作量。超过这个范围的用户故事,将会在划分范围和估计时出现很多错误。
T estable(可测试的) :一个用户故事是可测试的来用于确认完成,记住,我们不开发不能测试的故事。如果你不能测试那么你永远不知道你什么时候是完成了。一个不可测试的用户故事例子:软件应该是易于使用的。
一个编写良好的用户故事是敏捷开发的基础。它们应该相互独立,详情应该便于开发者和用户进行沟通,应该对用户有价值,应该对于开发者来说尽可能的清晰以便进行估计,应该短小,通过预定义测试用例的使用确保它是可以测试的。

3、禅道里面的需求和原型图、需求设计文档的区别
传统管理模式中,很多产品经理都在用原型图软件设计原型图或者非常完整的需求设计文档。设计完之后,交给设计人员进行页面设计,然后由开发人员合并代码。那么原型图和用户故事之间的关系和区别是什么呢?
和user story相比,原型图或者需求设计文档是一个整体,可以给人宏观的把握。这是原型图的优点。比较直观。
它是一个整体,所以就没有办法进行分解。你不可能分解成,做页面导航条,做页面的中间部分等。
没有分解,所以原型图也就没有办法进行优先级的排序。比如页面部分,有的很重要,有的不重要。但在原型图里面是体现不出来优先级的。
没有分解,自然也就无法进行跟踪。你没有办法得知原型图完成了多少。
过于死板,给设计人员和开发人员留下的发挥的空间太少,最后演变成被动执行。
需求设计文档规定的比较细致,会让产品经理陷入太多的细节,对整体的把握会减弱。
虽然相比较于用户故事而言,传统的原型图或者需求设计文档有一些不足,但在实际的开发过程中,二者可以相辅相成。禅道从1.2版本中,已经增加了文档库管理。可以将原型图作为设计文档,上传到某一个产品相关的文档库中,和用户故事相互配合,是一个最好的方案了。

转载于:https://my.oschina.net/candou/blog/180138

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/300562.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java实例化泛型_Java让泛型实例化的方法

泛型对象可以实例化吗&#xff1f;不可以&#xff0c;T tnew T()是不可以的&#xff0c;编译器会报错。由于泛型擦除&#xff0c;编译器在编译时无法确定泛型所对应的真实类型解决方法使用反射新建实例Type superclass getClass().getGenericSuperclass();ParameterizedType p…

几种人类设计的永动机,最后一个彻底服了!| 今日最佳

全世界只有3.14 %的人关注了青少年数学之旅众所周知&#xff0c;永动机是违反当前客观科学规律的概念&#xff0c;是永远不能够被制造出来的。下面这些都是人们根据不同原理设计出来的&#xff0c;看一看有什么神奇之处&#xff0c;最后一个是亮点&#xff01;▲达芬奇设计的永…

vista 中php4, php5 共存

由于有些开源PHP产品需要PHP4&#xff0c;因为不得不安装这个版本&#xff0c;如OSC2.1&#xff1b;而有些开源产品则使用PHP5&#xff0c;如wikipedia&#xff0c;因此为了同时开发 PHP4或PHP5的软件&#xff0c;则需要同时安装这两个版本的东西。 安装PHP4使用IIS的具体操作请…

剖析WPF依赖属性

这节来讲一下WPF中的依赖属性 (Dependency Property)。【了解属性和字段】我们知道&#xff0c;属性是面向对象语言中用来封装字段的外衣&#xff0c;它像是字段对外界的桥梁&#xff0c;我们可以通过属性来验证数据的合法性或控制对外的访问性等等。每个属性的背后都有其对应的…

Spring与SpringMVC集成出现的问题

这几天在学习SpringMVC,在与Spring集成时&#xff0c;出现了两个小问题&#xff0c;记录下来&#xff0c;提醒自己&#xff0c;同时如果大家遇到同样问题&#xff0c;能够帮助大家的话&#xff0c;那我就感到幸哉了&#xff01;1&#xff0e;java.lang.NullPointerExceptionSEV…

java drawline_Java Graphics.drawLine方法代码示例

import javax.microedition.lcdui.Graphics; //导入方法依赖的package包/类public void draw(Graphics g) {g.setColor(255, 255, 255);g.fillRect(0, 0, getWidth(), getHeight());g.setColor(200, 200, 200);int baseLineY;if (signal.baseLineY() > 0) {baseLineY (int)…

Active Directory的用户属性说明

Active Directory中User对象属性User Object User Interface Mapping The following tables identify the property pages supplied by the Active Directory Users and Computers snap-in. Each table identifies the user interface elements of the property page and the A…

柳传志与马云绸缪宏观经济“冬天影子”

春江水暖鸭先知。尽管认同中国经济的繁荣将继续保持10~20年&#xff0c;中国商界的领军者和经济学家上周六还是提醒企业必须警惕可能到来的调整。 “我为什么上市&#xff1f;一个很重要的原因&#xff0c;是我在准备‘过冬’。”12月8日&#xff0c;在“2007(第六届)中国企业领…

你在孩子身上偷的懒,终将会变成最大的遗憾

全世界只有3.14 %的人关注了青少年数学之旅我们来看一个非常有趣的统计&#xff1a;2007年—2016年全国高考状元父母职业统计最优秀的孩子大多数出自教师家庭。很家长说&#xff0c;教师有着和孩子一样的寒暑假&#xff0c;有着教书育人的先天优势&#xff0c;我们普通人工作忙…

巧用Environment.UserInteractive 实现开发和生产环境的分开调试部署

概述平常我们在做服务开发的时候&#xff0c;经常是希望本地可以直接调试&#xff1b;在生产环境是以服务允许的&#xff1b;这时候&#xff0c;一般的做法写2段代码&#xff0c;需要什么环境就注释那段代码&#xff0c;这样很麻烦&#xff0c;这时候就可以利用Environment判断…

aggregation java_Elasticsearch Aggregation 多个字段分组统计 Java API实现

现有索引数据&#xff1a;index:schooltype:student---------------------------------------------------{"grade":"1", "class":"1", "name":"xiao 1"}{"grade":"1", "class":&q…

开发们 点广告-赚点BT币

2019独角兽企业重金招聘Python工程师标准>>> http://freebitco.in/?r14320 转载于:https://my.oschina.net/wangtao/blog/180765

Asp.net页面的生命周期

介绍Asp.net是微软.Net战略的一个组成部分。它相对以前的Asp有了很大的发展&#xff0c;引入了许多的新机制。本文就Asp.net页面的生命周期向大家做一个初步的介绍&#xff0c;以期能起到指导大家更好、更灵活地操纵Asp.net的作用。当一个获取网页的请求&#xff08;可能是通过…

太赞了!微软《dotnet中文手册》火了,完整PDF开放下载!

这是微软高级架构师基于最新的.net编写&#xff0c;循序渐进地对.net/C#进行讲解。对于零基础可以作为.net的快速入门教材&#xff0c;对于高级程序员而言&#xff0c;这也是你的进阶之路&#xff0c;今天来了&#xff0c;就是缘份&#xff0c;看到了就送给你&#xff01;资料介…

你穿衣品味还不如AI,这有一款时尚着装网络模型

全世界只有3.14 %的人关注了青少年数学之旅有一件衣服的时候&#xff0c;怎样的小改动可以提升其整体的时尚性&#xff1f;近日 UT 奥斯汀、康奈尔大学、乔治亚理工和 Facebook AI 研究中心的研究者提出了一种名为 Fashon 的模型&#xff0c;用于给一件衣服进行改进&#xff0…

java的安装包下载 百度云_Java开发相关安装包网盘下载链接分享

虚拟机VMWare10软件 网盘链接&#xff1a;链接&#xff1a;https://pan.baidu.com/s/1dff3m0EBzMegtgRaJFEadQ提取码&#xff1a;8cafCentOS-6.6-x86_64-bin-DVD1.iso 网盘链接&#xff1a;链接&#xff1a;https://pan.baidu.com/s/13wIXuoJkza95U-rBs0AUpQ提取码&#xff1a;…

Git 远程分支的查看及相关问题

命令&#xff1a;git ls-remote -t 或者 git ls-remote --tag 运行结果如下&#xff1a; 0975ebc0f9a6b42ecbe066a50a26a678a0753b4d refs/tags/1.0 fecbbe3a7ed4c8b5305ddd77b69d7ee64acbefe5 refs/tags/1.0^{} 解读&#xff1a; 由于 tag 1.0 是一条带注释的 t…

分割移动微小物体

思路&#xff1a;1. 前后两帧相减&#xff0c;得到差分图像2.在差分图像里求像素最大的点&#xff08;最亮的点&#xff09;这样就得到&#xff0c;移动微小物体#include "check.h"#include <iostream.h>voidmain(){ DWORD t1,t2; IplImage *frame0; …

一个非常实用的Python SSH库

前言 Python的Paramiko库&#xff0c;它是一个用于实现SSHv2协议的客户端和服务器的库。通过使用Paramiko&#xff0c;我们可以在Python程序中轻松地实现远程服务器的管理、文件传输等功能。特别做智能硬件产品的同学要熟悉它&#xff0c;因为它能为你减少很多麻烦&#xff0c…

在腾讯,我的试用期总结!

在腾讯的 3 个月&#xff0c;我经历了些什么&#xff1f;大家好&#xff0c;我是鱼皮。最近不少小伙伴顺利毕业&#xff0c;入职了新公司&#xff0c;开始了人生第一段正式工作经历。但对于很多公司&#xff0c;如果你想要成为正式员工&#xff0c;是需要先经历几个月的试用期的…