需求管理一:需求的分析

 

(原创文章,欢迎转载,请注明出处)

引言:最近找工作,就把几年来做需求的想法感受总结一下,一是提高自己,二也是请您斧正。

CMMI 将需求管理过程域(PA)分为5个:

sp1.1 理解需求:与需求的提供者对需求的含义达成一致
SP1.2 获得对需求的承诺:获得项目组成员对需求的承诺
SP1.3 管理需求的变更:在项目进行中,管理需求的变更
SP1.4 维护需求的双向可跟踪性:维护需求和工作产品之间的双向可跟踪性
SP1.5 确定项目工作与需求间的差异:识别项目计划、工作产品和需求之间的不一致



这5个特殊实践(SP)为项目中的需求工作明确了方向和具体工作内容。然而需求的收集和分析并非易事。
需求的分析有如下的困难:

1.需求经常变动
有些变得快的客户可能话刚出口就翻了。我去客户那里听需求,往往要到签字画押的时候,客户又反水了。网上有些朋友引用:“妖要是有了仁慈之心,就不再是妖,是人妖。”(——唐僧 《大话西游之大圣娶亲》)来说明需求的变化。我觉得很贴切,哈哈……

2.客户说不清楚
不要以为客户对熟悉的事情就能说清楚,事实上包括我们,对熟悉的东西都不能说清楚。比如说去买个橡皮手套,手指头的粗细,手掌的宽厚,恐怕要佩戴一下才知道,不能仅凭橡皮手套的外包装上的大、中、小三个字去选择。橡皮手套的厂家也了解了这点,于是把手掌的小拇指根部外缘到虎口的位置在外包装上做了个尺子,拿自己的手对比一下这个尺子,即可知道这个橡皮手套适合不适合自己。


3.分析人员或客户理解有误
分析人员和客户所占的角度不同,造成理解不同,记得当年有人质疑电视剧里插播广告太多的时候,一个电视台的专业人士回应说:“你弄错了,我们是在广告里插播电视连续剧!”往往因为立场不同,造成理解上差别非常大。


4.用户与开发人员沟通障碍
这个是在需求工作中遇到得比最棘手的问题,我在一家工控企业工作,主要是自动化领域。而我们的客户是做电池的,属于电化学领域。当然有一定的交叉,但还是差别很大,沟通起来非常费力。遇到比较强势的客户,甚至会要求你的怎么做怎么做,但实际上他一点都不了解,沟通的过程异常艰辛。同时,我们有时从专业角度去分析为什么不能这样实现,但客户听了以后,就说谁谁实现了(理论上根本实现不了,忽悠人的),你们也必须实现! 如果是同一个领域的,有相关的知识作为沟通基础的话,难度会大幅度下降。

5.隐含需求
一个需求其实往往包含着很多方面,由此衍生出很多的需求。比如说一个功能需求,客户要界面尽可能显示出所有的信息。这个问题就很复杂,因为电脑屏幕的分辨率有大有小,全屏的时候和是一个不是全屏的窗口,所拥有的绘图面积是不一样的。所以隐含着,不同界面大小下,应该怎么组织界面元素的问题。


6.很多其他的原因
……



马克思说过一句话,一切的节约归结为时间的节约。并且,哲学上有一个原理,即存在即合理。 通常,客户看似提出得不合理的需求,背后都有一个非常合理的原因所支撑着。所以我认为,一个产品的需求:

  • 需求一定是成体系的,彼此呼应,相互支撑;
  • 需求是层次化的,高层次的需求支配着低层次的需求,低层次的需求支撑着高层次的需求;
  • 需求一定是合理的,所谓不合理的需求,一定是背后的原因不合理,而不是需求本身。


促使功能需求产生的根源
最终都是基于对时间的节约。当然,这个对时间的节约对实践的指导意义不大,可以从以下几个方面考虑需求产生的根源:

 

1.技术

2.易用性

3.安全性

4.成本

5.利益

6.其他

 

