要有效地进行进度控制,必须对影响进度的因素进行分析,事先或及时采取必要的措施,实现对项目的主动控制。软件开发项目中影响进度的因素很多,如人为因素、技术因素、资金因素、环境因素等等。在项目实施中,人的因素是最重要的因素,技术的因素归根到底也是人的因素。具体的原因有: 1.80-20原则与过于乐观的进度控制 2.范围、质量因素对进度的影响 3.资源、预算变更对进度的影响 4.低估了软件开发项目实现的条件 5.项目状态信息收集的情况不准确,报喜不报忧 6.执行计划的严格程度 7.计划变更调整的及时性 8.未考虑不可预见事件发生造成的影响 9.程序员方面的因素对进度的影响 10.未考虑软件开发过程的循环、迭代特性 11.其他因素 进度管理就是采用科学的方法确定进度目标,编制进度计划和资源供应计划,进行进度控制,在与质量、费用目标协调的基础上,实现工期目标。 活动定义——项目活动清单、里程碑清单、更新 活动排序——项目计划网络图、更新 活动资源估算——活动资源需求、资源分解结构(RBS) 活动历时估算——活动历时估算结果、更新 制定进度计划——关键路径法(CPM)、计划评审技术(PERT) 进度控制——计划更新、变更需求、建议的纠正措施、取得的教训 软件项目的进度管理机制包括3个步骤:计划、跟踪、控制。 1.项目进度控制的前提 有效的项目计划和充分掌握第一手实际信息,实际值与计划值比较; 肯定、批评、奖惩等手段,对项目进度进行监督、督促、影响、制约; 及时发现偏差,及时予以纠正;提前预测偏差,提前予以预防; 由部门经理和项目监控人员共同进行。 2.项目进度控制主要手段 项目计划书:作为项目进度控制的基准和依据。 项目阶段情况汇报与计划:项目经理按照预定的每个阶段点向相管理部门提交项目阶段工作汇报与计划。 3.进度控制内容 主要表现在组织管理、技术管理和信息管理等方面。 有些技术问题可能需要特殊的人员,可能需要花时间攻克一些技术问题; 信息管理主要体现在编制、调整项目进度控制计划时对项目信息的掌握上。 4.不同阶段的项目进度控制 项目准备阶段; 需求分析和设计阶段; 实施阶段进度控制:编制实施总进度计划并控制其执行,由甲乙双方协调进度;计划的编制、调整并采取措施确保进度目标的实施。 5.关于进度落后时的“赶工”措施 项目经理忽然发现各项工作的完成时间比预计的都长 当项目进度落后时,直接带领项目小组同时进行多个阶段的工作,是不可取的——缺少风险评估; 采取加人、加班、加激励等措施,这些是增加资源而未必会见效的方法。项目经理要考虑适度原则。全面分析项目进度延迟的原因:如果是不合理交付时限要求,应当通过沟通进行变更,以免造成对软件质量或组员心理上的负面影响。否则应从技术、组员心态、环境等方面查找原因,找到提高效率、加快进度的方法。 6.“质量门” 软件开发过程中,每一扇质量门都标志着一个项目阶段的正式结束,只有通过了这扇门,项目才能从一个阶段进入到下一个阶段。 质量门使已经完成的工作和应该完成的工作得到正式的规范,也可以保证项目小组同所有项目干系人之间的交流。它可以像是一份成绩单是一张“出门证”,也可以是一张“进门证”。 质量门这一概念的好处在于: 项目干系人可以和项目经理一起对项目的质量承担责任; 促使项目组在对自己的工作质量进行评估,更好的改进项目质量; 能够保证前一阶段的工作按照正式程序过渡到下阶段。风险评估及时进行,问题及时发现并解决; 加强项目各方的交流,可以促使关键股东的积极参与。 项目管理工具(一般指软件)是为了使工作项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Product)、过程(Process)和项目(Project)进行分析和管理的一类软件。以某系统为例,介绍下该类系统的一些特点: 计划与执行合二为一 计划与执行处于同步状态。当前的计划实时反映项目成员最新的可交付成果及其完成情况。用户可以追溯项目计划的某条基线,或之前的某个快照版本信息,但用户所使用与共享的当前计划都是唯一的。在任何时间,都不会因计划与实际不符而被愚弄。 责任划分与工作交付清楚明确 当有人更改其承诺时,系统会通知其他相关人员。 系统也提供以下方式优化结果管理: 设置评审与验收的规则 对评审及验收结果进行实时的提醒 实时的概览及周期性报告的邮件通知 使用以上功能,所有利害关系者都可清晰地了解责任与结果 范围定义与沟通综合管理 由于人类沟通能力及大脑的局限,人们往往很难通过一次沟通就把复杂的需求交代清楚。系统支持采用迭代式的方法来沟通需求,它可帮助项目团队制定需求交付计划,促使尽早开始沟通及理解需求,继而逐步清晰需求,这使得人们有更充足的时间来更有系统性地把需求弄清楚,提高项目成功率。做到: 需求管理集中化 通过现状调查监测需求交流问题 自动追踪需求的评审与验收 自动追踪依赖与变更 资源与依赖清晰明确 系统通过以下方式帮助项目团队成员管理复杂的项目: a)使资源与可交付成果的依赖尽可能明确 b)自动跟踪间接依赖 c)自动监测不恰当的依赖并在需要时警告相关人员(如:一个逾期完成的可交付成果会导致其他可交付成果也逾期) 问题与风险自动跟踪与上报 问题与风险的管理本身就是复杂的。 问题可能是以下中的一种: 1.非问题(如:仅仅是某些人的错误理解) 2.缺陷报告 3.变更请求 4.需要执行的行动 5.风险 问题也可能与资源、可交付成果、项目的子活动、项目的父活动甚至整个项目相关。 风险可能会产生不同的影响:消极影响;积极影响。 风险的发生可以有不同程度的概率(从极细微到极有可能),不同的优先处理级别(从不需处理到必须马上处理)以及不同的处理方法(如:回避、转移、减轻和接受等)。 系统能够帮助您识别风险的概率、风险处理的优先级别及其处理方法。并且,它还能实时汇总所有相关的问题与风险及其解决方法,从而统一有序地管理所有问题与风险。 项目执行管理是在项目管理制度的框架下,按时、保质、保量地完成工作任务的能力,他反映了项目计划与目标的贯彻程度。 管理办法和操作程序实际是项目的制度保障体系,在管理办法完成后,需要进一步营造项目执行的环境,明确工作思路和工作程序,及时跟进,及时反馈,加强沟通,以确保工作形成闭环。提高项目的执行力,需要作好以下几项: 1.提高管理人员素质,增强项目执行力意识。 2.提高管理人员责任心,严格执行项目管理办法。 3.造良好的项目执行环境,保证项目执行质量。 4.注重过程管理,及时采取预防和纠正措施。 5.开展项目监察,形成管理监督机制。