需求-谁说了算!

来源:互联网 发布:个性化排序算法 编辑:程序博客网 时间:2024/04/19 09:26

 很多牛人的大作在说到需求时,大多数的人都会说需求是在产品构建之前必须要发现的那些东西ok,我同意此观点。

那么你呢?和我一样的观点吗?

 

那么需求谁说了算呢?

客户,购买者,管理者,出钱让我开发软件的人,使用者。。。等等,也许你列出的比我还多。他们说什么我就做什么,客户是上帝,要听客户的话,要站在客户角度想问题,做事情,领导才会中意你。从你的职业生涯来看,是这样的吗?

 

我举个例子,知名艺人某冰冰,最近身体不舒服,来到了医院。对医生描述症状说:最近有点恶心呕吐,头晕目眩,有点儿发烧,不消化,睡眠不好,脸上还长出了痘痘。冰冰其人虽然长得好看,身材火辣,但是性格强势,在耳濡目染中对医学知识也有一些理解。脾气也比较急躁,啥事都想越快办成越好,于是乎,她就展现了其女王的一面。对医生说到:我很忙的,想好怎么治了吗?这样吧。你给我开点阿莫西林,开几片安定,一盒健胃消食片,再来点去火的药。好了,就这些吧,赶紧去办。。。

 

软件开发过程中,是否你也有遇到类似的经历。

某总对某项目经理小刘说,我们要开发一套采购预算系统,需要管控每个部门的采购预算,控制企业的运营成本,采购的时候,各大小领导需要审批哪些东西可以买哪些不可以买,是否超出预算等,这个系统对公司很重要,小刘啊,你赶紧组织团队开发吧,时间紧迫,年底之前要上线。能不能拿年终奖,就看你了。

为了满足客户的需要,我们必须马上行动起来。

医生给冰冰开了她想要的药,项目经理开始制定计划,组织程序员,程序员开始编码,测试员准备环境,好一派热闹的景象。可接下来大家会面临的是什么?(停留思考片刻…)

噩梦,难道不是吗?

冰冰用药后没有效果,天天电话骂医生没用,自身又受病魔困扰;某总迟迟看不到成果,程序员不知道到底要构建什么什么样的产品,项目经理无法推进项目进度,用户反馈说这不是我要的。。。各种噩梦。。。慢慢的有人开始抱怨了,选错了人,选错了行业,选错了职业,有人换了工作岗位,有人转了行,有人开始感叹命运的悲催了。。。

这样的场景是不是在我们周围经常见到呢?

为什么会是这样的剧情?神啊!救救我吧!

老实说,这个世界上没有神,能改变现状的只有自己。

貌似跑题了,还好,此刻我已经惊醒。回到正题。

大多数情况下,医生面对冰冰这样的客户时,需要采纳的是其对病情的描述,而非开什么药的解决方案。(事实上,好的医生都是这么做的)。医生接下来要做的事情,抽血,量体温,或者把脉,拍X光片。。。搞清楚病人的病因。刚刚怀孕的症状和感冒发烧的症状有些相似,但是如何治疗却有根本的区别,难道不是吗?医生在找到病因后,开出处方1,2,3,这才是病人真正的需求。

软件开发过程中对需求的归纳,与医生开处方类似,但是医生比项目经理做得要好。为什么?医生诊断不力,后果会及时显现,严重程度可以评估得到。而一个软件系统,好与坏,谁去评估过?这也是造成乱象的原因之一。

项目经理在听取了某总的描述之后,接下来要做什么?组建团队,制定计划。。。当然不是,前文已说。

首先要明白的是,某总提出的仅仅是对未来软件产品的一个愿景,或者是一个期望,而绝非需求。在这个愿景或者期望之下,进一步理解它所涉及到人,部门,需要改善企业哪个环节的业务以及需要花多少资金来达成这个愿景。这个和医生需要了解病人愿意花多少钱看病其实是一个道理。

其次,理解愿景之下,找出当前的问题所在。正如医生给冰冰做的抽血,量体温,把脉,拍X光片,这一系列的检查。然而在软件开发过程中,认为这样的检查就是在收集用户的需求,或者这样耗时太长,耗不起。我认为这是大错特错的,做不起来,不是因为耗时长,而是所需的技能没有。然而实际上很多人都是在这样做(还没明白要做什么的时候,就已经开始构建产品了,建几个表,CRUD走起)。这样做的后果就是噩梦,噩梦啊。。。

很多人都这么做,并不代表这么做就是对的。当今社会世风日下,道德沦丧,崇拜金钱,很多数人为钱不择手段,能说这是对的吗?

在找出当前问题所在之后,其实需求也就呼之欲出了。

比如:现在的问题

1.部门主管知道部门今年的预算是10万,但是不知道到目前为止已经花了多少钱,都花在哪些东西上。那么未来的软件系统就必须让部门经理看到当前的结余,以及钱都花在了哪里。

2.采购申请,或者采购人员采购某物品之前,不能及时知道该物品的库存,可能出现重复采购,造成库存积压,资源浪费。未来的软件就必须显示当前物品的安全库存,以及消耗规律等参数,提供给采购人员作出是否要采购的决策。

3.。。。不一一列出了。

这里列出的1,2,3就好比医生开出的处方。冰冰的病要怎么治是医生说了算。

到此,你还认为需求是某总,某客户,某冰冰提出来的吗?他们提出来的只是愿景,期望,或者是现状问题的描述。而需求是你依据现状问题得到的解决问题的方法。

至于需求是如何通过程序来实现,这属于下一篇博文了。

原创粉丝点击