需求之于软件的重要意义,其实每一个软件人员都知道,比如:
1、软件项目中40%到60%的问题都是在需求分析阶段埋下的隐患。
2、在需求审核上投入1个小时可节省10倍以上的错误更正时间。
3、返工开销占开发总费用的40%,而70-80%的返工是由需求方面的错误所导致的。
4、成功的需求开发管理能节省大量时间和金钱。
这样的表述很多资料上都可以看到。可能很多人都经历过这样的项目:
用户提出的需求不完整、不准确。
项目组无法准确理解,或即使理解却无法精确描述客户的需求。
需求经常变化,工作没完没了。
客户的需求象挤牙膏一样,不断提出断断续续,修改工作也是没完没了。
开发后期才发现误解了需求,开发人员被迫大量加班,修修补补。
功能都实现了,但由于性能、使用方面的问题导致用户不满。
客户的许多增强要求未及早提出导致软件后期维护费用陡升。
测试效果差,因为测试人员不明白软件要做什么。
交付了客户并不想要的产品。客户的修改意见没完没了。
为取悦客户,需求文档严重夸大其词,在开发设计时又不做严格的需求跟踪,交付的软件和需求文档大相径庭。
…………
这样的问题每个人都可以列出很多。需求工程不仅是一个涉及心理学、社会学、软件工程学的综合问题,并且它也不象编程那样可以精确定义其正确性,正是这样我们才更应该象研究技术问题一样真正下功夫研究需求问题的解决之道。
Weinberg大师的《探索需求》迟迟没有出版,那不如在这个等待的过程中先开始我们的探索之路……