《第3章 项目计划》由会员分享,可在线阅读,更多相关《第3章 项目计划(63页珍藏版)》请在金锄头文库上搜索。
1、软件项目管理软件项目管理第第3章章 项目计划项目计划Kerry ZhuZhu.KerryGhttp:/ 书上的故事上的故事看过看过越狱越狱吗?吗?知道Michael计划么?第第3章章 项目计划项目计划3.1 什么是项目计划什么是项目计划3.2 项目计划的内容3.3 项目计划的方法3.4 如何有效地完成项目计划3.5 计划各项内容的制定3.6 项目计划工具什么是项目计划?什么是项目计划?3.1 什么是项目计划?什么是项目计划?计划计划是事先确定项目的目标和实现目标所需要的原则、方法、步骤和手段等完整方案的管理活动。 软件项目计划(软件项目计划(Software Project Planning)
2、的目的是制定一套软件项目实施及管理的解决方案,其主要工作包括确定详细的项目实施范围、定义递交的工作成果、评估实施过程中主要的风险、制定项目实施的(时间)进度计划、成本和预算计划、人力资源计划等。软件项目计划的作用软件项目计划的作用v指导软件项目实施v得到项目相关干系人的承诺v获得资源的承诺v明确项目人员的分工和工作责任v及早了解项目存在的问题和风险v获得组织在项目预算上的承诺v是软件项目实施结果评估的依据v软件项目实施过程的文档化第第3章章 项目计划项目计划3.1 什么是项目计划3.2 项目计划的内容项目计划的内容3.3 项目计划的方法3.4 如何有效地完成项目计划3.5 计划各项内容的制定3
3、.6 项目计划工具3.2项目计划的内容项目计划的内容3.2.1 项目计划内容项目计划内容3.2.2 输出文档输出文档项目计划的内容项目计划的内容v目标v策略v流程v标准v质量v进度安排v预算v资源v风险v配置管理项目计划内容及其关系项目计划内容及其关系项目计划主要内容说明项目计划主要内容说明v目标与范围目标与范围 :范围规划、定义及其任务工作分解结构 v项目估算:项目估算:采用恰当的评估技术,完成资源估算、活动持续时间估算以及费用估算 v风险:风险:一般性风险和特定产品的风险都应该被系统化地标识出来,并建立风险条目检查表 v资源资源 :人员、硬件、网络、软件等需求和安排,还包括项目组成员的角色
4、、责任和具体分配的任务 v进度安排:进度安排:任务排序、里程碑设置等 v跟踪和控制机制:跟踪和控制机制:QA、变更控制、项目成员报告等 项目计划输出文档项目计划输出文档第第3章章 项目计划项目计划3.1 什么是项目计划3.2 项目计划的内容3.3 项目计划的方法项目计划的方法3.4 如何有效地完成项目计划3.5 计划各项内容的制定3.6 项目计划工具3.3 项目计划的方法项目计划的方法3.3.1 滚动计划方法滚动计划方法3.3.2 WBS方法方法3.3.3 网络计划技术网络计划技术项目计划项目计划有哪些方法?有哪些方法?滚动计划方法滚动计划方法滚动计划方法滚动计划方法一种动态编制计划的方法,按
5、照“近细远粗”的原则制定一定时期内的计划,然后按照计划的执行情况和环境变化,调整和修订未来的计划,并逐期向后移动,把短期计划和中期计划结合起来的一种计划方法。滚动计划方法的要点滚动计划方法的要点v分而治之分而治之:分为多个阶段,针对不同的阶段制定不同的计划。v逐步求精逐步求精:随着时间的推移,预测计列逐步变成实施计划。v动态规划动态规划:以计划的“变(调整)”来主动适应用户需求和软件开发环境的变化,即“以变应变”。v和谐过渡和谐过渡:可以解决生产的连续性与计划的阶段性之间的矛盾滚动计划方法的实施滚动计划方法的实施v具体应用具体应用v流程流程软件项目的开发生命周期总体计划详细计划较粗的计划没有计
6、划需求分析设计编程测试部署WBS方法方法 WBS方法是(Work Breakdown Structure,工作分解结构)一种将复杂的问题分解为简单的问题,然后再根据分解的结果进行计划的方法。v关注项目目标和澄清职责,并防止遗漏项目的可交关注项目目标和澄清职责,并防止遗漏项目的可交付成果付成果v建立可视化的项目可交付成果,以便估算工作量和建立可视化的项目可交付成果,以便估算工作量和分配工作分配工作v改进时间、成本和资源估计的准确度改进时间、成本和资源估计的准确度v为绩效测量和项目控制定义一个基准,容易获得项为绩效测量和项目控制定义一个基准,容易获得项目人员的承诺目人员的承诺v辅助分析项目的最初风
7、险、沟通清晰的工作责任辅助分析项目的最初风险、沟通清晰的工作责任v为其他项目计划的制定建立框架或依据为其他项目计划的制定建立框架或依据 WBS要求和原则要求和原则某项具体的任务应该在一个工作包且只能在一个工作包中出现WBS中某项任务的内容是其下所有WBS项的总和一个工作包只能由一个人负责任务的分解,尽量与实际执行方式保持一致。分解合理,具有良好的稳定性和适应性鼓励项目团队成员积极参与创建WBS所有成果需要文档化WBS步骤步骤v分解工作任务分解工作任务 v定义各项活动定义各项活动/任务之间的依赖关系任务之间的依赖关系 v安排进度和资源安排进度和资源 WBS方法示例一方法示例一WBS方法示例二方法
8、示例二WBS方法示例三方法示例三网络计划技术网络计划技术网络计划方法是一种应用网络模型直观地表网络计划方法是一种应用网络模型直观地表示软件开发众多工作(工序)之间的逻辑关系与示软件开发众多工作(工序)之间的逻辑关系与时间关系,对完成软件工程项目所需时间、费用、时间关系,对完成软件工程项目所需时间、费用、资源进行求解和优化的计划方法,其基本类型是资源进行求解和优化的计划方法,其基本类型是关键路线法关键路线法/计划评审技术(计划评审技术(CPMPERT)。)。第第5章,将详细讨论网络计划方法章,将详细讨论网络计划方法 第第3章章 项目计划项目计划3.1 什么是项目计划3.2 项目计划的内容3.3
9、项目计划的方法3.4 如何有效地完成项目计划如何有效地完成项目计划3.5 计划各项内容的制定3.6 项目计划工具计划与变化计划与变化计划没有变化快? 那是你的计划没有做好!3.4 如何有效地完成项目计划如何有效地完成项目计划3.4.1 软件项目特点软件项目特点3.4.2 项目计划的错误倾向项目计划的错误倾向3.4.3 项目计划的原则项目计划的原则3.4.4 计划的输入计划的输入3.4.5 计划的流程计划的流程软件项目的特点软件项目的特点v软件开发是在不断探索、研究中进行软件开发是在不断探索、研究中进行v最佳实践还不够成熟最佳实践还不够成熟v软件的自动化对工具的依赖性也非常突出软件的自动化对工具
10、的依赖性也非常突出v软件构造过程实际是一设计过程,每一个软件产品都不同软件构造过程实际是一设计过程,每一个软件产品都不同v由于软件是设计过程,自动化程度比较低由于软件是设计过程,自动化程度比较低v软件变化不容易实现,而软件变化又是不可避免的软件变化不容易实现,而软件变化又是不可避免的v软件的变化,进一步引起相关文档的频繁修改软件的变化,进一步引起相关文档的频繁修改软件项目的问题软件项目的问题v时间紧迫性。v项目独特性。v软件项目的不确定性。v软件项目管理可视性差。v软件项目生产力依赖于软件人员的潜力挖掘。软件计划的错误倾向软件计划的错误倾向v对计划不重视v片面计划v计划没有考虑足够的风险v计划
11、过于粗糙计划的原则计划的原则v 目标性原则目标性原则v 预防性原则预防性原则v 客观性原则客观性原则v 系统性原则系统性原则v 适应性原则适应性原则知己知彼,百战不殆知己知彼,百战不殆制定计划的要点制定计划的要点v目标导向目标导向。如果一开始对项目的目标没有理解清楚,项目计划就会出现偏离,而项目实施时偏离就更厉害v重视与客户的沟通重视与客户的沟通,为最后项目验收打下良好的基础v收集足够的信息收集足够的信息,掌握信息越多,制定计划更科学、更客观v客观且实用客观且实用,只有“知已知彼”才能做出合理的、客观的项目计划v先从下至上计划,然后再从上向下计划,构成一个完整完整的循环过程的循环过程v关注计划
12、过程关注计划过程,随机应变,因势利导,不断调整和修改计划,以保证完成项目的目标v计划的层次性计划的层次性,如分为主计划、子计划计划的输入计划的输入v项目的目标和需求v项目可用的资源v项目干系人,即项目的相关利益者(stakeholder)v项目涉及的相关技术v质量政策和标准v组织流程v制约因素是限制项目管理团队运行的因素。v假设,通常保含着一定程度的风险,项目计划对所有的假设都应该标明出来,然后逐个分析。v历史数据计划输入计划输入矩阵矩阵PMBOK项目计划流程项目计划流程常见常见的计划流程的计划流程v确定项目目标,包括最终交付的内容和质量标准;v确定项目的工作范围,包括软件产品功能特性;v根据
13、质量目标,可以制定质量计划;v采用WBS方法,分解工作,确定各项具体的任务;v针对具体的工作任务,估算工作量以及确定所需的资源;v制定资源计划、进度计划和成本计划;v完成风险识别和分析,最终完成风险管理计划,包括风险应对计划;v进一步完成辅助计划,如采购计划、培训计划等;v需要和软件项目干系人沟通、评审,达成一致意见v最后,获得有关方面的批准。 常见流程常见流程示意图示意图第第3章章 项目计划项目计划3.1 什么是项目计划3.2 项目计划的内容3.3 项目计划的方法3.4 如何有效地完成项目计划3.5 计划各项内容的制定计划各项内容的制定3.6 项目计划工具项目的具体计划项目的具体计划3.5
14、计划各项内容的制定计划各项内容的制定3.5.1 确定项目范围确定项目范围3.5.2 策略制定策略制定3.5.3 资源计划资源计划3.5.4 进度计划进度计划3.5.5 成本计划成本计划3.5.6 风险计划风险计划3.5.7 质量计划质量计划软件项目范围软件项目范围v软件产品规范,即一个软件产品应该包含哪些功能特性,这就是产品需求文档(Product requirement document,PRD)所描述的。更具体的要求就是功能规格说明书(Functional Specification),但这是在计划过程中或之后产生。一般在确定PRD的过程中,就开始进行项目计划。v项目工作范围,即为了交付具
15、有上述功能特性的产品所必须要做的工作。工作范围在一定程度上是产生项目计划的基础。看一个简单的对比看一个简单的对比项目管理的策略项目管理的策略v 选用什么样的软件开发过程模型?v选用什么样的技术?v项目合同管理策略v成本管理策略v项目的控制策略v项目的例会制度v信息汇报及发布制度v项目问题处理及上报制度项目的范围、资源、时间和质量项目的范围、资源、时间和质量 项目要素的金字塔项目要素的金字塔资源计划资源计划v项目资源计划,是指通过分析和识别项目的资源需求,确定出项目需要投入的资源。v资源计划包括人力资源计划、软硬件资源计划。v项目资源计划重点在人力资源计划,采用有效的方法进行人力资源计划。 实际
16、的人力资源计划的模型实际的人力资源计划的模型资源模型曲源模型曲线进度计划制定原则进度计划制定原则v项目的实际参与人员制定进度v尽可能地先安排难度高的任务,后安排难度低的事v进度前面紧,后面松,比较好v项目进度中都会设置若干个里程碑v进度表中必须留有缓冲时间v发现项目应交付的期限不合理,应调整进度v当需求发生变化时,就要重新评估进度表简单示例简单示例成本构成成本构成按费用分类:按费用分类:v人力资源成本v资产类成本v管理费用v项目特别费用软件项目成本分为直接成本和间接成本软件项目成本分为直接成本和间接成本v直接成本是项目本身的任务所引起的成本,包括为该项目购买的设备和软件工具、参与该项目工作的人
17、员工资等。v间接成本是许多项目共享的成本,例如办公楼的租金、水电费用、公司管理费用、网络环境和邮件服务等各种间接费用。成本计划成本计划v费用预算费用预算,在成本估算基础之上,针对各项成本来估算可能产生的其他费用,从而确定费用预算v费用控制费用控制是为了保证实际发生的费用低于预算。一般会采用阶段性控制和单项费用控制相结合的方法,更关键是需求变更控制和质量控制。风险计划风险计划v风险识别、风险评估和风险对策计划v风险计划并不是在资源计划、进度计划和成本计划之后再制定,而是和这些计划同时进行,因为软件项目的风险会来自于各个方面,包括人力资源风险、进度风险和成本风险等,而且在如何应对风险或针对风险采取
18、相应的对策时,对资源计划、进度计划都有影响质量计划内容质量计划内容v质量目标,包括功能特性和非功能性特性的质量要求;v质量目标分解,总体质量目标分解到各个阶段或各项任务v相关标准和规范v组织保证机制,包括确定责任人、质量保证人或管理人员v质量属性满足的优先级和成本效益分析v质量控制策略,包括测试覆盖率、代码评审的频率等;v质量特性的相互依赖关系的分析,确定质量特性的优先级v潜在的质量问题分析,并找出应对策略v流程评审、测试计划和测试用例评审等方面的具体要求;v其它质量保证或控制措施、质量相关活动。 第第3章章 项目计划项目计划3.1 什么是项目计划3.2 项目计划的内容3.3 项目计划的方法3.4 如何有效地完成项目计划3.5 计划各项内容的制定3.6 项目计划工具项目计划工具3.6 项目计划工具项目计划工具-P项目计划工具项目计划工具-DotP微软微软Project的架构的架构 微软微软Project部署示意图部署示意图 微软微软Project客户端客户端 微软微软Project http:/ 更多参考:更多参考:http:/ http:/ http:/ Q & Ahttp:/