昨天一起参与需求的会议,有些感想随便写下.
感觉目前我们需求的主要问题还是没有客户参与,很多东西还是自己想想就决定了,还在走以前的老路.
程序员在编程期间,自行决定需求的事情不希望重演.
充分详尽地描述需求,是项目成功的关键.糟糕的需求,也是失败的母亲,教训不要太多了.
后期改变需求的成本是很大的,
就拿现成的例子来说,不算设计、测试等其它的成本,仅开发来说:
收银屏幕分辨率的需求变动,成本三天;
交接班的需求变动,成本是一周.
这些还是较小的需求变动,产生的成本已经可观了。诸如此类的需求变动在早期项目里是普遍存在的,成本可想而知了.
做需求的主要目的是
收集和挖掘客户的真实需求,这里强调的是
客户而非我们.实际上,我们以前拍板的需求,最后有很多到客户那里还是按客户的要求修改了。
有说需求是不变的,需求的变是因为还没有掌握真正的需求.
也有说需求是变化的,的确有部分需求是变化的,就做需求的平均水平来说,75%左右的需求是不变的.至于最后发现75%的需求是变化的项目,实际上就是需求做的特别糟糕了.实际上,我们已经做过很长一段时间了,就需求的平均水平来说,保持85%以上的需求不变是理所当然的.我们尽量往需求是不变的上面靠,而非需求是变化的上面靠.
(25%的需求变更,实际导致了返工总量的75%-85%)
需求是需要挖掘的,客户不懂软件,但是他们懂业务,他们不知道用软件怎么表述,但是,他们的确知道自己想要什么.
好的需求调研人员,能够挖掘出客户的真实想法.
需求是重要的,需求的细小变动,也可能会引发整个系统的重新洗牌.蝴蝶效应在软件里是常见的...
就软件部分,拿我们目前的项目来说,如果前期做好了需求,至少可以节省8个月以上的时间,仅计算公司的运营成本,相当可观的浪费了.
目前项目略微统计下:
开发时间:收银3人/月,PDA2人/月,通讯1人/月,后台3人/月,其它损耗7人/月,总计16人/月,分到四个人头上,4个月的开发时间,
需求做到目前这种程序,全公司力量3个月足足有余.4+3=7个月的时间.
实际上到目前共费时:17月.
当然,这里的时间浪费也有很大部分并非需求引起的.但是需求部分也的确浪费了相当大的时间.
拿客户买票的需求来说,
客户->接线员(需求)->买票员(开发)
描述这样一个场景:
接线员接到一个客户电话,告诉他要买张票,接线员接到这个需求后,转给买票员.
接线员:买张票.
买票员:是买到上海的票吗?
接线员:就买到上海的.
买票员:是买火车票吗?
接线员:就买火车票.
买票员:是买今天的票吧?
接线员:就买今天的票.
买票员:买12点的票?
接线员:不,买11点的.
买票员:...
最终买到了一张今天中午11点去上海的火车站票,送到客户那里,客户会告诉你,我要买明天上午去天津的汽车票.
希望我们的需求不要做成了这个接线员......
希望接线员能够告诉买票员:买明天上午8:00-12:00之内去天津的汽车票.
这里只是随便说说,还是希望能够把需求真正重视起来....
本文出自 “xiaofenguser” 博客,谢绝转载!