项目管理

1.项目管理的历史

在冷战的史普托尼克(苏联的第一颗人造卫星)危机之前,项目管理还没有用做一个独立的概念。在危机之后,美国国防部需要加速军事项目的进展以及发明完成这个目标的新的工具(模型)。 在1958年,美国发明了计划评估和审查技术(PERT),作为的北极星导弹潜艇项目。与此同时,杜邦公司发明了一个类似的模型称为关键路径方法(CPM)。PERT后来被工作分解结构(WBS)所扩展。军事任务的这种过程流和结构很快传播到许多私人企业中。

随着时间的推移,更多的指导方法被发明出来,这些方法可以用于形式上精确地说明项目是如何被管理的。这些方法包括项目管理知识体系(PMBOK),个体软件过程(PSP),团队软件过程(TSP),IBM全球项目管理方法(WWPMM),PRINCE2。这些技术试图把开发小组的活动标准化,使其更容易地预测,管理和跟踪。

关键链是传统的关键路径方法的最新扩充。

项目管理的的批判性研究发现: 许多基于PERT的模型不适合今天的多项目的公司环境。这些模型大多数适合于大规模、一次性、非常规的项目中。而当代管理中所有的活动都用项目术语表达。所以,为那些持续几个星期的“项目”(更不如说是任务)使用复杂的模型在许多情形下会导致不必要的代价和低可操作性。因此,项目识别不同的轻量级的模型,比如软件开发的极限编程和Scrum技术。为其他类型项目而进行的极限编程方法的一般化被称为极限项目管理

2.项目管理的内容

1、项目范围管理

是为了实现项目的目标,对项目的工作内容进行控制的管理过程。它包括范围的界定,范围的规划,范围的调整等。

2、项目时间管理

是为了确保项目最终的按时完成的一系列管理过程。它包括具体活动的界定,如:活动排序、时间估计、进度安排及时间控制等项工作。

3、项目成本管理

是为了保证完成项目的实际成本、费用不超过预算成本、费用的管理过程。它包括资源的配置,成本、费用的预算以及费用的控制等项工作。

4、项目质量管理

是为了确保项目达到客户所规定的质量要求所实施的一系列管理过程。它包括质量规划质量控制质量保证等。

5、项目人力资源管理

是为了保证所有项目关系人的能力和积极性都得到最有效地发挥和利用所做的一系列管理措施。它包括组织的规划、团队的建设、人员的选聘和项目的班子建设等一系列工作。

6、项目沟通管理

是为了确保项目的信息的合理收集和传输所需要实施的一系列措施,它包括沟通规划,信息传输和进度报告等。

7、项目风险管理

涉及项目可能遇到各种不确定因素。它包括风险识别风险量化,制订对策和风险控制等。

8、项目采购管理

是为了从项目实施组织之外获得所需资源或服务所采取的一系列管理措施。它包括采购计划,采购与征购,资源的选择以及合同的管理等项目工作。

9、项目集成管理

是指为确保项目各项工作能够有机地协调和配合所展开的综合性和全局性的项目管理工作和过程。它包括项目集成计划的制定,项目集成计划的实施,项目变动的总体控制等。

3.项目管理三要素[2]

项目管理中,最重要的是质量、工期与成本三要素:

①质量是项目成功的必须与保证,质量管理包含质量计划、质量保证与质量控制。

进度管理是保证项目能够按期完成所需的过程。在一种大的计划指导下,各参与建设的单位编制自己的分解计划,才能保证工程的顺利进行。

成本管理保证项目在批准的预算范围内完成项目的过程,包括资源计划的编制、成本估算、成本预算与成本控制。

4.项目管理的形式[3]

l、设置项目管理的专门机构,对项目进行专门管理。项目的规模庞大、工作复杂、时间紧迫;项目的不确定因素多,有很多新技术、新情况和新问题需要不断研究解决;而且,项目实施中涉及部门和单位较多,需要相互配合、协同攻关。因而,对此应单独设置专门机构,配备一定的专职人员,对项目进行专门管理。

2、设置项目专职管理人员,对项目进行专职管理。有些项目的规模较小,工作不太复杂,时间也不太紧迫,项目的不确定因素不多,涉及的单位和部门也不多,但前景不确定,仍需要加强组织协调,对于这样的项目,可只委派专职人员:进行协调管理,协助企业的有关领导人员对各有关部门和单位分管的任务进行联系、督促和检查,必要时,也可以为专职人员配备助手。

3、设置项目主管,对项目进行临时授权管理。有些项目的规模、复杂程度、涉及面和协调量介于上述两种情况之间,对于这样的项目,设置专门机构必要性不太大,设置项目专职人员又担心人员少,力量单薄难于胜任,或会给企业有关领导人增加不必要的管理量,可以把第一种形式的设置专门机构由指定主管部门来代替,可以把第二种形式设置专职协调人员由项目主管人员来代替,并临时授于相应权力,主管部门或主管人员在充分发挥原有职能作用或岗位职责的同时,全权负责项目的计划、组织与控制。

4、设置矩阵结构的组织形式,对项目进行综合管理。所谓“矩阵”,是借用数学中的矩阵概念把多个单元按横行纵列组合成矩形。矩阵结构就是由纵横两套管理系统组成的矩形组织结构。-—套是纵向的部门职能系统,另一套是由项目组成的横向项目系统。将横向项目系统在运行中与纵向部门职能系统两者交叉重叠起来,就组成一个矩阵。如下图:

在矩阵结构组织中的每一个成员要接受两个方面的领导,即一方面在日常工作中接受本部门的垂直领导,另一方面在执行项目任务时接受项目主管部门和项目主管人的领导,一旦该项目任务完成,就不再接受项目主管部门和项目主管人的领导。

矩阵结构组织形式使一个职工在一定的时间内同时从属几个不同的领导部门,因此它具有双重性和多重性。同时它又把原来垂直领导系统中的不同专业人员为完成某一项目任务而集中起来,一方面增强了力量,另一方面也有利于调动其积极性,确保项目任务的完成。

矩阵结构组织形式的优点是:加强了各职能部门的横向业务联系,便于相互协调,具有较大的适应性;便于集中各种专门人员的知识和技能,迅速完成某一项目任务,提高了管理的有效性;在保持了企业职能系统相对稳定的前提下,增强了管理组织的灵活性。

5.项目管理的过程[4]

项目管理可分为五个过程组,每个过程组的主要目标为:

(1)启动过程组:明确并核准项目或项目阶段。

(2)规划过程组:确定和细化目标,并为实现项目目标和完成项目要解决的问题范围而规划必要的行动路线。

(3)执行过程组:协调人与其他资源以实施项目管理计划

(4)监控过程组:定期测量并监控绩效情况,发现偏离项目管理计划之处,以采取纠正措施来实现项目的目标。

(5)收尾过程组:正式验收产品、服务或成果,并有条不紊地结束项目或项目阶段。项目管理的过程组包括以各自的依据和成果相互联系的项目管理子过程,也就是说,一个过程的结果或成果变成了另一个过程的依据。

6.项目管理的方法[5]

项目管理的方法,按管理目标划分,有进度管理质量管理成本管理安全管理现场管理五种方法。按管理的量性分类,有定性,定量和综合管理三种方法。按管理的专业性质分类,有行政管理经济管理、技术管理和法律管理方法等。

项目管理方法的应用,必须有合理的应用步骤:

第一步,研究管理任务,明确其专业要求和管理方法应用目的。

第二步,调查进行该项管理所处的环境,以便对选择管理方法提供决策依据。

第三步,选择适用、可行的管理方法。选择的方法应专业对路,能实现任务目标,且条件允许,

第四步,对所选方法在应用中可能遇到的问题进行分析,找出关键,制定保证措施。

第五步,在实施选用方法的过程中加强动态管理,解决矛盾,使之产生实效。

第六步,在应用过程结束后,进行总结,以提高管理方法的应用水平。

7.项目管理的组织方法[6]

(一)自己施工主体及粗装饰工程,其余工程全部分包

(二)直接组织劳务承包全部工程施工

(三)工程全部发包,发包方负责管理、监督、协调;

(四)分部分项承包,发包方负责管理、监督、协调。

8.项目管理与其它管理方式的联系

项目管理中许多知识都是独一无二的,或者说几乎是独一无二的(如,关键线路分析和工作分层结构)。然而项目管理知识体系与其它管理方式的确有相同之处,如下图:

项目管理

注:该图仅为对象的关系示意图重叠部分未按比例制作

全局管理包括了企业运作的计划、组织、人事安排、实施和过程控制。全局管理还包括诸如计算机程式设计、法律、统计可行性研究后勤学人事管理。项目管理知识体系与全局管理在许多领域是互相交迭的,如组织行为财务预算、计划方式等不一一列举了。在第二章第4节对全局管理有着更详细的讨论。

“应用领域”是一系列拥有共同要素的项目的统称。这种共同要素虽然重要但却不一定为所有项目所必需或在所有项目中呈现出来。应用领域常需用以下术语来定义:

  • 技术因素,如软件开发、制药技术或工程建筑。
  • 管理因素,如管理层构建或新产品开发决策
  • 工业集团,如汽车工业、化学工业和金融服务业等。

9.项目管理流程图

10.项目管理案例

案例一:企业软件工程项目管理案例简析

一、中国航空结算中心软件开发项目管理案例与分析

目前,我国几乎所有民航企业都成立了自己的软件开发部门,但是在软件工程项目的实施过程中,由于许多民航企业套用传统项目管理模式,同时因为民航企业在组织体系、项目实施目标等方面与纯粹意义的软件开发企业存在巨大差异,没有一套适合的项目管理模式,导致了项目成功的比率很低,进而影响了民航业信息化的过程。下面我们通过对中国航空结算中心(下简称中心)软件开发案例的分析详尽阐明民航企业软件工程项目管理中存在的问题。

1998年,民航总局部署了解决“2000年问题” 的任务,中心成立了“200o问题”领导小组,第一次引进了软件工程项目组织形式。项目经理由计算机部经理担任,下设个科室相应成为项目小组。

项目目标分为两个方面,其一,1999年10月前完成总局下达的任务,其二,同期实现分摊系统功能升级,增加特殊比例分摊(SPA)功能。中心希望通过引进软件工程项目提高专业软件开发能力,进而加快主业自动化进程。

但项目的结果并不理想,例如总局指令性指标虽然按时完成,SPA模块却延期至2000年3月结束,可以说项目的实施是不成功的,其问题主要表现在以下几个方面:

1、项目组织形式

中心引人项目这种组织形式的目的是为了灵活高效完成软件开发工作,进而实现主营业务信息化。但组织项目时没有经过详尽分析,混淆了项目和部门的概念,简单地将计算部纳入同一个项目。另外,从项目目标来看,解决2000年问题模块主要工作集中在对原系统年份函数的修改,尽管战略意义重大,但工作量并不大,难度也很低。

而SPA模块是在新引进的由汉莎航空公司开发的分摊系统上进行再开发,一方面与中心原有新航系统关联性不强,另一方面,由于硬件环境的变化以及特殊比例分摊协议极为复杂,汉莎系统与中心大型机设备不兼容,需要大范围修改以及逻辑的重建,工作量和难度都很大。

按照项目目标,应该组建两个独立的项目组,而组建项目时对此认识不够透彻,大项目组的设置没有体现项目灵活高效的特点,也限制了下属项目小组的权限以及项目经理对所需客户支持部人力资源的支配能力,进而影响了项目的进程。

2、人力资源配置

由于长期受计划体制的影响,中心一直没有形成“以人为本”的现代人力资源管理体系。计算机部人员流动性很强, “四年现象” 明显,即第一年培训,第二年熟悉业务,第三年成为业务骨干,第四年辞职。通过对离职人员的调查,发现他们离开中心的主要原因并不是薪金,而是诸如岗位培训机会少、工作挑战性不强、晋升机会少等因素。这些充分说明了中心在人力资源管理方面存在严重的问题。

人员流动过于频繁给项目的启动和开展带来了极大的负面影响,尤其是SPA模块的开发工作。分摊业务是结算业务的核心,而特殊比例分摊更是整个结算体系中的难点,专业性强。熟悉分摊业务的软件开发人员的匮乏直接妨碍了项目的正常启动,这也是项目失败的重要原因之一。

3、项目沟通与冲突管理

中心组建软件开发项目时,沿用了职能部门组织体系,没有体现项目作为跨部门平台的特点,其组织形式以及项目成员配置决定了项目组必须通过客户支持部与最终用户沟通,沟通渠道不通畅也导致了软件开发过程中频繁冲突的发生。

冲突主要表现在两个方面:其一,项目经理和客户支持部负责人关于人力资源的竞争。依据中心职能机构设置,与航空公司联系属于客户支持部业务范围,如现行系统的用户支持,同时该部门又是项目组和用户沟通的唯一正式渠道。

由于用户支持部不需对项目负责,因此对他们而言,本职业务优先级高于项目业务。其二, 项目组和用户之间信息传递延迟或丢失引起的误会。项目经理和用户合同经理不能直接沟通必然造成信息传递的延迟,在项目开展的过程,经常出现用户需求不能及时提交到开发人员面前甚至被曲解的现象,其结果往往是开发人员重新设计程序。

4、知识管理

知识管理作为项目管理的新内容,并没有引起中心项目管理人员的充分重视,代表性的一个例子是开发文档的整理极不规范。程序文档是开发人员与用户重要的交流渠道,是用户使用和维护系统的重要依据,是软件工程项目成果的重要组成部分,因此监督开发人员编写程序文档必然成为项目经理管理项目知识成果的重要内容。

在项目进程中,项目组成员都没有认识到知识管理的重要性,程序文档的整理被安排为项目终止阶段任务,而没有与开发工作同步,致使文档不完备,给系统移交以及用户维护带来了许多计划外的工作量。

二、改进企业软件项目管理的若干建议

1、建立柔性的项目组织

在传统产业领域,企业的软件项目普遍以职能型组织形式存在。项目的任务分配给相应的职能部门,职能部门经理对分配到本部门的项目任务负责。不幸的是,不同的部门经理对项目在各个职能部门的优先级有不同的观点,所以项目在某些部门的工作可能因为缺乏其他部门的协作而被推迟。

