权限管理、用户权限系统、开源用户权限系统、信息化建设标准基础数据管理平台
代码改变世界

当项目经理要么学会向客户说"不",要么选择折磨自己,增加成本延长项目周期

2011-11-02 18:48  通用C#系统架构  阅读(3460)  评论(18编辑  收藏  举报

   其实很早的时候参加CMMI培训,有了什么叫软件项目范围,软件项目范围控制的深入印象, 但是到了真实的环境里还是容易反复犯错, 这就是所谓的理论与实战的区别, "纸上谈兵"都是很容易的,但是到了真实的社会环境里往往事情不会像我们想象的那么简单, 我们经常没勇气说出:"不".甚至无法让你有说出:"不"的理由来.

 

   我们从前几个月承接了的一个工作流程审批的项目来说起, 其实客户列出的功能要求只有7条看看也不不难, 就谈好项目费用开工了.

   在项目开发到一半的时候, 客户说, 需要客户端一有审核信息,就可以弹出来提醒功能,就像QQ一样, 我说:"我们项目都是B/S的,需求里从来没说过这个呀", 客户说跟所有的同事都说过这个功能简单都答应他们实现这个功能了,而且还跟老板讲过这个功能一定能实现好,很容易就搞定的,没什么难度的.你说现在实现不来,我怎么向大家交代呢?而且大家都觉得有这样的功能才才是正常的.

   哇靠你拒绝吧,给客户很没面子, 增加预算吧? 客户说了, 这个项目的预算都向老板事先审批好了, 再追加预算就老板不高兴了, 而且我们第一次合作这么一弄会让老板很不高兴, 而且我也不好再向老板开口增加预算了, 好像这个项目是个无底洞的开始一样, 不好再向老板提起增加预算的事情了,希望你能也能理解,若是你是老板会怎么想?对吧.

 

   这个功能不开发吧, 在那么多人的面前,我都说能实现这个功能了, 而且在全公司的会议上我都很正式的跟大家保证过可以有这些功能的, 哇靠你怎么办?怎么办? 把这个皮球踢给谁? 不做吧不给客户下台阶了做吧根本没这个功能的预算.

   没办法为了给客户一个好的印象,就答应下来了,结果客户一装机就要装600台电脑, 按商业的IM的授权费用来计算,这部分就可以接近15万了, 我们整个项目也没这么多的预算了, 当时程序的设计能力也是200个电脑之内的, 真是后悔答应客户了,怎么办?怎么办? 总不能说这个功能我们做不来了, 那技术不过关, 我们后期就别合作了, 这不是很明显的事情吗?要么就这个项目别做了,跟老板讲失败了就可了? 简直有些骑虎难下的感觉, 只能硬这头皮往死里优化程序了, 折腾了蛮久才测试好 600台电脑的并发压力承受能力.根本没在合同里的内容了.

 

   刚做好即时通讯的功能没多久,客户又提出问题来了, 老板经常在外网上网, 需要老板出差时也照样可以获得提示信息, 其他人大多都在内网, 老板不好用的话, 这个项目还能想验收啊?还能收款阿? 在做白日梦阿? 没办法只好拼命又给优化了程序同时支持内网也支持外网, 刚做好新需求又来了,老板希望能按组发送消息, 例如开会通知等等, 而且老板很会用电脑, 对软件功能的要求懂得很精得很, 想蒙混过关,向糊弄几下,想跑都跑不掉, 没办法老板提出来的,只能满足.否则别说后期合作了,连这一期合作是否能顺利也是一回事情了.

   

   客户还提出了,要在报表里,单据里显示用户的签名图片, 我本想当场就拒绝, 客户又开始说道理,这个是老板提出来的, 而且这个很有必要,否则这个就不像是工作流审批系统了对吧?有这个功能了,大家都会觉得很牛, 没办法客户说得也对,只能硬着头皮做了,接着客户又提出来了,签名的日期也需要显示出来.没的拒绝,你签名也显示了,总能显示签名日期的吧? 很多事情说说简单,但是做起来就难了,单据有各种情况,草稿的,通过的,完成的,驳回的,废弃的,这些各种情况的签名显示,时间显示,而且审核到了第几步的等等N多问题都交织在一起,甚至是流程走了一半反复退回又在走流程的,头都会大.

 

  结果即使通讯的功能,签名的显示及相关时间的处理,报表的优化等等上花费的时间是完成整个工作审批流程的2倍时间,项目比预期的多花了2倍的时间,额外干的活儿是项目预期的多出了2倍.项目费用却1分钱没能提高, 说白了保价是正常工作量的1/3而已了能赚什么了?对吧

 

 项目管理得好,不只是说把项目做好了才是叫好,若厉害的项目主管可以把项目费用变成以前商定的3倍以上,还能说服客户支付3倍的费用,项目时间争取到原来的3倍才叫厉害,而不是很骄傲的讲我把客户的所有的需求都搞定了费用一分没增加,工作量周期增加了3倍.还好这个项目不是很大,否则类似的事情发生多了很容易项目的收益是入不敷出.很多项目型的软件公司为啥赚不到钱生存很艰难,很大程度上不是开发人员不好好努力工作, 项目型的软件中的范围太难控制了,不是我们想的那么简单.

 

 

 软件项目为什么经常会有亏损的情况,很大程度上不是我们开发人员不努力工作,而是没有能正确合理的预估工作量\工作范围\验收标准\我们自己的生产能力等等.

  

 软件项目的投入很多时候不好衡量,但是时间\投入的人力物力\项目的开支还是比较好衡量的,合理的项目预估,与客户合理的争取费用的能力,与项目开发能力一样的重要.我们不能只忙乎的拼命工作,还要多想想问题出在哪里?我们工作这么努力了,为啥还是效益不太好?是不是管理上出问题了?不只是技术问题.

  

 

   经过这次的惨痛教训,再也不怕说:"不"了, 要么想要面子,要么把自己搞死, 你自己选吧. 还是厚着脸皮说一个"不"字可以解决问题, 虽然很痛苦,但是一定要学会说:"不"

 



C# ASP.NET 通用权限设计、通用权限管理、通用权限组件、单点登录、集中式权限管理、统一授权体系、分级管理分级授权


微信扫一扫加好友