做好软件需求分析的重要性
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
做好软件需求分析的重要性
需求开发没有做好会出现什么后果?需求问题的代价?需求分析如何做?为什么要做?
首先来看下需求问题产生的代价模型:
需求问题的代价
在需求阶段消除问题的代价最小,而如果需求问题等到产品发布出去后才发现的话,那修复的成本就会N倍的增加。
不合格的需求分析:
1、没有足够的用户参与;
2、忽略了用户分类;
3、模棱两可的需求;
4、不必要的特性;
5、自我猜测的需求;
6、过于简单的规格说明;
7、用户需求的不断增加;
不合格的需求很多很多,很难说出所有,但需求分析没有做肯定会有影响。
需求没有做好的后果一般会有下列现象:
1、浪费时间和资源来满足用户并不需要的需求(过度实现一些功能);
2、开发出来的产品技术上先进,但不满足用户需求;
3、总是需要比较长的时间来达成对产品设计的共识;
4、在产品设计,开发和测试工作中对于用户需求的解释不一致;
5、员工会厌倦因需求不断被重新解释而导致的返工;
6、未说明的或不正确的需求会导致员工与用户间的不满;
7、不稳定的产品,用户的不满意对我们未来的市场造成损失;
8、浪费时间,增加成本,使得在一些投标的项目中不能低价;
从上面2方面可以看出,需求没有做好,对后续产品来说是巨大的灾害,也可以说需求是源头,也是站在统领的位置上,那么如何来做好需求分析这块呢?首先了解下,为什么要做需求分析,什么是需求分析,需求分析有哪些方面。
为什么要做需求分析,从上面2个方面就可以看出做好需求分析的必要性,再具体一点:
1、“决策性”——要不要做这个产品,通过对市场需求的分析来决策项目是否需要立项;
2、“方向性”——良好的需求分析可以对项目人员明确方向,让项目成员知道下面应该如何实施;
3、“策略性”——既然知道了为什么要做需求分析,就需要了解什么是需求分析,及如何做。需求分析并不是简单的对与错,比如说做一个产品,“做技术最先进的软件,还是做最好卖的软件”,这个需求有错吗,没有,只能说需要从不同的地方去考虑,去定位。
“ 需求分析”不代表“用户要求什么就是什么”也不代表“我们能做什么就做什么”,做为需求人员,在进行需求分析的时候,首先应该明白用户的需求,然后再加上自己的分析处理过程,知道哪些我们现在能做,哪些我们做不了,哪些我们咬咬牙齿能做,需求人员在做需求分析的时候不能一味的成为客户的传话筒,要有自己的分析。
在“需求分析”中一般可以从三个方面去考虑:
1、功能需求——产品应该完成哪些功能,即向用户提供的功能,一般来说这个都是比较硬性的标准;
2、非功能性需求——用户可能不能明确告诉你的一些需求,比如说性能达到什么要求,可靠性方面,响应时间,扩展性,性能方面等,这块的内容并不是说用户需要,而是说不知道需要做成什么样的,我们不能不做,做了只会对自己受益。要不然等到后期用户使用感觉这慢,那不爽,那倒霉的还是是自己;
3、一些约束——在需求分析中需要考虑一些条件约束,规则等,比如客户的约束,行业的约束,法律的约束以及自己的约束等,这些都需要在需求分析考虑清楚,要不然做出一款白人狂殴黑人的游戏给黑人玩,那就惨了……
需求——就是抓住用户“真正”的需求,抓住用户群真正的“需求”。
分析——就是分析一大帮人的行为习惯,然后由需求人员来总结归纳。