7

为什么项目开发永远缺乏合理的时间?

 3 years ago
source link: https://www.cnblogs.com/wlzcool/p/14142005.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

在众多软件项目中,缺乏合理的时间进度是造成项目滞后的最主要原因,它比其他所有因素加起来的影响还大。导致这种普遍性灾难的原因是什么呢?

1.期望一切运转良好

首先,如何进行合理的估算,建立在一种悄无声息,但并不真实的假设之上——一切都将运作良好。但是从来不可能有这种一切运作良好的项目存在,

因为执行者是人,而人就会犯错,理解偏差,对原有代码的不了解,无效沟通等等诸多问题都会在执行者身上出现。

毕竟对于各种千奇百怪的需求,除非是之前做过,否则,你永远不知道会遇到什么问题,一句隐藏在需求文档中某个旮旯角的话语,有可能就要耗掉一个技术2天甚至3天的时间。

而这,往往会在需求评审时被有意无意的忽略掉,毕竟最重要的需求评审在当前的需求开发中

往往会被要求尽量缩短时间,“产品已经设计完了,你们技术尽快开始,月底上线,没问题吧!”

2.混淆进度与工作量

第二,我们采用的估算技术隐含地假设人和月可以互换,错误地将进度与工作量相互

混淆。一个锅蒸一个包子需要3分钟,那么三个锅蒸一个包子呢,难道只需要一分钟么?

当业务耦合度非常高的时候,某块任务往往只能交给一人来写,不然随之带来的沟通成本

以及联合调试成本经常使得增加的人力做的更多的是无用功。但是往往上级领导为了表示对项目的重视,通常会向项目中增加人员,而增加的人员往往也是一头雾水,面对大量的代码无从下手,毕竟编程不是垒砖,需要在了解原有项目的基础上进行工作。

3.估算无法贯穿始终

因为需求工期一般是是估算,不是精确地计算,项目经理通常不会有耐心持续地进行估算这项工作。当项目中某个模块遇到棘手问题时,往往无法估算具体解决时间,即使估算后也无法增加时间,毕竟月底上线的要求犹在耳边回荡,这时候去要时间很可能换来的只有一句话“要时间没有,你们周六日加班吧!”。

4.进度缺少跟踪和监督

其他工程领域中,经过验证的跟踪技术和常规监督程序,在软件工程中常常被认为是无谓的举动。但是在软件工程方面,跟踪往往也是无效果,毕竟大多数企业加需求就像喝水一样轻松。领导知道不能让玻璃幕墙换成瓷砖,但是提的这个软件功能点需要多少时间,那可就没领导知道了。临到上线,领导打开网站一看,提几个新需求,往往就是几个不眠不休的日子。

5.错误的解决方案带来的反效果

当项目经理意识到进度的偏移时,下意识(以及传统)的反应是增加人力以及加班。

方向错了,努力再多也是白费。新加入的人员往往需要一段时间才能形成战斗力,而长时间的加班往往带来的是员工的精神和身体上的疲倦,这两者往往都是饮鸩止渴。

为什么项目开发永远缺乏合理的时间?上面五点之中有没有你们延期的理由?


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK