在我们公司,获取了一个需求以后,

  首先,相关人员会先在DevSpec建立一个条目,添加相应的一些属性信息,比如标题,内容描述,状态,对应文档,优先级,紧急程度,负责人,对应版本,对应浏览器,对应数据库等等。。。

  提交完了条目以后,由于这个条目设置了一个负责人,所以那个负责人登录系统就可以马上看到自己名下有这个条目,他就会马上去处理这个需求。(可能有些人没登录系统去看,我们也可以设置Email或者手机短信的自动提醒功能)

  这里提到的“负责人”,在不同的过程里,负责人都是不同的,比如“评审”阶段就有专门的评审负责人,普通人无法成为评审负责人,哪些人在哪些过程里能成为负责人是可以在流程中设置的。而上面提到的提交完条目后,一般情况第一个过程就是要审核刚获取的需求,负责人审核通过后就可以把这个需求从“审核”状态改到“需求分析”阶段了,当然负责人也会改变,“需求分析”过程的负责人就会马上知道自己有事情干了。

  就这样,经过一个一个的过程,经手了一个一个的负责人,这个需求就逐渐从一个只有一个思想,到有了轮廓,再设计出里面的框架,然后最后被实现。

  其实,大家都是这么来处理需求的,不同的是,我们通过一个工具来管理这个过程,而有些公司只是就人工来做一下。我们这么做,好处和坏处其实都有,正如之前有个客户问,你们这么做的话,是不是每一个需求的处理效率会降低?对,的确会降低,我们承认,因为这些都是严格的流程,而且是在一个系统中管理,肯定没有他们口头直接说一下快。但是,我们考虑的是我们是在卖产品,牺牲一部分的效率来确保产品的质量,我们觉得划得来,毕竟质量才是最重要。人家虽然速度快,但是问题也来得多,需求多的时候,这个忘做了,那个做错了,或者相互责任推来推去的事情多着了,最终导致产品质量出问题的事情比比皆是。但是我们用了系统以后,就避免了这些事情,实践也证明了我们这么做以后,产品质量是得到保证了的。

  当然,产品的质量也不是简简单单像我说上面说的“经过一个一个的过程,经手了一个一个的负责人”就能马上实现了,这里还会涉及到很多细节注意点了,待我一一道来。

我之前说过需求管理有几个严格的要求,流程化和审核机制大家其实已经看到了,其实在某种程度上,审核是流程化的一部分,因为审核过程本身就是需求处理过程中一个过程而已,我们只要在流程中设置了这种过程,安排负责人去负责就行了,当需求进入这个过程,就自然有人会去审核了。

  如果把上面两个要求看成是需求管理的基础的话,那其他几个严格的要求:欢迎变更、版本控制、可跟踪性,就可以看成是确保产品质量成功的关键点了。有了基础才有可能成功,有了关键点才能保证成功!

  欢迎变更:

  欢迎变更的重要性大家应该知道了,变更其实也就是需求经常变,从某种程度上也就意味着产品的质量下降,因为这个需求你不断变化,今天刚写好这段代码,明天要改成那样,后天又要大改,谁都知道有潜在风险,而且还有与之有关联的功能呢?你突然改了个接口参数,人家可能还不知道了。靠测试?测试人员也没法很好解决这个问题,因为今天刚测完这个功能,明天却大改了,但是那个测试人员虽然看到这个功能需要测试,但是他却可能认为昨天已经测好了,是不是忘记关闭了,所以就去测其他功能了。

  那怎么解决呢?也很简单,当有变更的时候,

  首先,尽量让相关的人知道,让开发知道,让测试知道,让需要我们接口的人知道,这样子大家就都会同步就完成自己要做的事情,不会出现需要做的人却不知道他要去做这个事的情况。在DevSpec中,我们可以采用变更自动通知功能来实现,因为在DevSpec中一个需求总是和它的开发任务和测试任务关联在一起的,所以当需求有了变更以后,只要发送一个通知,开发人员和测试人员就能马上看到变更,就能及时去做他们的工作了。

  第二点就是,尽量把影响的范围搞得清楚点,让开发知道哪些地方可能会影响到,做的时候小心点;让测试知道这个改动会造成哪些地方有潜在的Bug,需要重点测一下。在DevSpec中,我们会有专门的功能让设计人员和开发人员注明影响到的地方,需要重点测的地方,而且这个功能可以设置成强制,只要有变更,设计人员和开发人员就必须注明,甚至可以要求测试人员也注明测了哪些点,可以让设计与开发人员检查是否有遗漏。

  第三点就是,针对任何变更(特别对于瀑布模式那种公司),因为关系到了可能会影响质量、进度及成本,风险很大,所以对于变更的内容需要专门的评审流程,评审通过后才能开始开发。在DevSpec中,我们针对这种情况,就会经常启用变更管理视图,在这个视图中,会有特别的流程对变更做评审,在次期间,这个需求是没办法被任何人转到开发环节的,也避免了有些人不清楚情况,直接就把没审核的需求直接让开发去做了。(当然,我们现在很多产品已经是用敏捷开发的模式了,所以这个功能就用得比较少了)

  这样子做的话,我们还是能把质量掌握在自己的手中,也就是把公司的前途掌握在自己手中。

  (未完待续)

