
2.1 项目管理概述
2.1.1 项目管理定义
问题引入
1957年,美国杜邦公司应用了一种计划管理方法,使原来维修停工的时间从125小时缩减到了78小时;1958年,美国人在北极星导弹设计中,应用了项目管理方法,将设计完成时间足足提前了两年。由于项目管理从根本上改善了管理人员的运作效率,所以其在西方发达国家得到了广泛应用。到21世纪初,项目管理已经在更为宽广的范围和环境下发挥了巨大的作用和影响力,并且还在不断地发展和完善。那么究竟什么是项目管理呢?

扫一扫 看视频
解答问题
项目管理是指为完成一个预定的目标,而对任务和资源进行计划、组织和管理的过程,通常需要满足时间、资源或成本方面的限制。进一步说,项目管理就是利用系统的管理方法将职能人员(垂直体系)安排到特定的项目中(水平体系)去。
分析问题
项目管理具有如下特点:
项目管理是面向成果的;
项目管理是基于团队工作的;
项目管理借助外部的资源提供跨职能部门的解决方案;
项目管理是可变化的。
2.1.2 项目管理的组成部分
问题引入
如果能拥有预见项目的未来情况的特异功能,那管理项目可就……
以上想法并非是异想天开,在某种程度上是可以实现的,只要读者知道了塑造项目的三个基本要素:时间、费用、范围。项目的质量是受这三个因素的平衡关系所决定的。这三个因素构成了项目三角形。调整其中任何一个因素都会影响其他两个因素。虽然这三个因素都非常重要,但通常会有一个因素对项目有决定性的影响。这些因素之间的关系随着项目的不同而有所变化,它们决定了会出现的问题,以及可能的解决方案。了解什么地方会有限制、什么地方可以灵活掌握,将有助于规划和管理项目。那么项目管理是由哪些部分组成的呢?
解答问题
项目管理是按任务(垂直结构)而不是按职能(平行结构)组织起来的。项目管理的主要任务一般包括项目计划、项目组织、质量管理、费用控制和进度控制等。包括9个知识领域,即范围管理、时间管理、费用管理、质量管理、人力资源管理、沟通管理、风险管理、采购管理和集成管理。
分析问题
MS Project是一款易于使用、特性齐全的项目管理软件包,也是一个强有力的计划、分析和管理工具,能够让用户创建企业范围内对具体任务要求较高的项目管理解决方案。它包含项目管理9个知识领域中的5个核心领域。分别是:
(1)范围管理
项目的目标和任务,以及完成这些目标和任务所需的工时。包括软件开发、测试、集成、培训和项目实施等。输出的结果就是WBS(Work Breakdown Structure,工作分解结构)。
(2)时间管理
时间管理也称为进度管理,在MS Project中,提供了工期估计、进度安排、进度控制等基本功能。它能够自动计算出关键路径,可以方便地设置里程碑控制点,实现项目的动态跟踪,还提供了多种时间的管理方法,如甘特图、日历图等。该部分功能使用最为频繁,也是MS Project的强大所在。
(3)费用管理
项目费用管理包括设计费用计划、估算、预算、控制的过程。以保证能在已批准的预算内完成项目。MS Project采用的是“自底向上费用估算”的技术,由于它是依赖每个WBS任务的估算,所以使得费用估算更为准确。
(4)人力资源管理
在人力资源管理中,MS Project提供了人力资源的规划、人力资源责任矩阵和直方图等,它能帮助用户做好资源的分配,进行资源的工作量、成本和工时的统计。
(5)集成管理
项目管理的集成管理是对于整个项目的范围、时间、费用和资源等进行综合管理和协调,在MS Project中能根据范围、时间和资源的变化自动进行相应的计算和调整。
2.1.3 项目生命期和模型
问题引入
事物的存在都有其必然性,发展有其规律性。在社会工作中,通常将人的行为的变化划分为胎儿期、婴幼儿期、儿童期、青少年期、成年早期、中年期及老年期七个阶段。与人的生命周期相适应,人的行为呈现阶段性变化,每一阶段都有其显著特征。在长期的开发实践中人们逐渐认识到项目管理也存在生命期,正如人的生命周期一样,项目的每一个生命期都有其特征及评判的标准,用以评价这个生命期阶段的完成情况。只是在实际应用中根据不同的领域或不同的方法再进行具体的划分。那么软件项目生命期又是如何定义的呢?
解答问题
项目生命期描述了项目从开始到结束所经历的各个阶段,最普遍的划分是将项目分为项目启动(识别需求)、项目计划(提出解决方案)、项目执行、项目结束4个阶段:
(1)识别需求。当需求被客户确定时,于是就产生了项目。这个阶段的主要任务是确认需求,分析投资收益比,研究项目的可行性,分析生产商所应具备的条件。
(2)提出解决方案。主要由各竞标公司向客户提交标书、介绍解决方案,规划业务蓝图等。
(3)执行项目。从公司的角度来看这才是项目的开始。这个阶段项目经理和项目组将代表公司完全承担合同规定的任务。
(4)结束项目。主要包括移交工作成果,帮助客户实现商务目标;给客户提供培训,系统交接给维护人员;结清各种款项等。
软件项目通常细分为6个阶段,即计划、需求分析、系统设计、系统开发、系统测试、运行维护,分述如下:
(1)计划阶段。定义系统,确定用户的要求或总体研究目标,提出可行的方案,包括明确所需资源和实施计划、成本、效益、进度和性能参数等。
(2)需求分析阶段。确定软件的功能、性能、可靠性、接口标准等要求,根据功能要求进行数据流程分析,提出初步的系统逻辑模型,并据此修改项目实施计划。
(3)系统设计阶段。它包括系统概要设计和详细设计。在概要设计中,要建立系统的整体结构,进行模块划分,根据要求确定接口。在详细设计中,要建立算法,数据结构和流程图,或设计包、类、接口等。
(4)系统开发阶段。把流程图或类、接口等翻译成程序,并对程序进行调试。
(5)系统测试阶段。通过单元测试,检验模块内部的结构和功能;通过集成测试,将模块连接成系统,重点寻找接口上可能存在的问题,做到高内聚,低耦合;验收测试,即按照需求的内容逐项进行测试;系统测试,就是到实际的使用环境中进行测试。以上4种测试中,单元测试和集成测试是由开发者自己完成,而验收测试和系统测试是由用户参与完成。这是软件质量保证的重要一环。
(6)运行维护阶段。它一般包括3类工作,为了修改错误而做的改正性维护;为了适应环境变化而做的适应性维护;为了适应用户新的需求而做的完善性维护。在实际开发应用中,此类维护通常会被乙方引导甲方演变为二期项目,进入一个新的生命期,再从计划阶段开始,迭代完成。可见维护工作是软件生命期的重要一环,通过良好的运行维护工作,不仅可以延长软件的生命期,还可以为软件项目带来二期,甚至多期收益。
分析问题
每一个项目或者产品都有其特定的发展阶段,即生命期阶段。准确了解这些阶段,有利于管理层更好地控制企业的全部资源,实现既定目标。项目生命期的定义还将确定项目开始与结束时的哪些过渡行动应包括在项目范围之内,哪些则不应包括在内。这样,就可以用项目生命期的定义把项目和项目实施组织持续的日常动作业务联系在一起。项目生命期通常规定:
(1)每个阶段应完成哪些技术工作?(例如,需求规格说明书应在哪个阶段完成?)
(2)每个阶段的交付物应何时产生?对每个交付物如何进行评审、验证和确认?(例如,如何评价设计蓝图是否符合规范要求?)
(3)每个阶段都有哪些人员参与?(例如,需求阶段需求分析人员和设计人员都会参与?)
(4)如何控制和批准每个阶段?(例如,项目的生命期划分是否符合自身的特点?)
在项目生命期中有3个与时间相关的重要概念:检查点(Check Point)、里程碑(Milestone)和基线(BaseLine),它们描述了在什么时候对项目如何进行控制。
(1)检查点。检查点是指在规定的时间间隔内对项目进行检查,比较实际现状与计划之间的差异,并根据差异进行调整。可将检查点看作是一个固定“采样”时点,而时间间隔根据项目周期长短不同而不同,频度过小失去意义,频度过大会增加管理成本。因此以笔者经验来讲,每一周Review一次,并由项目经理召开例会并上交周报比较切实可行。这些例会经常叫作关键设计评议,“转接梯”(On-off Ramp)和“门径”(Gate)。
(2)里程碑。里程碑是完成阶段性工作的标志,根据项目类型、项目阶段的不同制定出不同的交付物或产出以达到完成阶段的标志。
(3)基线。基线是指一个(或一组)配置项在项目生命期的不同时间点上,通过正式评审而进入正式受控的一种状态。在软件项目中,需求基线、配置基线等基线,都是一些重要的项目阶段里程碑。但相关交付物要通过正式评审并作为后续工作的基准和出发点。基线一旦建立,其变化需要受控制。
典型的软件开发项目生命期模型包括:瀑布模型、螺旋模型、演化模型等,将会在第3章软件系统开发方法中重点阐述。
2.1.4 项目管理方法体系
问题引入
商鞅是大家耳熟能详的历史人物,是战国时期政治家、思想家,法家代表人物。经过商鞅变法,秦国的经济得到发展,军队战斗力不断加强,发展成为战国后期最强大的国家,并最终统一了中国。大到国家建设,小到企业文化,项目管理都需要一套行之有效的适合时代发展要求的管理方法体系。如果没有一个可重复用于每一个项目的方法,那么要实现项目管理的出色甚至成熟,是不太可能的。这种重复性过程就是项目管理方法体系。
解答问题
项目管理方法体系是一个可重复用于每一个项目的方法,将多种商业方法整合到项目管理方法体系中,采用单一的项目管理方法体系,可以降低成本,减少所需的资源设备,减少书面工作,避免重复性劳动。如图2-1所示,好的方法体系可以将其他方法整合到项目管理方法体系中去,整合成单一的方法体系。

