在软件项目管理中,经常遇到这样的情况:进度到百分之九十后开始停滞,要花很长很长时间很大很大代价(甚至超过前百分之九十所花费的工时、工期)才能完成最后的百分之十。我把这种情况叫作:软件项目的百分之九十效应。
西汉·刘向《战国策·秦策五》:“诗云:‘行百里者半九十。’此言末路之难也。”
通俗地讲,做事情越接近成功越难,越要认真对待。很多人、团队做事情,开始的时候总是雄心壮志、信心十足,认为一切尽在掌握,可是随着时间的推进,各种问题出现,慢慢的就没有了动力,毅力也消磨殆尽,决心不经意间一去不回,到最后只盼早点结束,要么放弃要么草草收尾要么延期再延期。
在软件项目开发中,这种案例比比皆是。我自己也曾经遇到几次。
我总是在想,为什么会这样?为什么这最后一公里路程如此遥远以致难以逾越?
先来听听相关人员的抱怨:
有的人说,真不明白系统框架为什么设计成这样……
有的人说,压根儿就不该选择自己实现 http 协议,根本就是重新造轮子……
有的人说,给我的任务太多了,比任何其他人都多……
有的人说,搞不懂 UI 为什么这么丑陋,交互也糟透了,一点都不符合习惯……
有的人说,我卡在那个问题那里,动不了了……
测试人员说,为什么到快发布了才让我们测,根本不给我们测试预留时间……
还有测试人员说,开发太不象话了,自己根本不测……
项目经理咬牙切齿,你们这帮人,为什么不早说……
领导说,这么点儿小事儿都那啥啥,执行力忒成问题,效率极端低下……
客户在摇头……
其实如果能带着现在的问题、经验回到起点来看,我们会发现很多可以规避掉的弯路、陷阱、沼泽。
回过头来再看所谓的百分之九十效应。我这里有一个问题给大家:项目进度真的到了百分之九十(90%)吗?
其实我们可以换个问题,为什么越临近交付期问题越多?再换个说法,项目为什么老是延期?
让我们来看看软件项目进度延期的关键因素。
- 项目进度计划本身不合理
软件项目延期时&#