我今天又对业务部门发火,源于业务部门要做一个产品X,和我提出的需求就是,实现已有产品D的功能,同时要整合已有产品N,就这么几句话,问我要多长时间,我就说这样的需求无法估算时间,原因在于你们没有告诉我要实现产品D的功能,是全部实现还是部分实现?部分实现的话,是实现哪些功能?整合产品N,如何整合?整合哪些数据?用户应该看到什么样的UI?进行什么样的流程?这些基础问题没有确定,如何估算开发时间?业务部门觉得撰写需求文档太花费时间,但是我明确表示这件事情,就算你们不做也要有人来做,时间是不能少的,在一番不愉快的谈话之后,业务部门决定对项目重新评估。
最终产品的质量,取决于需求的准确程度,以及开发人员对于需求理解的准确度,可以观察大部分失败的项目,很多原因都处在这里,所以对于产品经理、系统分析人员,需求挖掘是一项极其重要和复杂的工作,成败全在这里,不能因为花时间、嫌麻烦就不做,或是做个稀里糊涂,这样的话后患无穷。
说到这里我想起以前看到的一幅图,讲软件开发过程的,非常有哲理,今天特地在网上搜了一下,后来发现还有个专门的网站:http://www.projectcartoon.com/,这幅图的名字是:How IT Projects Really Work
现在这副图的1.5版本还有中文的,http://www.projectcartoon.com/cartoon/31
这幅图显示了软件开发过程中的各种问题,但客户真的想要的和客户描述的就可能不同了,所以不要让错误从开始就发生!