技术开发 频道

关键路径法解开软件开发进度难题

【IT168 专稿】

    这几天我都在为所负责的软件开发项目心烦着,因为这个项目的时间表远远滞后于进度规划。据Gartner的一项调研结果,在软件开发项目中有55%的受访者认为他们的开发进度控制是失败的,有30%的人则认为软件开发项目延期是家常便饭的事情。为什么会有这么多的进度管理问题呢?

    时间管理是软件开发管理中的一个关键职能,也称为进度管理。它对于项目控制至关重要,也是对项目成本有直接影响的因素之一。因为缩短项目的时间不仅仅是能节约那些与时间相关的成本,而且还可以避免由于延期导致的损失,如赔付延期交付违约金等。本文从软件开发项目的时间管理角度出发,介绍关键路径法在时间管理中的应用,并提出实现关键路径法的步骤和建议。

时间管理常见的错误是什么?

    软件开发项目延期的原因也许有很多,但肯定有一条的就是时间没有管理好,这被公认称为是项目延期的第一因素。事实上,时间管理究竟是"错在哪里"呢?这个问题通常比技术或者业务问题更值得花时间来思考。

    (1)时间进度表基线制定错误

    一般来说,在软件开发中追求的是"如期、如质、如预算"的开发出适合需求的软件产品。因此,成功的软件开发必须事先制定具有一定的预见性、前瞻性和切实可行的时间进度计划。项目时间进度基线是指一种基线化的开始日期和结束日期,它代表着项目细分后的每个任务的预期开始日期和预期完成日期。

    一般来说,进度表基线是使用经过评审的历时估算和资源估算来构建的,该进度表也是作为任务进度跟踪的基线。项目进度表可以是总体概览的,比如项目主进度表或者里程碑进度表;也可以是明细的,比如每个里程碑内的详细任务进度表。因此,当进度表基线制定有失误的时候,每个任务的开始时间和完成时间就会产生混乱,严重的时候还会在时间上不能衔接,进而就会带来资源增加、成本超支等问题。事实上,实践经验也证明许多软件开发项目的延期,是由于在进度表基线的时间规划上或多或少的存在着失误。

    (2)错误的缩短项目非关键路径时间

    在软件开发过程中,人们通常会认为如果能缩短项目某些任务的工期就可能会缩短项目的总工期。例如,某个工作结果需要项目团队花费二个月来完成,但如果能够在一个月内完成任务,就可能会大大缩短项目进度了。因此,许多项目经理及其团队可能会使用工期压缩技术来提高某些任务的进度,或通过给这些任务分配更多的资源来缩短工期。

    例如,通过赶工的方式来实现缩短工期。赶工的主要优点是可缩短完成项目的时间,但缺点是通常会提高项目的总成本。而实际上,软件开发项目通常是一个迭代的过程,它不但需要规划好项目每一个任务的开始和结束时间,而且还需要做好任务上下之间、前后顺序和关联之间的衔接。因为如果通过赶工只是缩短了非关键路径上的任务,并不会缩短项目的开发时间,而只会是提高了开发成本。

    (3)没有明确的时间管理,极易产生"拖延综合症"

    所有的项目工作都是通过人来实施的,如果不考虑人的因素,时间管理目标通常会失控和很难实现的。也就是说,成功的时间管理需要考虑人的一些内在因素,包括人的工作习惯或者天性。因为人的习惯和天性也是造成项目工期拖延的原因之一。例如,在我们的日常工作中经常会碰到这样一种现象,比如要提交一份报告,通常需要三天时间。但在多数情况下,员工可能会在第三天才开始写这份报告。也就是说,他把前面两天时间安排去做其它工作了,从第三天才开始写。这样一来,他的报告就不可能如期完成,即使靠加班加点如期完成也严重影响了报告质量。我们把这种情况称之为"拖延综合症"。

    有统计表明,如果没有明确的开始时间,就会在项目和工作中极易形成"拖延综合症"。这也称为帕金森定律(Parkinson's Law),它是指工作总是拖延到它所能够允许最迟完成的那一天。因此,如果没有明确的时间观念或忽视了"拖延综合症",最后都是会造成项目延期,或者是勉强按期完成任务。

0
相关文章