在软件开发中,需求分析和需求管理一直被认为是软件开发成功与否的关键。
在CMMI中,需求管理是CMMI2级的过程域,需求开发是CMMI3级的过程域。
在瀑布型生命周期当中,安排了需求分析阶段,一般也安排需求分析里程碑评审。
瀑布型生命周期存在了很多年,曾经几度写入到软件开发的国际标准、国家标准当中。

由于瀑布型生命周期如瀑布般顺流而下,在设计阶段开始后,根据需求文档的结果来开
展工作,要求需求文档的结果比较清晰、稳定。所以对于需求确认,往往地采用签字的
方式,希望各方慎重、全面、充分的确定需求。

签字确认需求文档这个做法几乎成为一个标准过程,在大大小小的软件开发中出现。
那么软件工程发展了这么多年之后,发现经签字确认的需求仍然有大量的变更,不禁要
问:需求文档需要签字确认吗?
在软件没有开发的时候,分析需求需要各类想象,对于目前一般规模的商业软件(全部
12人月工作量以上)而言,而无论做得如何仔细,就算访问所有的干系人,也不能把所
有环节全部考虑到。而在软件开发的过程中,时间在推移,随着时间的推移,用户的需
求会不断的发掘、修正;开发人员对软件需求的认知也是随时间推移而渐渐的清晰。而
随着软件的开发部署,经过初步的使用,变更的要求、升级的要求就自然的产生了。

所以需求在变化,或者说需求在演化,这是客观规律。

在需求的演化之中,签字确认有用吗? 当然有用,用处是在这个签字的一瞬间保留了需
求的一张快照,这张快照对于履行合同是有用的,在短期内指导后续的工作,但是除此
之外并没有太大的用处。因为这演化中的需求会渐渐地与这张快照不一样。

传统的瀑布型生命周期中就需要设计需求变更管理流程,每一次的变更都需要多方的签
字确认。为了维护一致性,还需要追溯需求文档、设计文档、代码、测试用例的一致性
。需求变更成为不少项目风险的最大来源,成为大量项目不成功的最大原因。

签字的另一个问题是签字很麻烦,对于甲方而言,签字意味着责任,往往要拖到最后,
认为各方面都没有问题后才能签字。而需求分析或变更都是后续工作的前提,签字的拖
期也将推迟后续工作的开展。

因此签字确认需求文档的弊端有:
1,  签字不能真正的确认需求。
2,  签字过程慢。

所以,值得回过头来反思:签字确认的需求有用吗?有没有更好的方式?
如果需求文档写在软件运行之后,那么以软件运行的截屏为主体的需求文档肯定比软件
运行之前想象之中的需求文档更加精准,而且书写文档所费工作量大大减少,而且这个
需求文档经过简单的转换,就可以成为用户文档。

