软件研发流程之软件需求篇

发表于:2013-01-23来源:Csdn作者:魔法师点击数: 标签:需求
软件研发流程之软件需求篇!说到软件,不得不想到咱软件"炮制"过程中最重要的的环节--需求分析和设计。 一般来讲需求的产生有4种情况:

  说到软件,不得不想到咱软件"炮制"过程中最重要的的环节--需求分析和设计。

  一般来讲需求的产生有4种情况:

  1、神一样的需求。由神圣的客户自行"调制"需求,我们充其量就是“炮手",客户指到哪咱就打到哪,无论客户的需求是否合理,我们都要实现出来。有时客户的需求会让我们对生活失去信心,可也没办法,变着法绕着弯给客户解释,碰到”讲道理“的客户基本上还是能接受的,如果碰到的是Monsignor(主教、大人)一样的客户,那就完了,记得有一次帮一个客户做bs模式的消息提醒功能,monsignor提出了一个要求,为了督促下面员工及时看消息通知,要求不打开浏览器就能提醒。好吧,于是我们用插件搞定了,这时monsignor还是不满足,要求如果员工关机自动帮他打开机器,态度极端强硬,可怜我们的售前MM说破了嘴皮,笑僵了脸部肌肉,monsignor才不情愿的同意放弃此功能,临了还不忘跟我们boss投诉说我们团队技术水平还需要大踏步提高才能跟得上发展趋势,不能坐井观天。实在是可怜了我们这些"青蛙"。

  2、幻象般的需求。这种情况一般客户只知道要做一个软件,实现连他自己也讲不清楚的功能,具体细节一概不知。此时我们就承担了既是主人又是男仆的角色,我们需要花较大精力模拟自己是主人,根据客户”大概的功能“做上一个需求调研分析报告,然后突然变成了仆人”跪着“送到客户那边等待客户审批。客户此时要么直接批了立马进入开发(反正后面可以推翻重来么);要么又变成了monsignor,增加很多自己臆想的功能。不过我们情愿碰到后者,总比辛辛苦苦开发完后被全部推翻的要好。当然偶尔也会碰到帅气的80后客户,一旦经他确认的需求他会负责到底不会随意更改。

  3、覆盖全球的需求。提出这种需求客户一般有着一夜之间"掌控全世界"、"统一全人类”的信念和决心。大概1年前,一个客户找上门,要做一个电子商务网站,说是“需求不多,钱不是问题”,只要和淘宝前后台功能一模一样就行,界面比淘宝漂亮点(该“全球通”客户认为淘宝的界面做的太随意,不美观),当我们都目瞪口呆的时候,“全球通”为了照顾我们,说是可以分几步走,先实现和淘宝一样的前台,能开店就行,后台先简单点,等上线后再完善。秉着客户就是上帝,我们不能拒绝客户的宗旨,我们只能以天价委婉的拒绝了该“全球通”客户,大概一年后“全球通”在qq上告诉我,他已经找到了一个团队能帮他开发出来,他说我们丧失了一次绝佳的“改变世界”的机会,说我们太可惜了。

  4、其他需求或民间需求。正因为这些需求让我们再次对软件产生希望和憧憬,我们赖以生存的保证,没有“其他需求",我们早就改行了。

  当今时代,做软件已经和以前完全不同了,除了一些公司依然在辛苦的”定制化“开发,很多都走上了产品化和行业化道路。产品化:如一些工具类软件(如360、美图秀秀、yy语音等等)这些软件通过分析用户的实际需求产生各种地道的功能(撇开其他方面不谈,勿喷),再如用友、金蝶,这个是强制性的,我们在此不多解释了;行业化:行业化软件种类繁多,而且很多行业化软件也渐渐的走向产品化道路,如各个传统行业依赖的软件(交通、质检、银行软件等等各种条线)。所谓模式不同,带来的收益和价值也不同,不能说哪个有前途哪个没前途。

  有时,我个人帮一些企业做一些小项目或小网站,我自己都有专门的配置框架或者cms等等,来一个配一个,来两个配一双。而且后期维护也方便,只需维护自身的核心框架就行。所以这里建议干一些”私活“或者有资源有人脉想自行创业的程序员来说,先积累一些技术资源再开工,早期那种拍拍脑门就干一个网站出来立马运营的模式不可取。

  回到软件的需求,其实个人认为最主要的还是切身为客户考虑,踏实仔细的对待每一个项目,认认真真把需求分析彻底,并本着灵活扩展的宗旨进行开发。早些年当我还是”菜花甜妈“的时候,跟着我的项目经理做项目,当时OA横空出世,其火热程度堪比当年的”李宇春“,很多公司都上马了OA项目,做的一个比一个”精美“,一个比一个灵活,一个比一个”产品化“,其实偷偷的说很多OA都是粗制烂造的,根本没有理解透彻客户到底想要什么,基本上千篇一律的”公文管理、通知公告、车辆管理、会议管理“,外加工作流自定义。当时我的项目经理一接到项目立马进入标准的“几步走”:1)粗略的看了看用户需求,然后进行OA改造,如用户需要库存管理模块,于是把原有的“车辆管理”改头换面再加点库存的元素立马OK 。2)强制性使用,基本上改造半个月后就交付用户,然后怎么复杂怎么培训,让客户潜意识中觉得该OA无比强大,强大的东西难用点是正常的 3)加功能立马收费,貌似把客户原有的功能都满足了,其实真正用的时候里面一些细节根本走不通。 这几步一下来,就造成了一个当时很普遍的现象,除了通知公告(伟大的qq让客户觉得在网页里有个伪qq很新奇)、考勤管理(这个谁用谁知道)等功能客户用了之外,其余功能就是一个摆设。当时这么好的一个OA软件模式,通过几年的进化不知道为啥就逐渐变成了“糟粕”,导致当时的客户一说起OA就是三个字“不值钱”。个人认为在我国流传和发扬的最好的行业是宗教,大家自行体会吧。

  到现在大家会发现,几乎很少人会做一个大而全的OA(政务软件除外,请自行体会),而是把里面的功能分拆,逐个细化需求和使用模式,把原本呆板的政务专用的OA变成了各种商业模式的产品:

  1、譬如有专门的兼容word和wps各种版本的文档管理、协同审批软件或者平台。这里我个人比较喜欢开源的open office外加word插件,配上一个数据库,足可以开发出满足很多用户需求的文档(公文)管理软件,当然电子政务有他特殊的标准,所以需求是一方面,标准我们也是要遵循的。

  2、专门的会议管理软件。除了原有OA的会议管理审批,现在出现了很多web或桌面在线会议、手机客户端会议功能,个人很喜欢,我喜欢和我的团队成员在室外行走的时候开会。

  3、通知、交流功能互联网化、个性化。如果只是发发通知,说说话,用qq就可以。yy语音是我比较看好的软件,如果将来能完善一些功能如语音智能识别,个人觉得完全可以像360一样统治我们的部分桌面。现在yy语音开始涉及教育、商城,走社区路线,我个人不是太认同,太早拉长了战线,当然为了风投另说。个人认为没有什么比先统治用户的桌面更有价值和未来发展前景。

原文转自:http://blog.csdn.net/shenyisyn/article/details/8524482