图2-1 各种方法的整合
(1)项目管理:计划、进度和控制工作的基本原则。
(2)全面质量管理:保证最终产品满足客户要求。
(3)并行工程:为了压缩进度,避免高风险,平行地完成工作而不是顺序地完成工作。
(4)变更管理:控制最终产品的结构,为客户提供附加值。
(5)风险管理:识别、量化项目风险,并对其做出反应,避免任何对项目目标的实质性负面影响。
近年来,还有不少新的管理方法、理念融入其中,如供应链管理,成本-收益分析,资金预算等。
分析问题
一个好的项目管理方法体系,可以为项目带来如下好处:
(1)通过更好地控制项目范围,加快产品上市时间;
(2)降低整个项目风险;
(3)更好地制定决策;
(4)让客户更满意,进而增加销售量;
(5)有更多的时间用于增值工作,而不是用在内部政策和内部竞争上。
同时它也应具备如下特征:
(1)有一个受欢迎的具体标准;
(2)使用模板;
(3)标准化的计划、进度和成本控制技术;
(4)标准化的内部报告和客户使用反馈形式;
(5)灵活应用于所有项目;
(6)必要时灵活地快速改进;
(7)便于客户理解和使用;
(8)使用标准化的生命期阶段,阶段结束时反馈;
(9)建立良好的职业道德规范。