软件项目进度跟踪管理经验谈

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件项目进度跟踪管理经验谈

肖永威

本文简介:本文通过建立软件开发进度模型,建立周工作计划管理制度,按周统计软件开发工作完成量,并与软件开发进度模型比对,把完成的工作量线性化成项目进度百分比,并配合相关的管理制度和工作质量考核标准,进行项目进度的跟踪管理。

项目管理是当前软件产业中的热门话题。项目管理是为了完成预定的目标,对任务和资源进行计划、组织和管理的过程,通常需要满足时间、资源和成本等方面的限制要求。在项目管理三角理论中,有绩效(P)、时间进度(T)、费用成本(C)、范围(S)四要素。假设S(范围)不变,C(费用)不变,预期的绩效(P)也不变,则时间进度(T)是项目管理的重要要素。针对时间进度要素,谈谈来自于应用软件开发实践的软件项目进度跟踪管理。

本文项目进度跟踪管理引用了CMM(软件能力成熟度模型)理论思想,适应SPI(软件过程改进)。

本文通过建立软件开发进度模型,建立周工作计划管理制度,按周统计软件开发工作完成量,并与软件开发进度模型比对,把完成的工作量线性化成项目进度百分比,并配合相关的管理制度和工作质量考核标准,进行项目进度的跟踪管理。

本文内容包括典型项目开发进度情况举例、建立软件开发进度模型、开发工作完成量线性化、影响软件开发进度的几个要素和与实际工作相结合的进度跟踪管理等五个部分。

一、典型项目开发进度情况举例

有一个典型的管理信息系统项目,项目内容是把当前分散的、C/S模式的管理信息系统,进行数据集中、业务系统升级。当前,项目需求已经完成,开发人员初步掌握中间件技术,公司为项目组配置了业务专家。用户要求用四个月时间达到试点运行状态,而项目组认为依靠公司现有力量,四个月内无法满足用户要求,于是修改了项目实施计划,采取分步实施的措施。首先完成基础业务开发,其它部分在四个月后试点运行时继续开发,余下的决策分析部分在维护期继续开发。项目组在开发过程中,配以甘特图制定了严密的开发计划,进行项目进度跟踪管理,项目实际开发进度如下表所示。

表1 时间

任务

(表面)完成情况

项目组

报的进度

说明

实际

进度 第一个月 完成

设计

完成,有的提前编码

100%

任务紧,急于编码,设计不全面

70%

第二个月 编码 进展很快 55% 代码完成量很多 25% 第三个月 编码 进展放缓

90%

中间件使用出麻烦 45% 第四个月 编码

修改完善无明显成绩, 97%

由于设计问题而调整,修改代码

60%

第五个月 编码

修改代码造成其它部分出问题

99%

需求小变而修改代码,数据库速度慢

75% 接下两月 编码

工期紧急,无法测试,现场写了很多代码

99% 为了保证系统运行,写了应敷代码

98% 从此表很容易看出,该项目开发进度从第三个月就开始失控,在第三个月,项目经理报的项目完成情况达到了90%,但实际上,项目经理所报的仅是代码完成的行数而非项目完成情况,项目实际进度与其所报进度相差甚远。而且,对于项目进度评价忽视或者故意避开了工作质量因素,而工作质量恰恰是影响项目进度的关键因素之一。

这是个很有代表性的案例。我在进行项目管理经验总结的基础上,参考相关资料,建立起来的一套软件项目开发阶段的进度模型。

二、影响项目开发进度的因素

通常,软件开发公司用来衡量项目开发进度的标准和方法,是完成代码或文档的工作量和完成功能点数量,适当考虑项目难易度修正,加以调整。这种方法不足的地方是过于简单,对影响项目进度的工作质量、项目复杂度、难易程度、项目开发风险、沟通和变更控制等诸多因素估计不足。往往是代码已经写完,所有功能已经实现,但还不能达到项目的预期目标。所以,用完成代码或文档的工作量和完成功能点数量衡量项目进度是不科学的。

如上所述影响项目进度的因素很多,本文仅从项目复杂度变化、难易度变化、

指设计进度

接下所有的进度 指编码进度

工作质量等主要方面分析其对项目进度的影响。

1、项目复杂度变化对项目的影响

在项目初期,程序代码较少,目标也很明确,故复杂度基本按线性曲线,缓慢增加,但当项目进展到一定程度上时,复杂度会快速增大。如下图1所示项目进展时的复杂度曲线。例如:项目开始时只有用户需求,随着项目开展,需求分析说明书、设计说明书等文档增加,文档版本控制就变得很复杂。

项目复杂度

复杂度曲线

t时间

图1

2、项目开发难易度变化对项目的影响

在软件项目刚开始时,虽有不少困难,但多是表面的、浅层次的问题,随着工作逐步开展,这些问题会逐步解决,难度不太大,当工作全面深入展开后,开发中的深层次问题就会逐步被发现,越积累越多,项目开发难度就会快速增大。如下图2所示项目进展时的难易度曲线。例如:开发中使用中间件技术,在项目初期,开发人员会研究如何使用中间件,但其高级使用技术和限制条件不会被掌握,这样中间件初级使用技术很快被掌握和使用,开发工作快速展开,但当工作逐步深入后,高级技术就被发现,被迫投入时间和人力进行研究,难度反而增大。

项目难易度

难易度曲线

t时间

图2

3、项目开发工作质量的影响

工作质量是影响项目进度的首要因素,工作质量主要包括:文档质量、代码质量。“失之毫厘,差之千里”,项目初期的微小差错,就会给后期排除差错带来

很大的困难,花费很大的精力。

图3

如图3所示,开始时差错很少,当工作量、复杂度增加后,错误可能会快速增加。虽然出现差错是在所难免的,但为了保证项目的进度和质量,必须建立和健全相应的管理制度,加强督导。软件项目管理是“知识转移型”管理,有别于“资源消耗型”的管理,在制定管理制度时,要以人为本,充分调动员工主观能动性。

在项目开发过程中,经过上述各种因素的影响,最后,项目工作量完成曲线实际就如图4所示。

计划工作量

项目产品交付期限

t W

时间

工作量(代码与文档量)

图4

即项目完成工作量(代码行数与文档的字数)开始非常快,然后逐渐趋于平缓,给人以停滞的感觉。这是软件开发项目必然规律,所以在项目管理中,不能简单的追求项目进度,要充分考虑以上诸多因素,才能正确指导整个项目按期完成,满足用户要求。

相关文档
最新文档