需求,谁说了算?

jopen 10年前

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

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

  那么需求谁说了算呢?

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

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

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

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

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

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

  噩梦,难道不是吗?

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

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

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

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

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

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

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

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

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

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

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

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

  比如:现在的问题

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

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

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

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

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

来自: 51CTO