另外,项目经理缺乏必要的控制权利,无法对项目成员的工作进度和效果进行有效的控制和评估,在进程管理和人员管理等诸多方面造成混乱。解决这些问题比较好的方法是在软件工程项目中建立协调矩阵型组织。项目经理主要负责项目,职能部门经理辅助分派人员。项目经理对所需跨职能部门人员实行聘任,项目成员的绩效由项目经理评估,不向原属职能部门负责。这样减小了职能部门对项目的影响,项E1经理可以更有效地控制项目。

另一方面,企业组织结构一般呈金字塔型,从最上面的决策层到最下面的操作层有许多层次。这种层次结构使得机构重叠,容易产生官僚主义,效率低下,极不适应软件工程这样内容形式变化频繁的项目管理。项目组织内部的扁平化可以通过减少管理层次,如取消科级设置,建立紧凑的富有弹性的新型开发组织,使其具有敏捷、灵活、迅速、高效等特点。扁平化项目组织的优势在于不但降低了管理协调成本,还大大增强了项目对市场的反应速度和满足用户的能力。

2、建立良性人力资源管理体制

我国国有企业长期依据职位配备人员,对个体的重视程度不足。大部分企业还沿用传统技术项目的标准化流程的管理模式,这不利于职工发挥主动性、创造性,并在一定程度使得企业难以留住软件开发人才,造成项目无法延续。为了避免类似情况频繁发生,从根本上企业必须真正树立起以人为中心的现代管理思想,从战略高度认识人力资源的作用。

首先,鼓励项目人员参与管理。项目实施人员对项目的进程有最为详尽的信息,可是缺乏发言权,项目经理也仅仅是任务的执行者,项目进程往往由处于信息孤岛的塔尖管理者控制。这样既不利于项目的正常管理,也不利于发挥项目人员的积极性和创造性。定期的由各阶层人员参加的联席会议,创建通畅的双向信息交流渠道是很好的解决方案。

其次,建立学习型组织。为了提高项目成员素质,增大项目成功概率,加强企业竞争力和生存力,必须尽快建立起学习型组织,加大人员培训力度,并重点培养项目管理人才。

第三,建立软件开发人员晋升渠道。在传统产业机构组织体系中软件开发部门通常不是核心部门,软件开发人员晋升机会相对于主业部门人员较少,极大影响了开发人员的工作积极性和开发团队的稳定性。为了从根本上解决问题,相应的人事制度改革必须实行,设立对等于行政职位的技术职位以保障软件开发人员晋升渠道的通畅。

3、推动企业软件工程项目管理规范化、体系化

软件工程项目是人力资源密集型项目,优秀的开发团队是项目顺利开展的根本保证。目前国有企业在吸引人才以及稳定人才方面处于劣势,因此现阶段这些机构紧要的任务是尽快通过一系列措施将其软件开发过程规范化,通过建立经营方法、实践和规章等基础建设,即使定义最初方法、实践和规程的人员离去,项目仍能继续下去。

企业的软件工程项目组要成为真正的优秀软件产品生产线还有许多工作要做,我认为以下几点是项目规范化必不可少的步骤:

第一,软件过程纪律化。设置基本的软件管理控制,结合在以前项目上的观察结果和当前项目的需求制定实际可行的项目约定。对项目组开发的工作产品建立性能基线,并控制其完整性。制定软件项目标准,并保证项目组内部准确执行这些标准。

  第二,软件过程标准一致化。项目组致力于软件开发和维护的过程标准文档化,包括软件工程过程和软件管理过程,并将这些过程及成为一个有机整体。通过这个步骤的工作,在项目建立的产品生产线内,成本、进度和功能性均受控制,软件质量也得到跟踪。

第三,使软件过程可预测化。作为开发计划的一部分,组织对所有的开发工作都测量其重要过程活动的生产率和质量。项目通过将其过程性能的变化限制在定量的可接受的范围之内,实现对其产品和过程的控制,当超过限制范围时,采取措施予以纠正。

第四,持续优化软件过程。在前几个步骤的基础上,项目组分析自身存在的缺陷以确定其发生的原因,记录经验教训,最终项目组织有能力识别弱点并预先针对性地完善项目进程。

经过上述工作的努力,企业的软件工程项目组必定能成为名副其实的优秀产品生产线,即便是在项目核心离职后,其继任者也能通过学习项目组沉淀下来的知识迅速进入角色,保证项目顺利展开。

软件工程项目管理在传统产业的应用会日益增加,面对目前我国企业软件工程项目管理的不理想局面,寻求一种适合这些机构的项目管理模式不仅对行业的现代化、信息化有着重要的意义,而且对提高我国企业竞争力也具有战略意义。