本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

如何有效实现软件的需求管理(6)相关推荐

  1. 如何有效实现软件的需求管理 - 7

    [本篇为<如何有效实现软件的需求管理>第七篇,(第一篇,第二篇,第三篇,第四篇,第五篇,第六篇,第七篇,第八篇)] 在我们公司,获取了一个需求以后, 首先,相关人员会先在DevSpec建立 ...

  2. 如何有效实现软件的需求管理 - 1

    [本篇为<如何有效实现软件的需求管理>第一篇,(第一篇,第二篇,第三篇,第四篇,第五篇,第六篇,第七篇,第八篇)] 前言:   开始在CSDN写博已经有差不多三个月了,主要是把我这几年在软 ...

  3. 如何有效实现软件的需求管理 - 5

    [本篇为<如何有效实现软件的需求管理>第五篇,(第一篇,第二篇,第三篇,第四篇,第五篇,第六篇,第七篇,第八篇)] 好了,上面把需求处理过程的四个阶段简单介绍了一下,后面结合我们公司流程时 ...

  4. 如何有效实现软件的需求管理 - 3

    [本篇为<如何有效实现软件的需求管理>第三篇,(第一篇,第二篇,第三篇,第四篇,第五篇,第六篇,第七篇,第八篇)] 我们先看下面一个简单的软件开发中的流程图,大家可以看到需求阶段主要是由这 ...

  5. 如何有效实现软件的需求管理 - 2

    [本篇为<如何有效实现软件的需求管理>第二篇,(第一篇,第二篇,第三篇,第四篇,第五篇,第六篇,第七篇,第八篇)] 什么是软件需求呢?为什么它需要管理呢? 软件需求完全严格来解释就是: ( ...

  6. 如何有效实现软件的需求管理 - 8 (全文完)

    [本篇为<如何有效实现软件的需求管理>第八篇,(第一篇,第二篇,第三篇,第四篇,第五篇,第六篇,第七篇,第八篇)] 版本控制:   在我们公司的实际需求管理中,需求的版本控制用的地方非常多 ...

  7. 如何有效实现软件的需求管理 - 6

    [本篇为<如何有效实现软件的需求管理>第六篇,(第一篇,第二篇,第三篇,第四篇,第五篇,第六篇,第七篇,第八篇)] 需求分析阶段完了以后,就是需求设计,然后就是需求实现了,过程看起来很简单 ...

  8. 如何有效实现软件的需求管理 - 4

    [本篇为<如何有效实现软件的需求管理>第四篇,(第一篇,第二篇,第三篇,第四篇,第五篇,第六篇,第七篇,第八篇)] 第二阶段:需求分析与设计(怎么去做) 既然需求已经获取了,也就是说客户已 ...

  9. 如何有效实现软件的需求管理(1)

    之前把软件工程中的测试部分,文档管理部分都已经做了一些简单的介绍,因为都是我实际工作中经常接触的,所以也算是我的一些经验吧,不过我也不是每个部分都接触得很深入,总是有些地方讲得不太好的,也请大家谅解, ...

最新文章

  1. 阿里云ECS Cloudbuild开发者大赛等你挑战!
  2. 大数据发行版本+组件中的竞品/等同地位关系(持续更新中)
  3. 富人和穷人的八大差异
  4. LeetCode —— 365. 水壶问题(Python3)
  5. centos7 网卡配置vlan_centos 7 下多网卡绑定+ vlan 网卡配置
  6. matlab costas环,MATLAB写COSTAS环的问题。
  7. 设置货币值中使用的小数位数
  8. vue : 无法加载文件 C:\Users\xxx\AppData\Roaming\npm\vue.psl,因为在此系统上禁止运行脚本
  9. Centos解决ppp: compressor dropped pkt
  10. 51单片机和52单片机区别是什么?51仿真器有必要买吗?
  11. Gitflow Git工作流
  12. 重磅!Spring Cloud 生态再添新套件:Spring Cloud Tencent
  13. 《Using OpenRefine》翻译~1
  14. vlan的基本指令_vlan划分命令
  15. Oracle 常用 语句
  16. jenkins更换初始登录密码
  17. 程序员的自我修养--链接、装载与库笔记:第一章温故而知新
  18. android app内部打开word pdf .doc类型文件的两种方式
  19. 大学生用计算机,大学生计算机科学基础
  20. VIJOS-P1153 猫狗大战 dp 贪心

热门文章

  1. 转:TestLink1.9.3测试用例:Excel转换XML工具二实现代码
  2. 1-5-20:球弹跳高度的计算
  3. 了解AdvStringGrid
  4. C1 FlexGrid 行Style设置问题
  5. Objective-C 学习笔记15 NSProcessInfo
  6. 进入公司前与Boss的会谈话
  7. struts iterator 标签 之 indexId
  8. linux日志查看面试题,Linux 运维面试题 三剑客(sed awk grep)整理
  9. 【Groovy】闭包 Closure ( 闭包调用 | 闭包默认参数 it | 代码示例 )
  10. 【Flutter】Flutter 混合开发 ( 简介 | Flutter 混合开发集成步骤 | 创建 Flutter Module )