版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.1项目的概念
1.2项目管理的概念本章小结
习题
首先了解以下几个问题:
1.做一份模拟试卷需要花多少时间?
2.自行车补一次轮胎需要多少钱? 多少时间?
3.请同学到家里过生日,准备请多少人?需要多少时间?花多少钱?
这些问题,大家根据生活、学习经验都能直接估计出来,很好回答。再看以下两个问题:
1.1项 目 的 概 念
1.建造一栋10层高的楼需要多少钱?多少人?多少时间?质量如何保证?钱、人、时间如何控制?
2.软件公司签订了一份软件开发合同,而这个软件开发项目需要花多少钱?用多少人、需要多少时间?又如何能保证按时按质完成?
这两个问题,恐怕不易直接估计并回答出来,需要通过项目管理方法来解答。有效的项目管理方法,使企业能对自己所要做的事情,在费用、人力、工期(完成时间)、质量上进行有效的预算和控制,并达到提高效率、降底成本、减少风险的要求。然而,什么样的问题才需要用到项目管理的方法和手段呢?我们的首要任务就是判断什么样的活动才可称为项目。1.1.1项目的定义
随着社会的发展,人类有组织的活动逐步分化为两种类型:一种是连续不断、周而复始的活动,人们称之为“运作”,如企业日常生产产品的活动;另一种是临时性、一次性的活动,人们称之为“项目”,如企业的技术改造活动、一项环保工程的实施等。
从最广泛的含义来讲,项目是一个特殊的将被完成的有限任务。它是在一定时间内,满足一系列特定目标的多项相关工作的总称。此定义包括以下三方面含义:
(1)项目是一项有待完成的任务,具有特定的环境和要求。
(2)在一定的组织机构内,利用有限资源(人力、物力、财力),在规定的时间内完成任务。
(3)任务要满足一定性能、质量、数量、技术指标等要求。
由项目的定义可以看出,项目可以是建造一栋大楼、一座工厂或一座大桥,也可以是解决某个研究课题、举办各种类型的活动等。这些都是一次性的,都要求在一定的期限内完成,不得超过一定的费用,并有一定的性能要求等。所以,项目可以说是建立一个新企业、新产品、新工程,或规划实施一项新活动、新系统的总称。1.1.2项目的特征
项目的特征指的是项目作为一类特殊的活动(任务)所表现出来的区别于其他活动的特征,是项目的外在特征,也是项目内在属性的综合反映。项目特征主要体现在以下三个方面。
1.项目的一次性
项目是指一次性的任务。“一次性”是识别项目与运作的关键特征。如果一项任务没有已完全程序化的过程可以对照执行,以后也不可能完全按照该项任务的过程去完成另一项任务,则可认为该任务是一次性的,是一个项目。
2.项目目标的明确性
人类有组织的活动都有其目的性。项目作为一类特别设立的活动,也有其明确的目标。从上面对项目概念的剖析可以看到,项目目标一般由成果性目标和约束性目标组成。其中,成果性目标是项目的来源,也是项目的最终目标。在项目实施过程中,成果性目标被分解成为项目的功能性要求,是项目全过程的主导目标;约束性目标通常又称限制条件,是实现成果性目标的客观条件和人为约束的统称,是项目实施过程中必须遵循的条件,从而成为项目实施过程中管理的主要目标。可见,项目的目标正是两者的统一,没有明确的目标,行动就没有方向,也就不称其为一项任务,也就不会有项目的存在。
3.项目的整体性
项目是为实现目标而开展的任务的集合。它不是一项项孤立的活动,而是一系列活动的有机组合,从而形成一个完整的过程。强调项目的整体性,也就是强调项目的过程性和系统性。1.1.3项目的属性
项目的属性是指项目本身所固有的特性,可以归纳为以下六个方面。
1.唯一性
唯一性又称独特性,这一属性是“项目”得以从人类有组织的活动中分化出来的根源所在,是项目一次性属性的基础。每个项目都有其特别的地方,没有两个项目会是完全相同的。建设项目通常比开发项目更加程序化,但不同程序的用户化是所有项目的特点。在有风险存在的情况下,项目就其本质而言,不能完全程序化,项目主管之所以被人们强调得很重要,是因为他们有许多例外情况要处理。
2.一次性
由于项目的独特性,项目作为一种任务,一旦完成,项目就宣告结束,不会有完全相同的任务重复出现,即项目不会重复,这就是项目的“一次性”。但项目的一次性属性是对项目整体而言的,并不排斥在项目中存在着重复性的工作。
3.多目标属性
项目的目标包括成果性目标和约束性目标。在项目过程中成果性目标都是由功能要求或一系列技术指标来定义的,同时都受到多种条件的约束,这种约束性目标往往是多重的。因此,项目具有多目标属性,如图1-1所示,项目的总体目标是多维空间的一个点。图1-1项目的多目标属性示意图
4.生命周期属性
项目是一次性的任务,因而它是有起点和终点的。任何项目都会经历启动、开发、实施、结束这样一个过程,人们常把这一过程称为“生命周期”。
人们为了便于管理,通常又会把生命周期划分为若干个阶段。每个项目阶段都以一个或数个可交付成果的完成作为其标志,其中,可交付成果是指某种有形的、可验证的工作成果。由于不同类型的项目,其可交付成果一般都不相同,因此,对生命周期各阶段的具体划分也会有所不同。总体来看,生命周期还可以分为概念阶段、开发阶段、实施阶段和收尾阶段等四个阶段,对应项目所经历的四个过程。项目的生命周期特性还表现为在项目的全过程中,具有概念阶段比较缓慢,开发和实施阶段比较快速,而收尾阶段又比较缓慢的规律。另外,一般情况下,在生命周期的不同阶段,其成本和人力资源投入也是不同的,如图1-2所示。图1-2生命周期各阶段的成本和人力资源投入示意图
5.相互依赖性
相互依赖性指项目常与组织中同时进展的其他工作或项目相互作用,对于项目来说,这种相互作用,大部分情况是工作之间的抵触,即冲突。组织中各事业部门(行销、财务、制造等)间的相互作用是有规律的,而项目与事业部门之间的冲突则是变化无常的。项目主管应清楚这些冲突并与所有相关部门保持适当联系。
6.冲突属性
项目经理与其他经理相比,生活在一个更具有冲突特征的世界中。项目之间有为资源而与其他项目进行的竞争,也有为人员而与其他职能部门进行的竞争。项目组成员在解决项目问题时,几乎一直处在资源和领导问题的冲突中。下面是两种典型的冲突情况。
(1)人员冲突:程序开发人员张三,其项目经理要求他当天完成一项工作量为1天的程序开发任务;同时,其所属部门的技术部经理要求他在当天对新进部门员工进行为期1天的培训。此时,张三在时间安排上发生了冲突,应怎样处理?
(2)资源冲突:现有两个软件开发项目组共用一个计算机服务器。项目组A要在此服务器上安装一个Unix环境进行测试, 而项目组B需要继续在Windows环境下连接他们的SQL数据库,该矛盾应怎样解决?1.1.4项目分类
为了方便对项目进行管理,研究各类项目的特点,人们对项目进行了分类,根据分类方法的不同,分成了很多种类型。下面是几种常见的项目分类。
(1)按行业分:建筑项目、制造项目、农业项目、金融项目、软件项目、信息管理项目等。
(2)按层次分:宏观项目、中观项目、微观项目。
(3)按产品分:新产品开发、新技术开发、产品改进等。
我们在进行项目的管理活动时,通常是先把项目归属到一个项目的类型中,然后根据这个类型的项目特点进行管理。比如,某企业的ERP实施项目,就可以将其归到ERP实施项目的类别中,然后按照ERP实施项目的特点进行管理。1.1.5识别项目示例
要识别一项活动是否属于项目,主要是根据项目的一次性来进行的。
例1-1
设计一种新型的自行车,这项任务是否是一个项目?
分析:设计新型自行车的任务,由于没有已完全程序化的过程可以对照执行,需要根据新型自行车的新需要进行设计、试制、测试、定型等工作。虽然在管理上可以有一定的规范,但在工作程序、工作内容上都是新的,而且有可能不能完成。因此,根据项目一次性的定义,设计新型自行车这项任务是一次性的,所以是一个项目。
例1-2
生产100辆新设计的新型自行车,这项任务是否是一个项目?
分析:生产100辆新设计的新型自行车,实际上就是生产100辆已定型号的自行车。由于型号已定,因此,其生产过程(即生产工艺)可以根据以前的生产工艺对照执行,或此生产工艺可以用于以后的生产对照执行。所以,这项任务不是一次性的,不是一个项目。
实际上,对于项目的识别,主要是判断活动能不能重复。这可以通过一种简单的方法来回答:“这项活动以前有没有进行过?以后还要不要再重复?”根据这个方法,重新对例1-1和例1-2进行如下分析:例1-1分析:设计这种新型自行车,以前没有进行过,设计完成之后,以后不需要再进行,因此,此任务不能重复,是项目。
例1-2分析:生产100辆自行车,以前可能进行过,以后也可能会再次进行,因此,此任务有可能重复,即可以重复,不是项目。
例1-3办一次新产品展示会,这项任务是否是一个项目?
分析:这项任务,要根据具体的情况进行分析,不能直接给出结论。情况一:A公司开发出了一个很成功的产品,需要在上海临时租用一个场地,举办一个规模较大的新产品展示会来推广他们的产品。这项活动,因为A公司以前没有进行过,以后也不可能再进行,不能重复,所以是项目。
情况二:B公司长期租用了一个展示场所,每隔1个月都要举办一次新产品展示会,对其公司的近期成型产品进行介绍。这项活动,因为每隔1个月都要进行,可以重复,所以不是项目。对于这个问题,可能会有一个误解:情况一中,A公司以后可能会再次进行展示,那就是可能重复的了,故不是项目。对于这种误解,分析如下:
对于活动重复性的判断,实际上是对前后两次活动所具有的相同性的判断。因为实际上是不可能存在两项完全一样的活动的。比如,生产100辆自行车,前一次生产和后一次生产,时间不一样,操作人员可能不一样,所用的材料成本可能不一样,成品的质量也可能不一样。所以,我们在判断活动是否重复时,是根据活动的相同程度来判断的。当然,程度标准对于不同的人、不同的企业、不同的活动都有可能不同,但总会有一个定性的分析。比如生产自行车,我们可认为两次生产的投入类似,中间过程类似,过程中需要解决的问题相同,结果也类似,因此,该活动是重复的。对于情况一中的展示会,就算以后还要再进行,但是,前后两次活动,由于过程可能不同,要解决的问题也可能不同,比如场地租用、宣传方式、参加人员等,而且目标和实际产生的效果也可能是不同的,因此,我们认为该活动不是重复的。
例1-4
建筑公司建造一栋楼房,这项任务是否是一个项目?
分析:一般地,建筑公司应不会只建造一栋楼房,因此,分析这个问题的关键在于判断建造这栋楼房和建造其他楼房存在着多大的差异。由于建造楼房所涉及的中间环节比较多,参与的人可能不同,环境不同,要求也会不同,即人、成本、目标、时间等因素都有较大的不同,因此,一般情况下,这项任务可当作一个项目来看待。1.1.6成功项目的判定
项目在结束之后,一般会有两种结果:成功、失败。只有达成项目目标的项目,才算是成功的。根据前面项目的多目标属性,成功的项目不能超出成本、进度、范围等三方面的要求,如图1-3所示。图1-3判定项目成功的示意图实际运作时,可以从以下四方面来判定项目的成功与否:
(1)能否在一定时间期限内完成。
(2)能否控制在一定预算成本内。
(3)能否得到客户使用者的认可。
(4)能否使范围变化最少或双方就范围变化达成一致。1.2.1什么是项目管理
直观地理解,项目管理就是对项目进行的管理。它包含两个方面的内涵:项目管理属于管理的大范畴;项目管理的对象是项目。
随着项目及其管理实践的发展,项目管理的内涵得到了较大的充实和发展,现今的“项目管理”包含两方面的含义:1.2项目管理的概念
(1)一种管理活动:有意识地按照项目的特点和规律对项目进行组织管理的活动。
(2)一种管理学科:以项目管理活动为研究对象的一门学科,它是探求项目活动科学组织管理的理论与方法。
前者是一种客观实践活动,后者是前者的理论总结;前者以后者为指导,后者以前者为基础。就其本质而言,两者是统一的。
项目管理就是以项目为对象的系统管理方法,通过一个临时性的、专门的柔性组织,对项目进行高效率的计划、组织、指导和控制,以实现项目全过程的动态管理和项目目标的综合协调与优化。项目管理贯穿于项目的整个生命周期,对项目的整个过程进行管理。它是一种运用既有规律又经济的方法,对项目进行高效率的计划、组织、指导和控制的手段,并在时间、费用和技术效果上达到预定目标。
项目的特点也表明它所需要的管理及其管理方法与一般作业管理不同,一般的作业管理只需对效率和质量进行考核,并注重将当前的执行情况与前期进行比较。在典型的项目环境中,尽管一般的管理办法也适用,但管理结构需以任务(活动)定义为基础来建立,以便进行时间、费用和人力的预算控制,并对技术、风险进行管理。在项目管理过程中,项目管理者是通过各个职能部门调配并使用资源,但最后决定什么样的资源可以调拨,则取决于业务领导。
到目前为止,人们已从多种角度来解释项目管理,三维管理即是一例:
(1)时间维:把整个项目的生命周期划分为若干个阶段,从而进行阶段管理。
(2)知识维:针对项目生命周期的各个不同阶段,采用和研究不同的管理技术方法。
(3)保障维:对项目中人、财、物、技术、信息等的后勤保障管理。1.2.2项目管理的主要任务和内容
项目管理是以项目经理负责制为基础的目标管理,是按任务而不是按职能组织起来的。具体来说,项目管理的主要任务一般包括项目计划、项目组织、质量管理、费用控制、进度控制等5项,日常的项目管理活动通常是围绕这5项基本任务开展的。
项目计划就是根据项目目标的要求,对项目范围内的各项活动做出合理安排。它系统地确定了项目的任务、进度和完成任务所需的资源等,使项目在合理的工期内,以尽可能低的成本和尽可能高的质量来完成。任何项目的管理都要制定项目计划,项目计划是确定项目协调、控制方法和程序的基础及依据,项目的成败首先取决于项目计划工作的质量。项目计划作为项目执行的重要依据,是项目中各项工作开展的基础。项目计划作为规定和评价各级执行人的责权利的依据,对于任何范围的变化都是一个对照点,从而成为对项目进行评价和控制的标准。项目计划按其作用和服务对象可以分为4个层次:决策型计划、管理型计划、执行型计划和作业型计划。项目计划按其活动内容可分为:项目主体计划、进度计划、费用计划、资源计划等。项目管理涉及到多方面的内容,这些内容可以按照不同的线索进行组织,常见的组织形式有2个层次、4个阶段、5个过程、9个职能、42个要素及多个主体。
(1) 2个层次:企业层次、项目层次。
(2)主体:从项目管理的不同主体角度看,包括业主、各承包商(设计、施工、供应等)、监理、用户。
(3) 4个阶段:从项目生命周期阶段的角度看,包括概念阶段、开发阶段、实施阶段、收尾阶段。
(4) 5个过程:从项目管理的基本过程看,包括启动过程、计划过程、执行过程、控制过程、结束过程。
(5) 9个职能:从项目管理的职能领域看,包括范围管理、时间管理、成本管理、质量管理、人力资源管理、风险管理、沟通管理、采购管理、综合管理等。
(6) 42个要素:从项目管理的知识要素看,包括①目与项目管理;②项目管理的运行;③通过项目进行管理;④系统方法与综合;⑤项目背景;⑥项目阶段与生命周期;⑦项目开发与评估;⑧项目目标与策略;⑨项目成功与失败的标准;⑩项目启动;项目收尾;项目结构;
范围与内容;时间进度;资源;项目费用与融资;技术状态与变化;项目风险;效果度量;项目控制;信息、
文档与报告;项目组织;团队工作;领导;沟通;冲突与危机;采购与合同;项目质量管理;
项目信息学;标准与规范;问题解决;项目后评价;项目监理与监督;业务流程;人力资源开发;组织的学习;变化管理;项目投资体制;系统管理;安全、健康与环境;法律与法规;财务与会计。1.2.3项目组织
组织有两重含义:组织机构和组织行为(活动)。项目管理的组织是指为进行项目管理、完成项目计划、实现组织职能而进行项目组织机构的建立,组织运行与组织调整等活动。项目管理的组织职能包括五方面:组织设计、组织联系、组织运行、组织行为、组织调整。项目组织是实现项目计划、完成项目目标的基础条件,组织的好坏对于能否取得项目成功具有直接的影响,只有在组织合理化的基础上才谈得上其他方面的管理。按照组织结构的基本原理和模式,项目的组织结构分为经典的职能式组织结构、项目式组织结构和矩阵式组织结构三种。项目管理组织的结构实质上是决定了项目管理班子实施项目获取所需资源的可能方法与相应的权力,不同的项目组织结构对项目的实施会产生不同的影响。
1.经典的职能式组织结构
经典的职能式组织结构是指一个系统的组织按职能组织结构设立,当采用职能组织结构进行项目管理时,项目的管理班子并不作明确的组织界定,因此有关项目的事务则在职能部门的负责人这一层次上进行协调,其结构如图1-4所示。图1-4经典的职能式组织结构的示意图项目的职能式组织结构是指在这种情况下,项目管理实施班子的组织并不十分明确,各职能部门均承担项目的部分工作(图中带背景的职员指参与项目工作的职员),而涉及职能部门之间的项目事务和问题由各个部门负责人负责处理和解决,以及在职能部门经理层进行协调。
2.项目式组织结构
项目式组织结构如图1-5所示。图1-5项目式组织结构的示意图项目式组织结构与职能式组织结构完全相反,其系统中的部门全部是按项目进行设置的,每一个项目部门均有项目经理,负责整个项目的实施。系统中的职员也是以项目进行分配与组合,接受项目经理的领导。
3.矩阵式组织结构
矩阵式组织结构是提取项目的职能式组织结构和项目式组织结构的特征,将各自的特点混合而成的一种项目的组织结构。根据两种组织结构中取自一种组织特征的大小,项目的矩阵组织又可分为弱矩阵式组织结构、平衡矩阵式组织结构和强矩阵式组织结构。弱矩阵式组织结构(见图1-6)基本保留了项目的职能式组织结构的大部分主要特征,但在组织系统中为更好地实施项目,建立了相应明确的项目管理班子。项目班子由各职能部门属下的职能人员或职能组所组成,这样针对某一项目就有对项目总体负责的项目管理班子。然而,在弱矩阵组织结构中并未明确对项目目标负责的项目经理,即使有项目负责人,他的角色也只不过是一个项目协调者或项目监督者,而不是一个管理者。图1-6弱矩阵式组织结构的示意图平衡矩阵式组织结构是对弱矩阵组织结构的改进,为强化对项目的管理,在项目管理班子内,从职能部门参与本项目活动的成员中任命一名项目经理。项目经理被赋予一定的权力,对项目整体与项目目标负责,如图1-7所示。
强矩阵式组织结构具有项目式组织结构的主要特征。强矩阵式组织结构在系统原有的职能组织结构的基础上,由系统的最高领导任命对项目全权负责的项目经理,项目经理直接向最高领导负责,如图1-8所示。图1-7平衡矩阵式组织结构的示意图图1-8强矩阵式组织结构的示意图1.2.4软件项目管理示例
1.软件项目的一般过程
软件项目一般可以分成三个阶段:计划阶段、开发阶段和维护阶段。各阶段的工作任务和需要提交的成果说明如下。
1)计划阶段
在计划阶段,首先是由项目的发起人根据需求提出完成此项目的要求。此需求可能来源于软件产品的市场需求,也可能来自客户的定单开发要求等。项目提出后,需要进行可行性分析、论证,主要是对项目的政策可行性、技术可行性、经济可行性等方面进行分析、论证。只有在不违反各项法律、法规、国家政策的前提下,在现有的技术条件下可以解决项目的所有技术问题,并且对此项目的投入将会带来比投入更多的回报时,此项目才是合理的,才能正式立项。可行性分析需要提交一份《可行性分析报告》。
在完成可行性分析之后,需要完成一个正式的立项过程。立项主要完成对项目计划书的论证,并形成正式的立项文档,标志此项目的正式成立。立项需要提交一份《项目计划书》和一份《立项报告》。
2)开发阶段
在立项完成之后,就进入了正式的开发阶段,而一般软件人员所说的软件开发项目,大部分就是指这个开发阶段。开发阶段按照步骤需要完成以下工作:
(1)项目准备:成立项目组,完成开发计划的制定。此步骤需提交《开发计划书》。
(2)需求分析:完成需求调研,需求的进一步细化、明确,需求的分析整理,确定最终要实现的需求功能等。此步骤需提交《需求说明书》。
(3)系统设计:完成软件的体系结构设计、功能模块划分、数据库设计、模块接口设计等。此步骤需提交《概要设计说明书》。
(4)详细设计:完成各功能模块的具体实现设计。此步骤需提交《详细设计说明书》。
(5)编码:根据概要设计和详细设计完成相应的程序编码工作。此步骤需提交《程序代码》及《可执行的程序》。
(6)测试:对程序进行测试,发现程序中存在的问题以及和需求不一致的地方。此步骤需提交《测试计划书》、《测试报告》等。
(7)安装试运行:在正式的运行环境中安装,并用正式的数据运行此软件。此步骤需提交《安装说明书》、《使用说明书》、《正式发布的软件程序》等。
3)维护阶段
在安装试运行结束之后,通常意义上的软件开发项目就已经结束,此时就进入了售后的维护阶段。
在此阶段,主要是对用户发现的软件问题进行修改,并根据用户提出的新需求进行升级。
2.软件项目管理的主要内容
根据实际情况,在进行软件项目管理时,应将重点放在软件配置管理、软件质量管理、软件风险管理及人员管理等四方面,并贯穿于软件开发的整个阶段。
1)软件配置管理
是否进行配置管理与软件的规模有关,软件的规模越大,配置管理就显得越重要。软件配置管理简称SCM(SoftwareConfigurationManagement),是在团队开发中标识、控制和管理软件变更的一种管理。配置管理的使用取决于项目规模和复杂性以及风险水平。软件配置管理分为版本管理、问题跟踪和建立管理三个部分,其中版本管理是基础。版本管理应完成以下主要任务:
(1)建立项目。
(2)重构任何修订版的某一项或某一文件。
(3)利用加锁技术防止覆盖。
(4)当增加一个修订版时要求输入变更描述。
(5)提供比较任意两个修订版的使用工具。
(6)采用增量存储方式。(7)提供对修订版历史和锁定状态的报告功能。
(8)提供归并功能。
(9)允许在任何时候重构任何版本。
(10)权限的设置。
(11)晋升模型的建立。
(12)提供各种报告。
2)软件质量管理
软件质量管理主要是指通过各种管理手段来保证软件的质量,它包括软件质量保证计划、软件评审、测试等。软件质量主要从以下方面来评价。
(1)正确性:系统满足规格说明和用户目标的程度,即在预定环境下能正确地完成预期功能的程度。
(2)健壮性:在硬件发生故障、输入的数据无效或操作错误等意外环境下,系统能作出适当响应的程度。
(3)效率:为了完成预定的功能,系统需要的计算资源的多少。
(4)完整性(安全性):对未经授权的人使用软件或数据的企图,系统能控制(禁止)的程度。
(5)可用性:系统在完成预定应该完成的功能时令人满意的程度。
(6)风险:按预定的成本和进度开发出系统,并且为用户所满意的概率。
(7)可理解性:理解和使用该系统的难易程度。
(8)可维修性:诊断和改正在运行现场发现的错误所需要的工作量的大小。
(9)灵活性(适应性):修改或改进正在运行的系统所需要的工作量的多少。
(10)可测试性:软件测试的难易程度。
(11)可移植性:将程序从一种硬件配置和(或)软件系统环境转移到另一种配置和环境时,需要的工作量的多少。可采用一种定量度量的方法:原有程序设计和调试时的成本除以移植时需用的费用。
(12)可再用性:在其他应用中该程序可以被再次使用的程度(或范围)。
(13)互运行性:把该系统和另一个系统结合起来所需工作量的多少。
在进行质量管理时,应遵循以下基本原则:
●控制所有过程的质量。
●过程控制的出发点是预防不合格。●质量管理的中心任务是建立并实施文件化的质量体系。
●持续质量改进。
●有效的质量体系应满足顾客和组织内部双方的需要和利益。
●定期评价质量体系。
●搞好质量管理关键在于领导。3)软件风险管理
软件风险管理是提前重视软件项目管理中存在着的风险并进行防范,从而最大限度地减少风险的发生。
对于软件项目来说,可能存在的风险主要有:项目风险(成本提高,时间延长等)、技术风险(技术不成熟等)、商业风险(销售问题等)、战略风险(公司的经营战略发生了变化)、管理风险(公司管理人员是否成熟等)、预算风险(预算是否准确等)等。软件风险管理主要包括风险识别、风险评估、风险评价、风险的驾驭和监控等。
在20世纪80年代初,著名软件工程专家B.W.Boehm总结出了软件开发时需遵循的七条基本原则,同样,我们在进行软件项目管理时,也应该遵循这七条原则:
(1)用分阶段的生命周期计划严格管理。
(2)坚持进行阶段评审。(3)实行严格的产品控制。
(4)采用现代程序设计技术。
(5)结果应能够清楚地审查。
(6)开发小组人员应该少而精。
(7)承认不断改进软件工程实践的必要性。
4)人员管理
众所周知,人是决定组织和项目成败的关键。人员管理也就是人力资源管理,主要包括编制人力资源计划、组建项目团队和项目团队建设三个主要过程。
人力资源计划涉及决定、记录和分配项目角色、职责及报告关系的过程。实际上就是决定采用什么样的组织结构,并明确组织结构中各角色的职责及相互之间的关系。此内容详见后面的项目组织部分说明。组建项目团队是指项目组的人员具体是从哪里来的。一般,软件项目的项目成员是从企业各部门中抽调而来的,包括销售部、软件开发部、工程实施部、测试部等。这些人员在参与项目工作的同时,一般都还有本部门的日常工作要完成。甚至同时还参与其他项目工作。在此项目工作完成之后,这些人员将会回到原来的部门。
项目团队建设就是培养、改进和提高项目团队成员个人以及项目团队整体的工作能力,使项目管理团队成为一个特别有能力的整体,在项目管理过程中不断提高管理能力,改善管理业绩,一般项目团队建设的重点集中在人员培训、团队建设活动和奖励与表彰制度。
3.项目组织
1)软件开发项目的角色定义
软件开发项目的项目组一般包括以下角色:
(1)项目负责人(ProjectLeader,PL):对项目的成败进行负责,一般为投资人或公司的高层领导(代表公司),享受项目成功的收益,并承担项目失败的后果。
(2)项目经理(ProjectManager,PM):对项目的执行过程负责,具体包括制定项目开发进度,协调内、外部各种关系,调配项目资源等。项目的成败在很大程度上取决于项目经理的水平。
(3)质量保证人员:为保证软件产品质量而进行相关管理工作的人员,其职责主要是制定有关的质量保证制度,并督促项目组成员按制度执行。
(4)配置管理人员:主要负责对项目执行过程中产生的各种文档、程序进行管理,即对各种版本的文档、程序进行备份,并在调用这些文档和程序时登记有关调用信息。
(5)需求分析人员:主要负责对收集到的需求进行分析、确认,分析出可以实现的需求和不能实现的需求,分析出确实需要的需求和没有必要实现的需求,并确定最终要实现的需求功能。(6)系统设计人员:根据需求文档,完成软件的体系结构设计、功能模块划分、数据库设计、模块接口设计等。
(7)程序员:根据设计文档编写程序代码。
(8)测试人员:完成对程序的测试工作,即参与测试计划书的制定,执行具体的测试过程,并完成相应的测试报告等。
2)软件开发项目的组织结构
软件开发项目的项目组一般采用平衡矩阵式组织结构。项目组成员是根据项目的任务从公司的有关部门抽调人员组成的。一个项目组一般都有多个部门的人,如质量管理部、开发部、市场部、工程部等。
项目组成员在项目执行期间,除了参加项目的工作、完成项目中规定的任务以外,一般还需进行自己的日常工作,如部门会议、技术交流、人员培训等。项目组成员同时归属于项目经理和部门经理领导,其项目工作对项目经理负责,而日常工作则对部门经理负责。
在项目结束的时候,项目组解散,原项目组成员都将返回原有的部门。
3)项目经理的素质要求
项目经理作为项目执行过程的具体负责人,是项目组的灵魂,是项目组中最重要的一个角色,对项目成败有着最直接的决定作用。为了保证项目的成功,项目经理一般需要具备以下基本素质:
●管理的基本技能与知识。
●很好的沟通与表达能力。
●很强的分析问题、解决问题的能力。
●懂技术,不要求精通,但是要全面。
●良好的职业道德。1.2.5项目管理的标准规范介绍
1. CMM
CMM(CapabilityMaturityModel,软件能力成熟度模型)由美国卡内基梅隆大学的软件工程研究所(SEI)创立,在过去的十几年中对全球的软件产业产生了非常深远的影响。CMM共有五个等级,分别标志着软件企业能力成熟度的五个层次,从低到高,软件开发生产计划精度逐级升高,单位工程生产周期逐级缩短,单位工程成本逐级降低。这五个等级分别如下:
(1)初始级:软件过程是无序的,有时甚至是混乱的,对过程几乎没有定义,成功取决于个人努力。管理是反应式的。
(2)已管理级:建立了基本的项目管理过程来跟踪费用、进度和功能特性,制定了必要的过程纪律,能重复早先类似应用项目取得的成功经验。
(3)已定义级:已将软件管理和工程两方面的过程文档化、标准化,并综合成该组织的标准软件过程。所有项目均使用经批准、剪裁的标准软件过程来开发和维护软件,软件产品的生产在整个软件过程是可见的。
(4)量化管理级:对产品和过程建立起定量的质量目标,同时在过程中加入规定得很清楚的连续度量。作为度量方案,要对所有项目的重要过程活动进行生产率和质量的度量。软件产品因此具有可预期的高质量。
(5)优化管理级:过程的量化反馈和先进的新思想、新技术促使过程持续不断改进。
据SEI统计,通过评估的软件公司对项目的估计与控制能力约提升40%~50%,生产率提高10%~20%,软件产品出错率下降超过1/3。对一个软件企业来说,达到CMM2就基本上进入了规模开发,基本具备了一个现代化软件企业的基本架构和方法,具备了承接外包项目的能力。CMM3评估则需要对大软件集成的把握,包括整体架构的整合。一般来说,通过CMM认证的级别越高,其越容易获得用户的信任,在国内、国际市场上的竞争力也就越强。因此,是否能够通过CMM认证也成为国际上衡量软件企业工程开发能力的一个重要标志。
2. CMMI
CMM的成功促使其他学科也相继开发类似的过程改进模型, 例如系统工程、需求工程、人力资源、集成产品开发、软件采购等,因而从CMM衍生出了一些改善模型,比如:
(1) SW-CMM(SoftwareCMM)软件CMM。
(2) SE-CMM(SystemEngineeringCMM)系统工程CMM。
(3) SA-CMM(SoftwareAcquisitionCMM)软件采购CMM。
(4) IPT-CMM(IntegratedProductTeamCMM)集成产品群组CMM。
(5) P-CMM(PeopleCMM)人力资源能力成熟度模型。为了以示区别,国内外很多资料把CMM称为SW-CMM。按照SEI原来的计划,CMM的改进版本2.0应该在1997年11月完成,然后在取得版本2.0的实践反馈意见之后, 在1999年完成准CMM2.0版本。但是,美国国防部办公室要求SEI推迟发布CMM2.0版本,而要先完成一个更为紧迫的项目CMMI,原因是在同一个组织中多个过程改进模型的存在可能会引起冲突和混淆,CMMI就是为了解决怎么保持这些模式之间的协调问题。
CMMI(CapabilityMaturityModelIntegration)即能力成熟度集成模型, 这是美国国防部的一个设想,他们想把现在所有的以及将被发展出来的各种能力成熟度模型集成到一个框架中去。这个框架有两个功能:第一,软件采购方法的改革;第二,建立一种从集成产品与过程发展的角度出发、包含健全的系统开发原则的过程改进。就软件而言,CMMI是SW-CMM的修订本。它兼收了SW-CMM2.0版C稿草案和SPA中更合理、更科学和更周密的优点。
CMMI项目更为工业界和政府部门提供了一个集成的产品集,其主要目的是消除不同模型之间的不一致和重复,降低基于模型改善的成本。CMMI将以更加系统和一致的框架来指导组织改善软件过程,提高产品和服务的开发、获取和维护能力。
CMMI为改进一个组织的各种过程提供了一个单一的集成化框架,新的集成模型框架消除了各个模型的不一致性,减少了模型间的重复,增加了透明度和理解,建立了一个自动的、可扩展的框架,因而能够从总体上改进组织的质量和效率。CMMI的主要关注点就是成本效益、明确重点、过程集中和灵活性四个方面。
CMMI来源于CMM2.0版,与原有的能力成熟度模型类似,CMMI也包括了在不同领域建立有效过程的必要元素,反映了业界普遍认可的“最佳”实践;专业领域覆盖软件工程、系统工程、集成产品开发和系统采购。在此前提下,CMMI为企业的过程构建和改进提供了指导和框架作用;同时为企业评审自己的过程提供了可参照的行业基准。
1) CMMI的原则
(1)强调高层管理者的支持。过程改进往往也是由高层管理者认识和提出的,大力度的、一致的支持是过程改进的关键。
(2)仔细确定改进目标,应该对给定时间内所能完成的改进目标进行正确的估计和定义并制定计划,选择能够达到的目标和能够看到的对组织的效益。
(3)选择最佳实践,应该基于组织现有的软件活动和过程财富,参考其他标准模型,取其精华,去其糟粕,从而得到新的实践活动模型。
(4)过程改进要与组织的商务目标一致,与发展战略紧密结合。
2) CMMI的目标
(1)为提高组织过程和管理产品开发、发布和维护能力提供保障。
(2)帮助组织客观评价自身能力成熟度和过程域能力,为过程改进建立优先级以及执行过程改进。
CMMI分为五个等级(初始级、已管理级、已定义级、量化管理级、优化管理级),每个等级都由几个过程域组成,这几个过程域共同形成一种软件过程能力。每个过程域都有一些特殊目标和通用目标,并通过相应的特殊实践和通用实践来实现这些目标。如果一个过程域的所有特殊实践和通用实践都按要求得到实施,就能实现该过程域的目标。
3) CMMI的方法
(1)决定哪个CMMI模型等级最适合组织过程改进需要。
(2)选择模型的表示法是连续式还是阶段式。
(3)决定组织需要用到的模型中的知识领域。
(4)类似CMM提出的过程改进五步,集成化过程改进分成:开始集成过程改进,建造集成改善平台,集成传统过程,启动新过程,进行改进评估。
4) CMMI的内容
CMMI的内容分为“Required”(要求的)、“Expected”(期望的)、“Informative”(提供信息的)三个级别,用来衡量模型包括的质量重要性和作用。最重要的是“要求的”级别,是模型和过程改进的基础。第二级别“期望的”在过程改进中起到主要作用,但是某些情况下并不是必需的,可能不会出现在成功的组织模型中。“提供信息的”构成了模型的主要部分,为过程改进提供了有用的指导,在许多情况下对需要的和期望的构件做了进一步说明。
“期望的”构件是方法,代表了达到目标的实践手段和补充认识。
CMMI包括了10种“提供信息的”:①目的,概括和总结关键过程域的特定目标;②介绍说明,介绍关键过程域的范围、性质、实际方法和影响等特征;③引用,表现关键过程域之间的指向;④名字,表示关键过程域的构件;⑤方法和目标关系,关键过程域中方法映射到目标的关系表;⑥注释,注释关键过程域的其他模型构件的信息来源;⑦典型工作产品集,定义关键过程域中执行方法时产生的工作产品;⑧子方法,对方法活动的分解和详细描述;⑨学科扩充,CMMI对应学科是独立的,这里提供了对应特定学科的扩展;⑩公用方法的详细描述,关键过程域中公用方法应用实践的详细描述。
5) CMMI与CMM的差别
CMMI模型的前身是SW-CMM(即前面所说的CMM)和SE-CMM。CMMI与SW-CMM的主要区别就是覆盖了许多领域,到目前为止包括下面四个领域:
(1)软件工程(SW-CMM)。软件工程的对象是软件系统的开发活动,要求实现软件开发、运行、维护活动系统化、制度化、量化。
(2)系统工程(SE-CMM)。系统工程的对象是全套系统的开发活动,可能包括也可能不包括软件。系统工程的核心是将客户的需求、期望和约束条件转化为产品解决方案,并对解决方案的实现提供全程的支持。
(3)集成的产品和过程开发(IPPD-CMM)。集成的产品和过程开发是指在产品生命周期中,通过所有相关人
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西南林业大学《西方文化文学社会研究》2022-2023学年第一学期期末试卷
- 西南交通大学《微机与接口技术》2022-2023学年第一学期期末试卷
- 西昌学院《中国民族民间舞》2022-2023学年第一学期期末试卷
- 西昌学院《水文学与水资源》2022-2023学年第一学期期末试卷
- 西北大学《计算机网络》2023-2024学年第一学期期末试卷
- 毕业设计(论文)计算机密码体制浅析
- 上海市人行钢结构天桥工程施工组织设计(技术标)【具备目录一键到达功能】
- 八年级历史期末模拟卷(全解全析)(新疆专用)
- 《谷类和豆类A》课件
- 智研咨询-2025年中国深远海养殖装置行业市场全景调查、投资策略研究报告
- 直播营销话术PPT完整全套教学课件
- 【标准】碧桂园集团地产会计核算标准(年版)
- 移动电源中英文规格书
- 2022年环保标记试题库(含答案)
- GB/T 41781-2022物联网面向Web开放服务的系统安全要求
- 2022年中国烟草行业信息化市场分析
- 超滤+反渗透设计方案
- 盘点计划书(模板)
- 复旦大学明代文学讲义
- 产业集群课件
- 毕业论文-河南胖东来企业发展现状及其经营策略分析
评论
0/150
提交评论