6第1章软件项目管理概述需求造成重大影响。例如,作者曾经从事的金融项目临近上线时,国家推出了“利息税”政策,造成整个系统的大幅变更。从内部来看,组织结构、人事变动等对项目的影响更加直接。有时,伴随着新的领导到任,其思路的变化,甚至对项目的重视程度的变化,都可能直接影响项目的成败。3)软件需要满足一群人的期望。软件项目提供的实际上是一种服务,服务质量不仅仅是最终交付的质量,更重要的是客户的体验。实际上,项目中的“客户”不是一个人,而是一群人。他们可能来自多个部门,并且对项目的关注点不同,在项目中的利益也不同。所以,当我们谈到满足“客户需求”时,实际的意思是满足一群想法和利益各不相同的人的需求,所以,进行软件项目管理是必要的。软件项目管理的根本目的是让软件项目尤其是大型项目的生命周期能在管理者的控制之下,以预定成本按期、按质地完成软件项目,并且交付用户使用。而研究软件项目管理是为了从已有的成功或失败的案例中总结出能够指导今后开发的通用原则、方法,以避免前人的失误。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明企业的软件生产越趋于成熟,企业越能够稳定发展,从而减小开发风险。1.3项目管理知识体系以前,有人认为项目管理是一种“意外的职业”。因为常常是人们在项目中先承担了项目责任,可能是从技术开发开始,然后随着项目经验的逐步提高,积累一定的技术管理等经验,最后顺理成章地当上项目经理。但是管理一个项目的有关知识不是通过系统学习得来的,而是在实践中摸索出来的,在摸索的过程可能会导致严重损失。近年来,在减小项目管理意外性方面已经有了很大进步。很多企业的决策者们日益认识到项目管理方法可以帮助他们在复杂的竞争环境中取得成功。为了减少项目管理的意外性,许多机构或者企业开始要求雇员系统地学习项目管理技术,努力成为经认证合格的项目管理人员。项目管理专业人员资格(ProjectManagementProfessional,PMP)是美国项目管理学会(Projecment Institute,PMI)开发并负责组织实施的一种专业资格认证。PMP认证可Man以为个人的事业发展带来很多好处。该项认证已经获得世界上100多个国家的承认,可以说是目前全球认可程度很高的项目管理专业认证,也是项目管理资格重要的标志之一,具有国际权威。在世界很多国家,特别是发达国家,PMP已经被认为是合格项目管理的标志项目管理知识体系(ProjectManagementBodyOfKnowledge,PMBOK)是PMI组织开发的一套关于项目管理的知识体系。它是PMP考试的关键材料,为所有的项目管理提供了一个知识框架。项目管理知识体系(PMBOK2012)包括项目管理的10个知识领域、5个标准化过程组及47个模块。10个知识领域分别是项目集成管理(Project Integration Management)、项目范围管理(Project ScopeManagement)、项目时间管理(Project TimeManagement)、项目成本管理(Project CostManagement)、项目质量管理(ProjectQualityManagement)、项目人力资源管理(ProjectHumanResourceManagement)、项目沟通管理(ProjectCommunicationMan-agement)、项目风险管理(ProjectRiskManagemelent)、项目采购管理(ProjectProcurementMangement)、项目干系人管理(Project StakeholderManagement)。10个知识领域包括的管理要素如图1-3所示
第1章软件项目管理概述了项目管理项目集成管理项目人力资源管理章利项L管理项目团队项目沟通管理项目范围管理E理创建工作目风险管理项目时间管理L控制风险页目采购管理生度计锁规划采购管理项目成本管理古算成项目干系人管理项目质量管理别工系心图1-3项目管理的知识领域1. 3. 1项目管理的知识领域项目管理的知识领域分布在项目进展过程中的各个阶段,它们的关系可以这样描述:·为了成功实现项目的目标,首先必须设定项目的工作和管理范围,即项目范围管理(what to do)。为了正确实施项目,需要对项目的时间、质量、成本三大目标进行分解,即项目时间管理(when)、项目质量管理(howgood)、项目成本管理(howmuch)。·在项目实施过程中,需要投入足够的人力、物力资源,即项目人力资源管理(peopleandmotivation)、项目采购管理(partners)。为了对项目团队人员进行管理,让大家目标一致地完成项目,需要沟通,即项目沟通管理和干系人管理(understand and be understood)。项目在实施过程中会遇到各种风险,所以要进行风险管理,即项目风险管理
第1章软件项目管理概述·项目管理一定要协调各个方面,不能只顾局部的利益和细节,所以需要集成管理,即项目集成管理。项目管理的知识领域具体描述如下。1.项目集成管理项目集成管理是项目成功的关键,贯穿于项目的全过程。项目集成管理是在项目的整个生命周期内,协调项目管理其他各管理知识域,将项目管理的方方面面集成为一个有机整体,保证项目总目标的实现。项目集成管理从一个宏观的尺度将项目作为一个整体来考查,包括如下过程:制定项目章程(develop project charter),制订项目管理计划(develop project managementplan),指导与管理项目工作(directandmanageprojectwork),监控项目工作(monitorandcon-)实施整体变更控制(nerforminteeratedchangcontrol),结束项目或阶段trolprojectwork(close project orphase)。项目集成管理的目标在于对项目中的不同组成元素进行正确、高效的协调,而不是所有项目组成元素的简单相加。2.项目范围管理项目范围是为了交付具有特定属性和功能的产品而必须完成的工作。项目范围管理“是用以保证项目包含所有需要完成的工作,以顺利完成项目所需要的所有过程。”范围管理主要定义项目需要完成的工作,确保项目包含且只包含所有需要完成的工作。范围管理定义可以控制项目包含什么内容和不包含什么内容,包括如下过程:规划范围管理(plan scope manage-ment),收集需求(collect requirement),定义范围(define scope),创建任务分解结构(createWBS),确认范围(validate.scope),控制范围(control scope)。3.项目时间管理按时提交项目是项目经理的较大挑战之一,时间是灵活性最小的控制元素,进度是导致项目冲突的最主要的原因,尤其在项目的后期,所以项目管理者学习时间管理过程尤为重要。项目时间管理就是保证项目按时完成需要的一些管理过程,包括如下过程:规划进度管理(plan sched-ulemanagement),定义活动(defineactivity),排列活动顺序(sequence activity),估算活动资源(estimatetivityresource),估算活动持续时间(estimateactivityduration),制订进度计划(devel-(op schedule),控制进度(control schedule)。4.项目成本管理项目成本管理是在项目具体实施过程中,为了确保完成项目所花费的实际成本不超过预算成本而展开的管理活动,包括如下过程:规划成本管理(plan cost management),估算成本(estimatecost),制订预算(determinebudget),控制成本(control cost)5.项目质量管理项目质量管理要求保证该项目能够兑现它关于满足各种需求的承诺,涵盖与决定质量工作的策略、目标和责任的全部管理功能有关的各种活动。项目质量管理包括如下过程:规划质量管理(planqualitymanagement),实施质量保证(performqualityassurance),控制质量(controlquality)。6.项目人力资源管理项目人力资源管理包括最有效管理人力资源的过程,要求充分发挥参与项目的人员的作用,包括如下过程:规划人力资源管理(plan human resourcemanagement),组建项目团队(ac-quireprojectteam),建设项目团队(developprojectteam),管理项目团队(manageprojectteam)。这里的组建项目团队是招募项目需要的人员并分配到相应的工作中的过程。建设项目
第1章软件项目管理概述9团队是开发个人、团队的技能和增强项目性能的过程。管理项目团队是跟踪团队成员性能,激励团队成员热情,及时反馈和解决问题,从而增强项目的性能的过程。7.项目沟通管理项目沟通管理包括为了确保项目信息及时准确地生成、收集、发布、存储和部署的过程。确定项目人员的沟通需求和需要的信息,即确定谁需要什么信息,什么时候需要,如何获取这些信息,包括如下过程:规划沟通管理(plan communicationmanagement),管理沟通(managecommunication),控制沟通(controlcommunication)。8.项目风险管理项目风险管理是决定采用什么方法和如何规划项目风险的活动,是指对项目风险从识别到分析乃至采取应对措施等一系列过程。它包括将积极因素所产生的影响最大化和使消极因素产生的影响最小化两方面内容。项目风险管理包括如下过程:规划风险管理(plan riskmanage-t),识别风险(identify risk),实施定性风险分析(performqualitativerisk analysis),实施定量风险分析(performquantitativeriskanalysis),规划风险应对(planriskresponse)和控制风险(control risk)9.项目采购管理项目采购管理包括从执行组织之外获取货物和服务的过程。为了满足项目的需求,项目组织需要从外部获取某些产品,这就是采购。采购的意义是广义的,可能是采购物品,也可能是采购服务(如软件开发等),还包括收集有关产品的信息,进行择优选购。项目采购管理包括如下过程:规划采购管理(planprocurentmanagement),实施采购(conduct procurement),控制采购(control procurement),结束采购(close procurement)。10.项目干系人管理系人管理主要通过沟通管理满足项目相关人员的需求和期望,同时解决问题。项目国十千系人管理包括用于开展下列工作的各个过程:识别能够影响项目或者受项目影响的全部人员、群体或组织,分析干系人对项目的期望和影响,制定合适的管理策略以有效调动干系人参与项目决策和执行。干系人管理还关注与干系人的持续沟通,以便了解干系人的需要和期望,解决实际发生的问题,管理利益冲突,促进干系人合理参与项目决策和活动。应该把干系人满意度作为一个关键的项目目标来进行管理。因此,项目干系人管理包括如下过程:识别干系人(identify stakeholder),,规划干系人管理(plan stakeholdergement),管理干系人参与(manage stakeholder enggement),控制干系人参与(control stakeholderengagement)。1.3.2项目管理知识体系的标准化过程组按照项目管理生命周期,项目管理知识体系分为(启动过程组)(计划过程组)5个标准化过程组,也称为项目管理生命周期的5个阶段,即启动过程组、计划过程组、执行过程组、控制过程组、收尾过程组(见图1-4)。每个标准化过(控制过程组)执行过程组)程组由一个或多个过程组成。它们的关系定义如下:1)启动过程组:主要是确定一个项目或一个阶段可以开始了。并要求着手实行;定义和授权项目或收尾过程组)者项目的某个阶段。2)计划过程组:为完成项目所要达到的商业要图1-4项目管理的5个过程组求而进行的实际可行的工作计划的设计、维护,确保
10第1章软件项目管理概述实现项目的既定商业目标。计划基准是后面跟踪和监控的基础。3)执行过程组:根据前面制订的基准计划,协调人力和其他资源,去执行项目管理计划或相关的子计划。执行过程存在两个方面的输人,一个是根据原来的基准来执行,另外一个是根据监控中发现的变更来执行。主要变更必须要得到整体变更控制批准后才能够执行。4)控制过程组:通过监督和检测过程确保项目达到目标,必要时采取一些修正措施。集成变更控制是一个重要的过程。5)收尾过程组:取得项目或阶段的正式认可并且有序地结束该项目或阶段。向客户提交相关产品,发布相关的结束报告,并且更新组织过程资产并释放资源各个过程组通过其结果进行连接,一个过程组的结果或输出是另一个过程组的输入。其中,计划过程组、执行过程组和控制过程组是核心管理过程组。表1-1所示为PMBOK的5个标准化过程组、10个知识领域、47个模块之间的关系。表1-1PMBOK的5个标准化过程组、10个知识领域、47个模块之间的关系过程组启动过程组计划过程组执行过程组控制过程组收尾过程组知识领域制订项目管理监控项目工作空法中管理况项目集成管理制定项目章程#发结束项目或阶段计划规划范围管理我认范用项目范围管理项目时间管理控制进度估算活动持续时翻订进度计划规划成本管理项目成本管理控制成本特花皮本项目质量管理规划质量管理控制质量实施质量保证规划人力资源组建项目团队份量日人为时管理项目沟通管理规划沟通管理控制沟通管理沟通规划风险管理识别风险实施定性风险项目风险管理孙控制风险实施定量风险分析规划风险应对项目采购管理规划采购管理控制采购实施采购结束采购项目千系人识别千系人规划干系人管理干系人控制千系人管理管理E参E