【本篇为《如何有效实现软件的需求管理》第五篇,(第一篇第二篇第三篇第四篇第五篇,第六篇,第七篇,第八篇)】

好了,上面把需求处理过程的四个阶段简单介绍了一下,后面结合我们公司流程时还是会提到,不过接下来的话,毕竟是要讲需求的管理,所以还是先讲讲这个“管理”的一些知识。

一个软件或者硬件必然是有N多的功能组合而成的,而一般情况下每个功能其实都是来源于一个需求的,当然一个需求可能也会有很多个功能来实现的。所以对于需求的管理,我们不是在管理一个需求,而是在管理一堆需求,需求管理好了,这个产品才有可能做得好。

所以对于需求的管理,我们必然需要有很多严格的要求:

1.       需求管理必须流程化:

 

什么意思呢?因为需求的管理涉及了需求从被获取到分析到设计最后去实现这样子一连串的过程,每个过程其实都是缺一不可的(虽然在敏捷中可能过程的概念被弱化,但是事实上最基本的管理还是有的),而且过程之间是有必然的联系,比如我不可能获取了需求就去设计开发了,最后却发现做出来的东西不是客户需要的,这是因为你绕过的分析的阶段。

所以需求的管理对于过程的流程化很重视,需求需要严格按照流程来处理,每个过程最好由不同的人的来处理,并且过程之间转换时,需要有审核程序。

2.       需求管理必须有审核:

 

其实第一条里也提到了审核,审核这个程序也是非常重要的,因为需求涉及到的这么多过程都是需要人处理的,人处理的好坏会直接影响到这个需求的实现,获取得不对,分析得不好,设计得不佳,开发得不行,只要有一点做得不好,都会导致这个产品失败,所以我们需要审核,一般情况下每一个过程都需要一次审核,审核失败就重新来过,有些公司甚至有几重审核机制。

3.       需求管理必须欢迎变更:

 

“没有不变的需求,世上的软件都改动过3次以上,唯一一个只改动过两次的软件的拥有者已经死了,死在去修改需求的路上。”

 

现代软件开发中,变更已经是不可缺少的一个因素了,即使你初期软件设计得再好,总是或多或少在后期会有些需要变更的地方,增加或者减少或者改变功能点都是有可能的,所以我们必须欢迎变更,不然的话,客户会说,你的产品太差劲,连做些修改的都不行。

虽然我们必须欢迎变更,但是我们还是需要对变更做严肃的处理,做软件的人都知道,如果对于已经在开发功能做变更,会增加很多难度,不光成本上,时间上,更重要的是在质量上;如果是对于已经开发完的功能做变更,潜在问题可能更多。所以我们需要一套严格的机制来确保质量。

4.       需求管理必须有版本控制:

版本控制的好处是可以随时知道以前怎么改的,对于需求管理而言,这个是极其重要的,因为设计啊开发啊这种工作,经常在不停地修改数据,你经常会发现我今天改错,我想把几天之前的数据回滚回来,或者我不知道现在这个设计有没有问题,我想和几天之前的数据做个比对,这些都是需要版本控制的。

查看各种版本的数据与比较各个版本的数据,这是版本控制必须具备的,很多情况下版本控制还需要具备基线(Baseline)的功能,以比较产品最初设计与最终实现的变化。

5.       需求管理必须有可跟踪性:

所谓的可跟踪性,说得简单点就是这个需求自始至终所有的过程我都能跟踪到和记录下来,这样的目的,

第一,   是为了能完全管理到整个需求过程,如果整个过程中,每件事情我如果都能跟踪到,从理论上就会保证我能Control这个需求的发展过程,我就能知道这个需求谁在做,在做什么,什么时候能完成,已经修改了多少次了,谁负责审核的。。。。。。

第二,   以后很多时候,我们需要去查找以前的一些数据,这个可跟踪性就比较重要了,比如说,这个需求完成代码后发现严重与客户的要求不符,这样子的话,我就需要知道当初谁来负责需求获取的,谁负责分析的,谁负责审核的。

第三,   跟踪和记录下尽可能多的数据,可以使得报表能采用尽可能真实的数据,从而能真实展现现在、分析过去和预测未来。

(未完待续)

如何有效实现软件的需求管理 - 5相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    在我们公司,获取了一个需求以后, 首先,相关人员会先在DevSpec建立一个条目,添加相应的一些属性信息,比如标题,内容描述,状态,对应文档,优先级,紧急程度,负责人,对应版本,对应浏览器,对应数据库 ...

最新文章

  1. python编程代码示例_python编程线性回归代码示例
  2. 【正一专栏】孙杨累了就休息下吧!放弃也是一种完美!
  3. 非接触物体尺寸形态测量_如何确定接触式和非接触式测量之间的测量技术
  4. python世界第一语言_Java 跌落神坛!Python 正式登顶世界第一编程语言
  5. JUnit:使用Java 8和Lambda表达式测试异常
  6. win10休眠_电脑升级win10后,必做的5项优化,至少提升20%的运行速度
  7. python colorbar位置大小调整_python - matplotlib相邻子图:添加colorbar更改子图的大小 - 堆栈内存溢出...
  8. 关于人工智能的实现(猜测)
  9. 是什么浪费了运维的工作时间?
  10. mysql日期序列填充_mysql – 如何使用一系列日期填充表格?
  11. java前端开发_Java前端开发学习什么内容
  12. 实验二:线性时间选择
  13. 荔枝派Zero 全志V3s,NORFlash xt25f128b的移植
  14. 「抖音同款播放器」上市:卡顿、黑屏和模糊,这些技术来解决
  15. 按年、月、日统计数据sql写法
  16. trainning-----1
  17. mysql 语句 面试题
  18. Entity Framework Core系列教程-3为现有数据库生成实体模型
  19. python爬虫爬取京东_Python爬虫学习 爬取京东商品
  20. SnowNLP使用自定义语料进行模型训练(情感分析)

热门文章

  1. 考虑动态响应性能的社区综合能源系统基于模型预测控制的双层调度控制策略论文阅读分享
  2. application.yml与bootstrap.yml的区别
  3. oracle 与赛门铁克,Oracle与赛门铁克认证Veritas数据中心解决方案
  4. bug记录--------JSON parse error:Cannot deserialize value of type `com.test.EnumTest` from String
  5. 计算机视觉相关综述整理
  6. 第一章SKU核心思路
  7. HCSC 2022cvpr 训练报错
  8. Gif动图如何在线编辑?教你三步在线编辑动图
  9. (转载)JavaScript:双波浪号“~~“ 与 Math.floor()
  10. 【模拟】【NOIP2008】笨小猴 word