项目的生命周期 [软件开发管理]
概述
项目的生命周期描述了项目从开始到结束所经历的各个阶段,最一般的划分是将项目分为 “识别需求、提出解决方案、执行项目、结束项目”四个阶段。实际工作中根据不同领域或不同方法再进行具体的划分。例如,按照软件开发项目划分为需求分析、 系统设计、系统开发、系统测试、运行维护几个阶段,而在建筑业中一般将项目分成立项决策、计划和设计、建设、移交和运行等阶段。
项目生命周期的划分
对 于IT服务项目来说,从厂商看项目是从接到合同开始,到完成规定工作结束,但如果从客户角度看,项目是从确认有需求开始,到使用项目的成果实现商务目标结 束,生命周期的跨度要比前者大。因为项目的根本目标是满足客户的需求,所以按后者划分考虑比较有益,对项目管理成功也大有帮助:
第一,识别需求。
当 需求被客户确定时,项目就产生了。这个阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析厂商所应具备的条件。商务上这个阶段以客户提出 明确的《需求建议书》或《招标书》为结束标志。这个阶段尽管可以由客户单独完成,但如果厂商介入则非常有利:一方面可了解客户真正需要什么;另一方面早期 的交流可建立良好客户关系,为后续的投标和合同奠定基础。
第二,提出解决方案。
主要由各厂商向客户提交标 书、介绍解决方案。这个阶段是赢得项目的关键,公司既要展示实力又要合理报价。如果竞标成功则签定合同,厂商开始承担项目成败的责任。这个阶段容易出的问 题是:因看不见最终产品,销售人员可以“随便说”,甚至过度承诺(因不用他们去执行),由此会造成公司的损失。防治的方法是一方面在合同中明确定义项目的 目标和工作范围,另一方面在公司一层建立合同审核机制。
第三,执行项目。
从公司角度来看这才是项目的开始。 这个阶段项目经理和项目组将代表公司完全承担合同规定的任务。一般需要细化目标,制定工作计划,协调人力和其他资源;定期监控进展,分析项目偏差,采取必 要措施以实现目标。因为IT项目的不确定性,项目监控显得非常重要,特别是有众多项目同时运行的IT公司,必须建立公司一级的监控体系跟踪项目的运行状 态。
第四,结束项目。
主要包括移交工作成果,帮助客户实现商务目标;系统交接给维护人员;结清各种款项。 完成这些工作后一般进行项目评估。评估可以请客户参加,让其表达意见,并争取下一个商业机会,或请求将项目作为灯塔向其他客户展示。最后,举行庆祝仪式, 让项目成员释放心理压力、享受成果。
在上述项目生命周期中存在2次责任转移:第一次在签定合同时,标志着项目成败的责任已经由客 户转移给承约方;第二次是交付产品时,标志着承约方完成任务,开始由客户承担实现商务目标的责任。第一次责任转移时清晰定义工作范围非常重要,开始说得越 清楚则完工后越容易交回去。如果开始没说清楚也会“皆大欢喜”,因为承约方觉得“反正没说清楚,到时咱不做”;而客户觉得“到时让他们做,当然不会另外加 钱了”。而一旦发生这样的情况客户是占上风的,一是客户可以拒绝付款,二是一个不满的客户会使厂商丧失大量商业机会。
项目生命周期中的重要概念
项目生命周期中有三个与时间相关的重要概念:检查点(CheckPoint)、里程碑(Mile Stone)和基线(Base Line),描述了在什么时候(When)对项目进行什么样控制。
检查点
指 在规定的时间间隔内对项目进行检查,比较实际与计划之间的差异,并根据差异进行调整。可将检查点看作是一个固定“采样”时点,而时间间隔根据项目周期长短 不同而不同,频度过小会失去意义,频度过大会增加管理成本。常见的间隔是每周一次,项目经理需要召开例会并上交周报。
里程碑
完 成阶段性工作的标志,不同类型的项目里程碑不同。里程碑在项目管理中具有重要意义,我们用一个例子说明:情况一:你让一个程序员一周内编写一个模块,前3 天你们可能都挺悠闲,可后2天就得拼命加班编程序了,而到周末时又发现系统有错误和遗漏,必须修改和返工,于是周末又得加班了。
情 况二:实际上你有另一种选择,即周一与程序员一起列出所有需求,并请业务人员评审,这时就可能发现遗漏并即时修改;周二要求程序员完成模块设计并由你确 认,如果没有大问题,周三、周四就可让程序员编程。同时自己准备测试案例,周五完成测试;一般经过需求、设计确认,如果程序员合格则不会有太大问题,周末 可以休息了。
第二种方式增加了“需求”和“设计”两个里程碑,这看似增加了额外工作,但其实有很大意义:首先,对一些复杂的项 目,需要逐步逼近目标,里程碑产出的中间“交付物”是每一步逼近的结果,也是控制的对象。如果没有里程碑,中间想知道“他们做的怎么样了”是很困难的。其 次,可以降低项目风险。通过早期评审可以提前发现需求和设计中的问题,降低后期修改和返工的可能性。另外,还可根据每个阶段产出结果分期确认收入,避免血 本无归。第三,一般人在工作时都有“前松后紧”的习惯,而里程碑强制规定在某段时间做什么,从而合理分配工作,细化管理“粒度”。
基线
指一个(或一组)配置项在项目生命周期的不同时间点上通过正式评审而进入正式受控的一种状态。基线其实是一些重要的里程碑,但相关交付物要通过正式评审并作为后续工作的基准和出发点。基线一旦建立后变化需要受控制。
综 上所述,项目生命周期可以分成识别需求、提出解决方案、执行项目和结束项目四个阶段。项目存在两次责任转移,所以开始前要明确定义工作范围。项目应该在检 查点进行检查,比较实际和计划的差异并进行调整;通过设定里程碑渐近目标、增强控制、降低风险;而基线是重要的里程碑,交付物应通过评审并开始受控。