这里所说的是需求产生的根源,并不是需求非功能方面的特性。我们逐一看看:

  • 技术 往往能带来巨大的市场需求。使得原来客户天马行空的幻想变为现实,可以产生实际的效果。比如典型的Intel看到桌面级别没有一个合适的消费级总线,于是发明了USB,您现在看一看,只要沾到消费类的东西,还有不支持Usb的吗?Intel即使不做芯片,靠专利也能赚得瓶满钵溢。
  • 易用性 这个对需求的影响最大。易用性包含多个方面:容易理解,容易学习,容易操作。从客户来说,易用性往往是需求产生的最重要的根源之一。如symbain 的智能手机比 Android真的差多少吗?不见得吧,从功能上说,我觉得symbain比Android要好用。但它的易用性绝对没有Android好,所以,人们会摒弃它,当然这只是原因之一。又如汽车的自动档和手动档,其实是从易用性的角度去考虑得到的需求。当然,这个需求还会附带的提高了安全性。

       对于一个产品,客户不是唯一的“客户” ,一个需求出来以后,需要开发人员开发,测试人员测试,维护人员维护。易用性也体现在开发、测试、维护上。于是,就演变成一些非功能性的需求:可靠性需求、效率需求、维护性需求、可移植性需求等。如,开发人员需要开发这个需求的代码能很轻松的被其他人员所理解,那么就需要对接口统一化、算法标准化等等的工作;测试人员希望这个需求是好测试的,如汽车一般会把内部的CAN总线预留出来,便于汽车的测试。维护人员很轻松的维护设备,如汽车是预留了个CAN接口,但我们又不是开发人员,我怎么知道协议对不对?好不好?于是又开发了汽车的解码器,给维护或维修人员,便于他们定位问题和故障。

  • 安全 ,也是产生影响需求的重要因素之一。如为了防止人们不寄安全带,所以发明了汽车安全气囊。为了防止小车撞大车,大车的车厢高,而小车的驾驶室正好没有防护,国家都强制大车的车厢底部两侧都装有防撞栏。诸如此类的需求其实非常多,不胜枚举,当往往现实中该原因会被成本原因所制约。
  • 成本 ,成本往往是最重要的影响需求的原因。如客户为了节约生产中的成本,可能会斥巨资去发明一个设备去提高生产效率。又如,防撞栏的事情,大车的防撞栏本来是一条重要的生命线,国家明文要求大车必须安装,但因为成本的原因,大车的防撞栏有些地方基本上就是用细细的铁丝扎一个,更本起不到效果,由于汽车厂商不负责安装防撞栏,并由此催生了一大批为大车加装这种“纸糊防撞栏”的第三产业。是在是汗啊。像福岛核电站的泄漏、BP在美国的石油泄漏,都是成本战胜安全的典型例子。这个因素要在需求分析时和安全因素综合考虑。
  • 利益, 利益产生的需求往往看起来不是个合理的需求,得不到其他需求的支撑。如一个客户中的某个代表,想彰显自己的存在与价值,提了个与产品的整体架构、市场背离甚至是抵触的需求。又如,一些管理不正规的地方,极个别的别有用心的人想快速致富,提出一些需求根本无法实现。公司为了生存只能采用商业手段摆平。
  • 其它因素,其它因素其实还有很多,如客户的心理、道德等等一些较为主观的因素也会影响需求的产生。如有些客户就是喜欢Apple、就是不喜欢Android,而有一些客户就是喜欢Android、不喜欢Apple。让他说为什么,他说不出来。Apple时尚吗?Android的也有时尚的机型。Apple游戏多吗?Android也有不错的游戏。不过是心理因素作祟吧。又如,该行业有A、B、C三家公司,客户以前经常使用A公司的产品,B公司进入这个客户时,这个客户就会提很多类似A公司的需求,其实并不是B公司的产品用起来不如A公司,甚至有些超过了A公司,客户的心理接受有一个过程,他可能认为只有A公司做得好……

再回头看看需求为什么变动。需求变动往往是通过这几个原因权衡斗争的结果。需要通过分析,才能把握变动的规律。

 

案例: 一家大公司需要红外热像仪做测试监控,需要在测试过程中的最后几分钟内对测试对象拍照。

 

需求到了我的桌子上,我问了如下问题:

  1. 为什么要使用红外热像仪?
  2. 为什么不用热电偶、热敏电阻或红外点温计?

 

原来客户需要得到测试过程中,测试物体的面温度,需要得到整个测试面的最高温、平均温度以及环境温度。一是了解测试对象的发热情况,进而确定其安全情况。同时,在测试过程中,有裸露的金属片上有较大的电场,会对接触式测温产生严重的影响。测量点的温度基本就否定了。于是我分析,这是一个安全 原因产生的需求。

 

客户后来又提了个需求,需要一台红外热像仪测量多个测试对象。

 

我提出了以下问题:

1.测试对象全部同时到达拍照时间怎么办?

2.谁来移动红外热像仪?

 

第一个是技术问题,第二个是个易用性问题。但支配产生这这个需求的是成本 因素。因为红外热像仪一台需要10W RMB左右。客户想减少成本。提出来后,因为客户不能解决测试对象的一致性问题,即测量对象都在测试时间是相同的,通过先后启动测试,规避测试对象同时达到测试时间的问题。只要时间足够,配合软件,让人工移动红外热像仪即可。最终还是选择一个测试对象一台热像仪。

 

恩,仔细考虑这两个需求,案例中安全战胜了成本 ,但实际生活中大部分的例子是成本战胜了安全,如最近的福岛核电站的事情。所以,对于这种需求,一定要手拿两套解决方案,防止需求的变动带来的分险。设计软件时,我们是先按照签订的合同上开发的,但实际上,对两个需求都做了分析,抽象出大部分相同的地方,如果客户改变主意了,呵呵,改动起来代价也很小。

 

 

我在整个项目管理中,发现易用性产生的需求变动最大,且还带有一定的主观色彩,对于此类需求,我们一般是仔细分析客户的使用场景,反复试验,提出改进方案。用真诚打动客户,让他们接受主观上的差别。如果客户一再坚持,我总是在设计中留下伏笔,防止客户改变主意。(To be continued...)

 

(原创文章,欢迎转载,请注明出处)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值