最近,法国一个烂项目惊爆了全世界的互联网和开发界。
该项目历时12年,总共600多万行C++代码,有50000多个类,直到最后把项目负责人逮捕入狱才算完事,这只是代表项目终止了,并没说明项目完成了。
听到这个“故事”的时候,我为这个项目的负责人感到莫大的悲哀,居然因为做项目而进监狱了!
项目的计划是很好的,预算几百万欧元,工期2-3年。并不是一个很大很复杂的项目。
项目是如何演化的呢?
项目资金到位后,这家公司开启了疯狂的招人计划,每隔几个月开发队伍就扩大一倍。结果7年过去了,项目还没有完成。因为延误,这家公司每天的罚金都高达数千欧元。我就纳闷了,这家公司居然还没被拖黄(这家公司有对策,下文提到)。直到有一天,公司管理者终于受不了了,就把干活的人都开掉了,新招了一批新手来开发,以此来减少开销。一段时间后,又把那些人开掉,再招一批经验丰富的人继续开发,就这样如此反复,结果又持续了几年。在这期间,这家公司经常给甲方发送金额不断增加的项目变更账单,来弥补每天巨额的工期延误罚金。整个过程中,甲方的仁义和耐心被一次次的磨光,直到最后把这家公司的负责人送入监狱。
无独有偶,美国某政府部门一个预算500万美元的项目,历时数年,最后耗资1.5亿美金,才仅仅完成了部分功能。
其实,这样的事例每天都在上演,只是很少曝光而已,都是丢人的事情,谁愿意说出来?
如何看待一个失败的项目:
开发方团队实际生产率只有计划的1/30?
项目开始后,发生了2900%的变更?
项目实际费用是早期预算结果的30倍?
事先做好估算,还会有历时12年,600多万行代码这样的烂项目吗?
为什么会出现这种情况?
就甲方而言,一旦签约并付款了,即使签约的开发方有各种问题,也不会轻易变更,因为变更就意味着责任人失职,意味着之前的付款打水漂了,责任人要担责的。
而对于乙方,因为急于签订合同拿下大单,对甲方的需求不清晰,导致开发人员投入不准确,形成多米诺骨牌似的连锁反应,使得项目总也完不成。
就失败项目而言,失败的原因有如下一些方面:
- 缺少用户的参与,导致开发出的功能不符合甲方需求
- 项目需求不完整,导致开发过程中误时走弯路
- 变更的需求,甲方需求变更,导致乙方之前的需求没做完,又要做新的需求,或者推翻之前的需求功能,按新需求继续开发
- 缺少领导的支持,导致甲乙双方对需求不能形成权威的确认和评定
- 开发方能力不足,导致换了很多人,项目越做越复杂,越来越低效
- 不切实际的期望,导致乙方承诺了甲方自己都无法完成的功能
可见在项目初期,做好科学估算是无比重要的。这里的估算包括成本、开发周期、质量保障等。然后甲乙双方根据估算报告中规定的细则来执行,项目的成功率会大大提升。
要避免项目落坑,如何做到科学估算,欢迎继续关注”软评老胡“的后续文章。