需求文档可以不签字吗? 之一相关推荐

  1. 需求文档可以不签字吗之二-理论推导

    怎么可能在没有需求文档的情况下,把软件开发出来? 完全有可能.回想下当年读书的教研组,回想下自己的编程经历,总有至少那么几次, 在种种的原因下,在没有需求文档的情况下,软件已经编写好了.也许那个软件规 ...

  2. 需求文档可以不签字吗之三-一个实例

    AB公司试图管理自主产品的许可证发布,保障软件不被盗版,并进行统计,要利用已经 有的AI系统扩充这部分功能.新功能主要分成2块:1,产品管理,2,许可证发布 在产品管理里主要维护产品和产品版本的信息. ...

  3. 如何让不懂信息化的甲方客户看懂需求文档,并确认签字?

    需求规格书编写完成后如何让客户快速.顺利地确认签字?这是个常见问题,每个软件项目经理和需求工程师都遇到过,要解决这个问题要从甲方客户与软件工程师两个方面进行分析和找答案. 从客户方面看,存在两个问题: ...

  4. 第一次写需求文档的心酸历程

    先划重点: 功能需求 就是把具体的用户需求,变成软件的功能要求. 比如客户要把交通事故照片通过app发给保险公司.这是用户需求. 那么功能需求就是在这个模块下,要具有提交报险事故照片功能,上传现场照片 ...

  5. Java 实现 word 文档的在线签字盖章功能

    1:需求 在某些公文流转.电子政务.OA.CRM.ER P.档案管理.人事管理各种系统开发中,某些客户可能会希望通过系统来实现签订某些电子文件或合同,而非还是必须通过纸质文件来实现.而电子签章就是为实 ...

  6. [转]产品需求文档(PRD)的写作

    产品需求对产品研发而言非常重要,写不好需求,后面的一切工作流程与活动都会受到影响.转载一篇文章,关于产品需求文档写作方面的,如下: 本文摘自(一个挺棒的医学方面专家):http://www.cnblo ...

  7. 【敏捷开发】从需求文档出发聊敏捷

    做这项调研的初心是什么? 需求文档解析成本太高,还存在高风险. RD解析一遍,QA解析一遍.而且还存在风险 让产品开发过程更加和谐,而不是紧张和对峙 需求的用户视角,非PM,RD视角 当自问心中的用户 ...

  8. prd模板案例_第三课:产品需求文档——案例分析

    导语 今天我们来分析两个产品需求文档(PRD),它们的风格很不同,但是我们可以透过形式上的差异看到一个产品需求文档必要的核心主干架构--我们要做的就是一个剔掉鱼肉看到鱼骨的过程. 01 案例一分析 我 ...

  9. 怎样快速查看文档是否统一_开发到底喜欢看怎样的需求文档

    ​一份好的需求文档不仅能提高开发效率,还能避免需求误解导致的返工. 开发喜欢看怎样的需求文档?我总结了以下7点. 目录 需求文档必备的基本要素 分工要明细,避免多人看同一份文档 逻辑要清晰,避免口口相 ...

最新文章

  1. 开发板tftp:timeout问题
  2. 按钮在执行frame动画的时候怎么响应触发事件?
  3. go语言有哪些劣势?
  4. 中班音乐活动 机器人_【教育生活】音乐浸润童心,专业引领成长 ——记柯桥区中心幼儿园教育集团音乐项目组教学展示与研讨活动...
  5. 基于matlab 的燃油喷雾图像处理方法,基于MATLAB的燃油喷雾图像处理方法.doc
  6. Unicode汉字编码
  7. c 怎么更改计算机的默认打印机,C#Winfrom系统打印机调用/设置默认打印机
  8. 一个故事讲完 CPU 的工作原理
  9. c语言自学路线图,C语言的知识体系图,C语言学习路线图
  10. 易基因|文献科普:MeRIP-seq揭示m6A RNA甲基化改变导致亨廷顿病(HD)小鼠海马记忆障碍
  11. 小米盒子显示未连接电脑连接服务器,小米盒子不能连接电脑的原因与解决办法...
  12. 美元符号 ($) 在 jQuery 中是什么意思?
  13. 逆向爬虫11 selenium基础
  14. 【笔记 - linux基础入门 01】基本概念及操作
  15. html中的列表、表格、表单
  16. C#控件开发---控件属性编辑器
  17. html传递只能用this,Html中使用JS $(this).attr('action'); 无法获值
  18. Java虚拟机讲解 与 搞垮Java虚拟机
  19. Linux 监听进程状态
  20. JS点击列表li获取li的id

热门文章

  1. Hashtable TreeMap HashMap LinkedHashMap的区别
  2. IO流以及他们的种类区别 序列化反序列化 如何实现
  3. 哔哩哔哩注册--表单练习
  4. git pull 是到工作区还是暂存区_每天一Git之简单理解工作区和暂存区
  5. python爬虫课件_Python爬虫教学视频(附课件)
  6. python注释可以辅助程序调试吗_Python 注释
  7. es6删除数组某一项_javascript基础系列:数组常用方法解析
  8. 小程序云开发搜索功能的实现正则_几行代码实现小程序云开发提现功能
  9. systemd常见使用总结
  10. linux imq原理图,编译IMQ模块