软件项目管理第四章软件项目范围管理清华大学计算机系殷人昆软件项目管理24.1项目范围管理的概念项目的工作范围也称为“项目范围”,是为了实现客户和承包商共同认可的项目目标,要求项目相关各方必须完成的各项工作内容。因此,项目目标是项目范围管理的基准,但要求确定的项目目标应是清晰的、具体的。项目目标可以是一个体系,也可以是单独的目标,一般情况下,项目总目标包括两个主要部分:成果目标(交付成果)约束目标(时间、成本的约束)软件项目管理3根据项目中的上下文关系,“范围”这个词涉及到两方面内容:a)产品范围界定—一个产品或一个服务应当包含哪些特征和功能。其中包含产品规格说明、性能技术指标的描述。b)项目范围界定—指为了交付具有特定的特征和功能的产品(例如一个工厂辅助制造系统、一个商店销售系统)必须要做的工作。即项目要做什么?如何做工作才能交付这个产品。软件项目管理41.项目范围管理的过程项目启动后,要清晰地确定项目范围,形成项目规格说明,明确阐明项目的范围特征。在制定项目范围管理计划时,一定要界定清楚项目的分工界面,以防在项目实施时责任不清。项目范围的界定,不能代表项目范围是可控的。还需要对项目范围进一步细化,使之具体化、层次化,从而达到可管理、可控制、可实施的目的。这就需要建立工作分解结构WBS(WorkBreakdownStructure)。项目范围的核实表明,项目范围必须得到项目干系人的确认。软件项目管理5项目范围核实贯穿于整个项目生存周期。从项目管理组织确认WBS的具体内容开始,到项目各个阶段的交付物检验,直到最后项目收尾和文档验收,甚至延伸到项目评价和总结。项目范围的变更控制发生在项目实施阶段,即计划执行阶段。执行项目范围变更控制的主要工具是建立和运用项目变更控制系统,规范变更控制,划清相关责任。综上所述,范围管理的主要过程有:1)启动:项目投资方或承包商正式开始一个项目或继续到项目的下一个阶段。标志项目正软件项目管理6式开始或存在的一个重要文档就是项目章程。这个文档将正式认可项目的存在,并给出明确的项目概要。2)编制项目范围计划:项目范围计划是项目计划的一部分。目的是建立一些文档和衡量项目或项目阶段是否完成的准则,为项目决策提供基础。这个过程的工作成果是产生范围说明和范围管理计划。3)项目范围定义:将项目划分为一些较小的更好管理的组成部分。这个过程的工作成果是提交一个工作分解结构WBS(WorkBreakdownStructure)。软件项目管理74)项目范围核实:对经过分解的项目范围进行正式的确认。主要项目干系人,如客户、项目发起人等要对项目可交付成果的定义给予正式的审核和确认。5)项目范围变更控制:是指有关项目范围的变更分析、审核、纠正措施实施、修正范围计划的过程。这个过程的工作成果是范围变更、改正行动和经验教训。以上的活动既是彼此独立的,又是相互影响的。各阶段之间有明显的界限,可以分开阐述。软件项目管理81.输入•产品说明•战略计划•项目选择标准•历史资料2.工具与技术•项目选择方法•专家评审3.输出•项目章程•委派项目经理•约束条件•假设条件项目启动1.输入•产品说明•项目章程•约束条件•假设条件2.工具与技术•产品分析•成本/效益分析•可选择的鉴定方式•专家评审3.输出•范围说明•辅助说明•范围管理计划范围计划1.输入•范围说明•约束条件•假设条件•其他规划成果•历史资料2.工具与技术•工作分解结构样板•分解3.输出•工作分解结构范围定义项目范围管理项目启动范围计划范围定义软件项目管理9项目范围管理1.输入•工作成果•产品文档2.工具与技术•检验3.输出•正式验收范围核实1.输入•工作分解结构•执行报告•变更需求•范围管理计划2.工具与技术•范围变更控制系统•绩效测量•附加规划3.输出•范围变更•纠正措施•经验总结范围变更控制范围核实范围变更控制软件项目管理102.项目目标项目一旦立项,就必定产生一个项目目标。对于项目的不同利益方,如客户方、承包方或其他相关方,又有不同目标和把握重点。例如,一个电信运营商要投资8000万元,改造和扩容原有的计费系统,在原有150个营业厅的基础上,扩充到360个,再建立10个城市级联网计费中心,同时完成整个系统的应用功能改造。要求工期为4个月。项目目标是实施项目所要达到的期望结果,即项目所能交付的产品或服务。软件项目管理11项目通常是有一定期望结果的一次性活动,它有确定的起点和终点,并且任何一个具体项目都要解决一定的问题,达到一定预期的合理目标。1)项目目标的多样性:在一个项目中,目标往往不是单一的,而是多个目标交织的。各种目标之间可能有冲突。因此,在项目实施过程中,要注意在同一层次中不同目标的协调以及在不同层次中总目标和子目标的协调。项目目标基本表现在:时间、成本、技术性能(或质量标准)等三个方面。实施项软件项目管理12目的目标就是要充分利用可获得的资源,使得项目在一定的时间内,在一定的预算基础上,获得所期望的技术结果。但三个基本目标之间存在冲突,三者之间需要进行一定的平衡。时间成本性能期望达到的性能时间限制预算软件项目管理132)项目目标的优先性:项目的不同目标,在项目管理的不同阶段,根据不同的需要,其重要性可能会不同,关注的重点也会不同。例如,在项目的启动阶段,可能给予技术性能以较多的关注;在实施阶段,成本将成为重点;在验收时,对时间进度将给予高度的重视。3)项目目标的层次性:项目的目标可以有一个从抽象到具体的逐层细化的层次结构。例如,一个ERP项目,大项目目标是6个月完成一个ERP系统的开发,在下层可能有网络、分布式数据库等子目标。软件项目管理14项目目标确定的过程1)项目情况分析:对项目的整个环境,包括外部环境、上层组织系统、市场情况、项目干系人(客户、承包商、相关供应商等)、社会经济和政治/法律环境等。2)项目问题界定:检查在上层组织系统、当前环境和各种限制条件中是否存在影响项目开展的因素和问题,对问题进行分类、界定。得出项目问题产生的原因、背景和界限。3)确定项目目标因素:根据对项目当前问题的分析和定义,确定可能影响项目发展和成败软件项目管理15的明确的、具体的、可量化的目标因素,如项目风险大小、资金成本、项目所涉及的领域、通货膨胀、回收期等。这些可以在可行性分析或项目论证的过程中实施。4)建立项目目标体系:通过分析目标因素,确定项目相关各方的项目目标和项目各层次的目标,再描述和确定项目目标的具体内容和重要性。5)确定项目目标体系中各个目标的关系:区分必需的、期望的、阶段性的目标。理清不同目标之间有哪些必然的、直接或间接的联系和矛盾。从整体上把握项目的目标。软件项目管理163.项目的目标管理目标管理MBO(ManagementByObjectives)是一种把总体目标和具体计划相联系的管理方式。目标管理的过程是一个参与式的管理过程。高层管理人员设定总体目标,其下属依据这个总体目标分别制定各自的职责范围、工作范围和工作结果。项目经理定期地对工作结果进行评价。这是一种系统的管理方法,有效地连接了项目目标与组织的总体目标、项目目标与项目组成员的个人目标,提供了有效的沟通方法。软件项目管理174.2项目启动:项目章程启动项目首先要从组织整体环境和战略计划上进行考虑。战略计划就是通过对组织的优势、劣势的分析,研究组织环境中存在的机会和威胁,预测未来趋势,展望新的产品与服务,从而确定长远的目标和规划。这就是有名的SWOT分析方法,通过分析优势(S)、劣势(W)、机会(O)、威胁(T),以制定战略计划。企业战略的核心在于建立竞争优势。软件项目管理181.项目启动的概念项目启动是正式认可一个新项目存在的过程,或者是认可一个已经存在的项目让其继续进行下一个阶段工作的过程。项目通常是由于下列需要而被批准的。市场需求商业需求客户需求技术发展要求社会要求这些需要也可能被称为是问题、机遇或客户的要求。软件项目管理19投资项目的原因从项目整体价值考虑排序支持明确的商业目标1获得较好的内部收益率2支持潜在的商业目标3获得较好的净现值4具有合理的投资回收期5抗争竞争对手类似系统6支持管理决策7满足预算的约束条件8例如,某公司批准投资项目的主要衡量标准如下:软件项目管理20投资项目的原因从项目整体价值考虑排序获取更大的收益可能性9获得较好的投资回收率10项目成功实施完成的可能性达到最大11满足技术和系统的要求12支持法律和政府的要求13达到较好的利润指标14引入新技术15软件项目管理21项目启动的过程,也可以理解为项目被批准的过程。不论是客户方还是承包商,都应当有这个确认过程。在审核、批准的过程中,具体分析其可行性。只有当项目被认为是可行的,或者项目的某一个阶段必备的条件成熟时,项目才可以启动。2.项目启动的依据1)产品(或交付成果)陈述阐明项目工作完成后生产出来的产品或服务的特征。在应用软件开发时,一般可以将产品说明理解为应用的需求陈述,“特征”即为软件系软件项目管理22统待实现的功能。产品说明还要记载项目生产的产品或服务与商业需要及其他影响因素之间的关系。尽管产品说明的形式和内容各不相同,其目的是为项目计划提供详细、充分的资料。如果项目是按客户的合同建立的,最初的产品说明应是由客户提供的。2)战略计划项目管理组织在项目决策时,应当考虑组织当前或长远的战略计划,以及组织的整体环境。分析项目的机遇和风险,预测项目的发展是否符合公司的战略计划对未来的需要。软件项目管理233)项目选择标准通过项目生产的产品可能涉及的工作范围、问题和产品相关价值来定义项目选择标准。(例如财政收入、市场份额、公众反映等)4)历史资料包括以往项目(一般是类似项目)选择决策的结果和以往项目执行的结果,在可获得的范围内对它们加以考虑。在项目启动阶段,在确认项目某一工作执行的结果时,有关前面工作的结果的信息通常是非常重要的。软件项目管理243.项目选择的方法项目选择的决策模型通常有两种:1)收益测量方法:方案比较法、加权平均模型、收益分布、经济模型。2)约束优化方法:数学模型,用线性的或非线性的、动态的、完整的及混合目标的项目规划系统。决策模型既包括常规技术(如决策树、核心选择等),还包括特殊技术(如历史进程分析、逻辑结构分析等)。下面简单介绍两种项目选择的具体方法。软件项目管理25类比法(方案比较法)通常,一个组织会有很多不同项目的考虑,每个项目关心的重点又不一样,很容易分析出哪些项目对组织的发展有哪些影响,而且其投入也是合理的。但现实中,很多类似的项目需要仔细地比较,否则很难判断哪个项目更合适。例如,某公司有两个类似的系统开发项目,而当前的状况是只能对其中一个进行成本投入,这就需要分析比较两个类似项目的各个方面,分析收益对组织的发展影响,以及要承担的风险等,最后选出合适的项目。软件项目管理26完成这种方案比较的过程有一个大前提:需要两个项目都提供详细的方案,在投资回报市场前景收益情况技术指标时间要求等方面做出比较分析。使用的工具通常有投资收益率、投资回收率、净现值等,使项目选择数量化。例如,净现值分析时,不但要考虑项目的现金流情况,还要考虑折现率的大小,从而使计算出的净现值具有可比较的参考价值。软件项目管理27加权评分模型这是基于多种标准进行项目选择的系统方法。这些标准包括众多因素,如解决问题的能力、项目整体的优先级、项目所需时间、预期的财务指标等。使用加权评分模型实施项目选择时1)首先要识别这些标准,并通过头脑风暴会议或相关交流会议统一这些标准;2)其次对各个标准赋予权值X,以表明标准的重要程度。可以是十分制或百分比。3)接着,给每一个标准一个评分Y,表明项目软件项目管理28达到这个标准的程度。4)最后,根据标准的权值和标准的评分,得出项目的加权评分,使得各个项目能够加以合理、科学的比较。项目经理可以为特定的标准设置最低分数,如果某一个项目的相应标准达不到这个分值,就要放弃这个项目。软件项目管理294.正式启