软件项目进度跟踪管理经验谈_第1页
软件项目进度跟踪管理经验谈_第2页
软件项目进度跟踪管理经验谈_第3页
软件项目进度跟踪管理经验谈_第4页
软件项目进度跟踪管理经验谈_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、建立周工作计划管理制度,按周统计软件开发工作 把完成的工作量线性化成项目进度百分比,并配合 进行项目进度的跟踪管理。接下所有的进度 J/ /说明实际进度任务紧,急于编码,设70%项目组报的进度指设计进度软件项目进度跟踪管理经验谈肖永威本文简介:本文通过建立软件开发进度模型,建立周工作计划管理制度,按周统计软 件开发工作完成量,并与软件开发进度模型比对,把完成的工作量线性化成项目进度百分 比,并配合相关的管理制度和工作质量考核标准,进行项目进度的跟踪管理。项目管理是当前软件产业中的热门话题。项目管理是为了完成预定的目标,对任务和 资源进行计划、组织和管理的过程,通常需要满足时间、资源和成本等方面

2、的限制要求。 在项目管理三角理论中,有绩效(P)、时间进度(T)、费用成本(0、范围(S)四要素。 假设S (范围)不变,0 (费用、不变,预期的绩效(P)也不变,则时间进度(T)是项目 管理的重要要素。针对时间进度要素,谈谈来自于应用软件开发实践的软件项目进度跟踪 管理。本文项目进度跟踪管理引用了 CM(软件能力成熟度模型、理论思想,适应 SPI (软 件过程改进)。本文通过建立软件开发进度模型, 完成量,并与软件开发进度模型比对, 相关的管理制度和工作质量考核标准,本文内容包括典型项目开发进度情况举例、建立软件开发进度模型、开发工作完成量 线性化、影响软件开发进度的几个要素和与实际工作相结

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

4、务第一个完成(表面)完成情况完成,有的提前编码100%表1月设计计不全面第二个月编码进展很快55%代码完成量很多25%第三个月编码进展放缓90%中间件使用出麻烦45%第四个月编码修改完善无明显成绩,97%由于设计问题而调整, 修改代码60%第五个月编码修改代码造成其它部分出问题99%需求小变而修改代码,数据库速度慢75%接下两月编码工期紧急,无法测 试,现场写了很多代 码99%为了保证系统运行,写了应敷代码98%从此表很容易看出,该项目开发进度从第三个月就开始失控,在第三个月,项目经理 报的项目完成情况达到了 90%,但实际上,项目经理所报的仅是代码完成的行数而非项目 完成情况,项目实际进度与

5、其所报进度相差甚远。而且,对于项目进度评价忽视或者故意 避开了工作质量因素,而工作质量恰恰是影响项目进度的关键因素之一。这是个很有代表性的案例。我在进行项目管理经验总结的基础上,参考相关资料,建 立起来的一套软件项目开发阶段的进度模型。二、影响项目开发进度的因素通常,软件开发公司用来衡量项目开发进度的标准和方法,是完成代码或文档的工作 量和完成功能点数量,适当考虑项目难易度修正,加以调整。这种方法不足的地方是过于 简单,对影响项目进度的工作质量、项目复杂度、难易程度、项目开发风险、沟通和变更 控制等诸多因素估计不足。往往是代码已经写完,所有功能已经实现,但还不能达到项目 的预期目标。所以,用完

6、成代码或文档的工作量和完成功能点数量衡量项目进度是不科学 的。如上所述影响项目进度的因素很多,本文仅从项目复杂度变化、难易度变化、工作质 量等主要方面分析其对项目进度的影响。1、项目复杂度变化对项目的影响在项目初期,程序代码较少,目标也很明确,故复杂度基本按线性曲线,缓慢增加,但当项目进展到一定程度上时,复杂度会快速增大。如下图1所示项目进展时的复杂度曲线。例如:项目开始时只有用户需求,随着项目开展,需求分析说明书、设计说明书等文档增加,文档版本控制就变得很复杂。图12 所示项目进展时的2、项目开发难易度变化对项目的影响 在软件项目刚开始时,虽有不少困难,但多是表面的、浅层次的问题,随着工作逐

7、步 开展,这些问题会逐步解决,难度不太大,当工作全面深入展开后,开发中的深层次问题 就会逐步被发现,越积累越多,项目开发难度就会快速增大。如下图 难易度曲线。例如:开发中使用中间件技术,在项目初期,开发人员会研究如何使用中间 件,但其高级使用技术和限制条件不会被掌握,这样中间件初级使用技术很快被掌握和使 用,开发工作快速展开,但当工作逐步深入后,高级技术就被发现,被迫投入时间和人力 进行研究,难度反而增大。图23、项目开发工作质量的影响工作质量是影响项目进度的首要因素, 工作质量主要包括: 文档质量、 代码质量。“失 之毫厘,差之千里” ,项目初期的微小差错,就会给后期排除差错带来很大的困难,

8、花费 很大的精力。图3如图 3 所示,开始时差错很少,当工作量、复杂度增加后,错误可能会快速增加。虽 然出现差错是在所难免的,但为了保证项目的进度和质量,必须建立和健全相应的管理制 度,加强督导。软件项目管理是“知识转移型”管理,有别于“资源消耗型”的管理,在 制定管理制度时,要以人为本,充分调动员工主观能动性。在项目开发过程中,经过上述各种因素的影响,最后,项目工作量完成曲线实际就如 图 4 所示。图4即项目完成工作量(代码行数与文档的字数)开始非常快,然后逐渐趋于平缓,给人 以停滞的感觉。这是软件开发项目必然规律,所以在项目管理中,不能简单的追求项目进 度,要充分考虑以上诸多因素,才能正确

9、指导整个项目按期完成,满足用户要求。三、建立软件开发进度模型如上图 4 所示,开发进度模型是在数理统计基础上的,建立完成工作量和时间花费成 指数曲线关系的模型,用完成工作量表示项目进度(本文中使用的项目进度曲线,都是用 完成工作量表示项目进度的) 。在实际工作中,需要对完成的工作量、时间花费等不确定变量建立样本,然后对样本 进行数理统计分析。以数理统计理论中的多元非线性回归方法,建立数学模型,例如:根据实践经验可以 采用灰色模型 GM(1, 1)模型,这是因为完成的工作量是随着时间逐渐增加的,是增量型的,其样本满足光滑离散原始数列,符合灰色模型的使用范围。总之,通过多种数理统计方式,建立软件项

10、目开发工作完成量随时间变化的模型,也 就是软件开发进度模型(本文重点不是研究开发进度模型,数学模型描述可参照相关数理 统计方面的资料)。此数学模型是随着项目进度跟踪管理而逐步修正完善的。同理,也可以对项目复杂度变化、 难易度变化建立线性或非线性模型, 在此不作探讨。四、工作完成量线性化参照软件开发CMM模型的要求,一个项目的开发一定要有章可循,而且要做到有章必 循,同时项目进度跟踪与监控是 KPA的一项。所以,建立在经验上的时间与进度曲线模型 (在图 4 中的进度曲线),可以看作时间是衡量工作进度的一种尺度,并且时间和工作量 是非线性关系,虽然模型不精确,但是可以在实践中逐步对该模型进行完善。

11、工作量具体体现在开发周期上(标准级别开发人员需要的工作日) ,工作量一般通过 常用的功能点分析法核定,设总的开发周期为Tz,单个阶段的开发周期为 Tn。而实际上工作量完成情况是很难考核的,特别是正在进行中的项目,主要是靠经验模型主观判断得 出大约数值。如图5所示,每个阶段都有开发周期 Tn,占总工作量的百分比 Wn阶段的进度曲线 指标是Sno,实际进度曲线是Sn。其中,进度曲线指标就是开发进度模型。图 5 节点的进度指标曲线把非线性进度线性化,形成时间可比进度,例如:假设 1o 周的工作量,符合指标曲线Sno的每周就是10%,然后用实际曲线Sn比对指标Sno曲线,得出线性化后的进度Pn%设按模

12、型完成开发工作量所需要的时间为t no,实际发生时间是tx,f(x)是开发进度模型,其中, x 是时间变量, f(x) 结果是理论完成的工作量,则:t x=f -1(Wx)其中,Wx是当前完成工作量。则当前某个阶段工作进度为:Px = t x/Tn则当前项目某个阶段完成总的工作量的百分比为:Pn% Wn%=Pzn%五、软件开发各个阶段的工作量划分和开发进度计算从软件开发角度划分项目各个阶段,软件项目可划分为建设方案、需求调研、需求分 析、设计、编码、测试、试点、推广、维护等阶段。由于建设方案、试点、推广、维护阶段与用户关系密切,可控性差,先不做考虑。对 于其它阶段,一般说来,在现代软件项目管理

13、中各种资源的理论分配比例(按实际情况可 以调整)是:项目需求分析阶段 15%系统总体/详细设计阶段40%编码阶段25%系统 测试阶段20%6所示。对于一个大、中型项目,又可以在设计和编码环节拆分成几个小的子项目。为此,我 们可以把项目各个阶段的任务画成树状结构。如图图6对应各个阶段定义如表2所示。表2项目的各个阶段占总体工作量定义备注需求分析A%总体设计B%开发(详细设计与编码)C%此部分经常拆分成若干子系 统测试D%其中,对开发阶段进行拆分,首先是分块拆分成若干个子系统,子系统再分成设计、 编码、单元测试等阶段,所以各个子系统的工作量 C1%+C2%+Cn %=1开发阶段每个子系统又由设计、

14、编码、测试各个阶段组成,其各个阶段工作量百分比 累加,Cn 1%+Cn2%+Cn3%=1总体各个阶段:A%+B%+C%+D%=1如上所示拆分工作方式,则开发阶段工作进度,一般是取各个子系统开发最慢的进度, 公式如下:P c=Mi n(Pcn)其中,Pc是开发阶段的进度,n 1,2,N,N是最大分块拆分数。总体项目进度为:P=Pa + Pb +Pc +Pd六、与实际工作结合的进度跟踪管理软件开发进度跟踪管理,需要配套的工作,主要是做好计划(软件开发进度模型)项目计划任务书项目里程碑(定期检查点)周工作计划与工作计划完成情况中间工作质量检查月工作计划及总结测试及测试评分标准统计当前进度(工作完成量

15、线性化)、监控工作质量管理,目的是保证计划和进度的有效 性的。形成闭环管理的主要内容如下:审管理项目计划任务书、周工作计划管理、中间工作质量检查管理、月工作计划总结、评审 和测试等环节构成项目闭环管理,周工作计划管理贯穿整个项目周期,定期或随机的中间 工作质量检查保证周工作计划的真实性、 准确性,使项目进度跟踪管理能得到有效的实施。使用数据库技术积累周工作计划、月工作计划及其完成情况的数据,逐步完善中间工 作质量检查标准、方法,最终有效地实现软件过程改进、项目进度跟踪管理。通常,一个项目开始于项目计划任务书,对于项目计划任务书来说,在软件工程 和项目管理等资料中已经介绍了很多,这里不再描述。1

16、、工作计划和工作总结管理项目一般有任务计划书,规定各个阶段的时间和工作内容,但其周期比较长,属于粗 粒度管理,很难有效的控制项目开发进度。夸张的说,全天8小时监控项目的开发进度是最理想的。比较现实的方案是按周做工作计划,按日检查完成情况,再在周末汇总周工作 计划完成情况。“周工作计划和工作完成情况管理”和“月工作计划和月工作总结”的管 理制度,是项目进度跟踪管理的有效管理载体。周工作计划和工作完成情况管理需要填写的表格形式如下项目名称时间开发周期项目负责人进度完成工作量工作质量检查 人进度修 正花费工时计划/完成 内容备注审核时间:.项目周工作计划和完成情况审核人:其中,时间:以周为单位;内容

17、:本周要完成的工作内容;进度:以百分数形式书写,按项目进度模型线性化的结果; 完成工作量:完成工作量占计划工作量的百分比; 花费工时:标准级别员工完成此工作所花费的时间。日工作完成情况管理需要填写的表格形式如下项目日工作完成情况工作名称时间工时工作负责 人进度完成工作量计划/完成 内容备注审核时间:审核人:其中,时间:以周为单位;内容:本周要完成的工作内容; 工时:完成此项工作实际发生的工时。月工作完成情况需要填写的表格形式如下员工月总结报告项目名称工作内容完成 率有效 工时质量自 评备 注备注项填写是或否,是否采用构件库,是否充实了构件库?问题分析1. 未完成工作2. 质量分析建议意见1.

18、管理2. 技术3. 团队建设4. 其他姓名:肖永威年月:2003年5月此周工作计划管理方案操作起来比较繁琐,但缩小的时间单位,更能有效的跟踪项目 的进展。最好是按照软件开发进度模型的理论,开发一个工作计划和工作完成情况的管理 软件,提高管理效率,积累数据,进行软件过程改进,建立更有效的软件开发进度模型, 如下图样式所示的工作计划管理软件系统:每个月的工作计划和工作总结内容包括项目当前的进度和计划、完成情况、存在的问 题、变更情况等等,能及时反馈到项目组和公司领导层,及早发现开发中的问题,并尽快 解决问题。2、工作质量中间检查通过建立软件开发标准、程序代码检查和考评标准,以及配套中间检查制度,使

19、开发 及其过程标准化,主动地监管工作质量,督促提高工作质量。如下表是“程序代码检查和考评标准”的简单例子。程序代码检查和考评标准1、代码书写规范检查1.1、注释1.1.1.2、变量定义规范满分5分,有一个变量不符合规范,则扣1分,2个不符合扣2分,1.1、序言性注释(每个模块起始部分)内容530说明模块的用途和功能优一般无接口描述(包括参数、从属关系)优一般无有关数据信息(重要变量用途、约束等)优一般无开发历史(设计者、评审者、时间、变 更等)优一般无1. 2、功能性注释(用在不易理解的的代码块、计算公式、函数调用等)叙述详尽,意思表达贴切 基本描述,也表达意思以此类推,5分扣完为止。2、技术

20、检查由资深程序员对已经完成的部分执行检查,并出具检查报告。2. 1、程序设计缺陷检查缺陷数03610得分54320例如工作质量中间检查管理,是通过程序代码检查与考评来勉励程序员提高工作质 量,检查范围包括:1、代码书写规范检查,2、技术检查,3、界面设计规范及用词标准 检查,4、缺陷率统计等。经过检查得出评分,此评分再对当前进度进行加权处理,简单 的说就是给当前进度打点儿折扣。建立在数理统计上的抽样检查理论,是此项工作理论基础,通过检查制度化、规范化 积累采样数据,逐渐分析出易出现问题的点,及早发现问题,并解决问题,减少对进度的 负面影响,同时也能对工作质量起到督促作用。3、沟通管理 沟通的方式很多,正式的、非正式的都可以完成此项工作,如果要做到有效并且有据 可查的沟通,最好方式就是常用的会议方式。与用户沟通可以与用户协商,确定例会制,每周定时召开项目工作会议,形成会议纪 要,最好能让用户确认签字。项目组内部沟通除了定期会议外,还可以通过技术讨论、公告等方式沟通。使用软件 完成项目组内部沟通记录,例如局域网 QC软件,其用户间交流信息(图片、文件、文字) 都可以记录,随时查询历史记录。别忘了把你的软件开发进度情况告诉市场、商务人员,在项目开发过程中,随时与市 场商务人员沟通是个非常重要环节,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论