《软件工程项目管理.ppt》由会员分享,可在线阅读,更多相关《软件工程项目管理.ppt(31页珍藏版)》请在优知文库上搜索。
1、项目管理项目管理1.1.项目调度项目调度2.2.风险管理风险管理郑州大学信息工程学院郑州大学信息工程学院 朱威朱威1.1.项目调度项目调度u项目调度包括把一个项目所有工作分解为若干独立活动,项目调度包括把一个项目所有工作分解为若干独立活动,以及判断完成这些活动所需的时间。以及判断完成这些活动所需的时间。u项目调度对软件管理者的要求是十分苛刻的。管理人员必项目调度对软件管理者的要求是十分苛刻的。管理人员必须估算完成各项活动所需要的时间和资源,并按照一定的须估算完成各项活动所需要的时间和资源,并按照一定的顺序把他们紧密组织起来。顺序把他们紧密组织起来。识别活动识别活动识别活动识别活动依赖关系依赖关
2、系估算活动估算活动的资源的资源为活动分为活动分配人员配人员创建项目创建项目图表图表软件需求软件需求活动图表活动图表及条形图及条形图图图1项目调度过程项目调度过程活动分解及进度管理活动分解及进度管理正常情况,各活动至少持续一周。正常情况,各活动至少持续一周。对所有活动安排一个最高时限(对所有活动安排一个最高时限(8-108-10周),如一项活动持周),如一项活动持续时间超过限制,就应该再次细分。续时间超过限制,就应该再次细分。在估算进度时,管理者不能认为项目的每个阶段都不会出在估算进度时,管理者不能认为项目的每个阶段都不会出问题。问题。除时间外,还必须估算完成每项任务所需的资源,包含人除时间外,
3、还必须估算完成每项任务所需的资源,包含人力资源和其他资源。力资源和其他资源。 估算进度的经验法则估算进度的经验法则估算时先假定什么问题也没有,然后再把预计出现估算时先假定什么问题也没有,然后再把预计出现的问题加到估计中去(的问题加到估计中去(3030)。还要考虑因偶然)。还要考虑因偶然因素带来的意想不到的问题(因素带来的意想不到的问题(2020)。)。 项目进度管理工具项目进度管理工具项目进度通常用一系列的图表表示。项目进度通常用一系列的图表表示。常用的项目进度表示法有:常用的项目进度表示法有: 条形图(甘特图(条形图(甘特图(GanttGantt) 活动网络图(活动网络图(PERTPERT)
4、常用软件管理工具是:常用软件管理工具是:MS-ProjectMS-Project进度管理实践进度管理实践MS MS P PROJECTROJECT 任务任务持续时间(天数)持续时间(天数)依赖关系依赖关系T1T18 8T2T21515T3T31515T1(M1)T1(M1)T4T41010T5T51010T2T2,T4(M2)T4(M2)T6T65 5T1T1,T2(M3)T2(M3)T7T72020T1(M1)T1(M1)T8T82525T4(M5)T4(M5)T9T91515T3T3,T6(M4)T6(M4)T10T101515T5T5,T7(M7)T7(M7)T11T117 7T9(M6
5、)T9(M6)T12T121010T11(M8)T11(M8) 表表1 1: 任务的持续时间及其依赖关系任务的持续时间及其依赖关系MS PMS PROJECTROJECT活动网络图活动网络图关键路径解释关键路径解释关键路径(关键路径(CPMCPM,Critical Path MethodCritical Path Method) 从起点到终点,可以有许多条路径,我们把耗时最从起点到终点,可以有许多条路径,我们把耗时最长的路径称作关键路径。关键路径耗时等于整个工长的路径称作关键路径。关键路径耗时等于整个工程的耗时,因此,要想缩短工程时间,就必须找出程的耗时,因此,要想缩短工程时间,就必须找出关键
6、路径,并研究如何减少关键路径的耗时。关键路径,并研究如何减少关键路径的耗时。关键路径关键路径关键路径是指完成项目所需的最少时间。可以通过关键路径是指完成项目所需的最少时间。可以通过考察活动图中最长的路径(关键路径)来估算。考察活动图中最长的路径(关键路径)来估算。项目项目 总体安排进度时由关键路径决定的。任何关键总体安排进度时由关键路径决定的。任何关键活动与进度安排的偏离都会导致项目的延期交付。活动与进度安排的偏离都会导致项目的延期交付。甘特图甘特图甘特图是一种条形图,表示了项目的日程安排和各甘特图是一种条形图,表示了项目的日程安排和各项活动的开始和完成时间。从右往左读,条形图清项活动的开始和
7、完成时间。从右往左读,条形图清晰地给出了活动的开始和结束。晰地给出了活动的开始和结束。MS PMS PROJECTROJECT- -甘特图甘特图资源分配问题资源分配问题除了考虑进度安排外,项目管理者还要考虑参加项除了考虑进度安排外,项目管理者还要考虑参加项目活动人员目活动人员 的分配。可以生成条形图。的分配。可以生成条形图。条形图是表示在哪些时间段雇佣哪些员工。条形图是表示在哪些时间段雇佣哪些员工。人员分配及其时间表人员分配及其时间表项目调度总结项目调度总结项目调度对管理者要求严格。项目调度对管理者要求严格。项目调度就是把项目计划的某些部分用图形的情形项目调度就是把项目计划的某些部分用图形的情
8、形给描述出来。给描述出来。项目调度包括项目活动之间相互关系的网络活动图项目调度包括项目活动之间相互关系的网络活动图和表示各个活动持续的条形图。和表示各个活动持续的条形图。2.2.风险管理风险管理风险管理要求管理者能够预见可影响项目进度或正风险管理要求管理者能够预见可影响项目进度或正在开发的软件产品质量的风险,并采取行动避免这在开发的软件产品质量的风险,并采取行动避免这些风险。些风险。是管理者的一项重要任务。是管理者的一项重要任务。有效的风险管理能使我们从容面对问题,避免这些有效的风险管理能使我们从容面对问题,避免这些风险带来无法承受的开支或进度失控。风险带来无法承受的开支或进度失控。风险种类风
9、险种类项目风险:项目进度或资源的风险。(如有经验的项目风险:项目进度或资源的风险。(如有经验的设计人员的流失)设计人员的流失)产品风险:开发的软件的质量或性能的风险。产品风险:开发的软件的质量或性能的风险。业务风险:软件开发机构和软件购买机构的风险。业务风险:软件开发机构和软件购买机构的风险。可能存在的风险可能存在的风险风险风险风险类型风险类型描述描述职员跳槽职员跳槽项目项目有经验的职员将会未完成项目就跳槽有经验的职员将会未完成项目就跳槽管理层变更管理层变更项目项目管理层结构发生变化,不同的管理者考虑和管管理层结构发生变化,不同的管理者考虑和管理的事情不同理的事情不同硬件缺乏硬件缺乏项目项目项
10、目所需的硬件没有按时交付项目所需的硬件没有按时交付需求变更需求变更项目和产品项目和产品软件需求与预期相比,变化很多软件需求与预期相比,变化很多描述延迟描述延迟项目和产品项目和产品主要接口的描述未能按时完成主要接口的描述未能按时完成低估系统规模低估系统规模项目和产品项目和产品过低估计了系统规模过低估计了系统规模CASECASE工具性能较工具性能较差差产品产品支持项目的支持项目的CASECASE工具达不到要求工具达不到要求技术变更技术变更业务业务系统的基础技术被新技术的代替系统的基础技术被新技术的代替产品竞争产品竞争业务业务系统还未交付,就已经有其他产品上市系统还未交付,就已经有其他产品上市可能存
11、在的风险表可能存在的风险表风险管理的必要性风险管理的必要性风险管理在项目管理中不可缺少,因为绝大多数项风险管理在项目管理中不可缺少,因为绝大多数项目都有不确定性。(目都有不确定性。(不确定性包括过宽泛的需求,不确定性包括过宽泛的需求,对开发时间和资源估算的困难,项目对个人的技术对开发时间和资源估算的困难,项目对个人的技术依赖以及客户需求发生变化依赖以及客户需求发生变化)对项目管理者的要求:应该预见风险,及时制定应对项目管理者的要求:应该预见风险,及时制定应急计划。并采取措施规避这些风险。急计划。并采取措施规避这些风险。风险管理的过程风险管理的过程风险识别风险识别风险分析风险分析风险规划风险规划
12、风险监控风险监控潜在的风险潜在的风险列表列表优先级高的优先级高的风险列表风险列表风险规避和风险规避和应急计划应急计划风险评估风险评估图:风险管理过程图:风险管理过程风险管理的过程风险管理的过程风险识别:识别可能的项目,产品和业务风险。风险识别:识别可能的项目,产品和业务风险。风险分析:评估这些风险出现的可能性及其后果。风险分析:评估这些风险出现的可能性及其后果。风险规划:制定计划说明如何规避风险和降低风险风险规划:制定计划说明如何规避风险和降低风险对项目的影响。对项目的影响。风险控制:不断的进行评估,并及时修改风险计划风险控制:不断的进行评估,并及时修改风险计划。风险识别风险识别风险识别是风险
13、管理的第一阶段。风险识别过程需风险识别是风险管理的第一阶段。风险识别过程需要列出可能的风险类型。要列出可能的风险类型。包括:技术风险,人员风险,机构风险,工具风险包括:技术风险,人员风险,机构风险,工具风险,需求风险,估算风险。,需求风险,估算风险。风险类型风险类型潜在存在的风险潜在存在的风险技术技术源于开发系统的软件和硬件的风险源于开发系统的软件和硬件的风险如数据库处理速度不快如数据库处理速度不快复用的软件组件有缺陷,限制项目功能。复用的软件组件有缺陷,限制项目功能。人员人员源于开发团队成员的风险源于开发团队成员的风险如招聘不到符合要求的职员如招聘不到符合要求的职员在项目关键时期,关键人员出
14、现意外事情在项目关键时期,关键人员出现意外事情职员培训跟不上职员培训跟不上机构机构源于开发的机构环境的风险源于开发的机构环境的风险重新的机构调整,管理层的变更重新的机构调整,管理层的变更开发过程中财务出现问题开发过程中财务出现问题工具工具源于源于CASECASE工具和其他支持软件的风险工具和其他支持软件的风险如如CASECASE效率低效率低CASECASE工具不能集成工具不能集成需求需求源于客户对需求变更的风险源于客户对需求变更的风险如需求发生变更,主题设计要返工,客户的不了解。如需求发生变更,主题设计要返工,客户的不了解。估算估算源于系统特性和系统资源的风险源于系统特性和系统资源的风险如低估
15、软件开发时间,规模,等等。如低估软件开发时间,规模,等等。风险及其风险类型风险及其风险类型风险分析风险分析进行风险分析时,要逐一考虑每个已经识别出的风进行风险分析时,要逐一考虑每个已经识别出的风险,并对风险出现的可能性和严重性做出判断。险,并对风险出现的可能性和严重性做出判断。风险分析没有捷径,只靠项目管理者的实际经验做风险分析没有捷径,只靠项目管理者的实际经验做主观判断。主观判断。风险分析评估的结果与实际工作有差距。风险分析评估的结果与实际工作有差距。风险风险出现的可能性出现的可能性后果后果开发机构财务出现问题,必须削减项目预算开发机构财务出现问题,必须削减项目预算小(小(10%-25%10
16、%-25%)灾难灾难招聘不到符合要求的员工招聘不到符合要求的员工大(大(50%-75%50%-75%)灾难灾难在项目关键时期,关键性员工生病在项目关键时期,关键性员工生病中等(中等(25%-50%25%-50%)严重严重要复用的软件组件有缺陷,限制了项目功能要复用的软件组件有缺陷,限制了项目功能中等中等严重严重需求发生变化,主题设计返工需求发生变化,主题设计返工中等中等严重严重开发机构重新调整,新的管理层负责该项目开发机构重新调整,新的管理层负责该项目大大严重严重系统的数据库处理速度慢系统的数据库处理速度慢中等中等严重严重低估了开发软件的所需时间低估了开发软件的所需时间大大严重严重CASECASE工具不能被集成工具不能被集成大大可容忍可容忍客户不了解需求变更对项目造成影响客户不了解需求变更对项目造成影响中等中等可容忍可容忍职员的培训跟不上职员的培训跟不上中等中等可容忍可容忍低估缺陷的修补率低估缺陷的修补率中等中等可容忍可容忍低估了软件的规模低估了软件的规模大大可容忍可容忍CASECASE工具产生的编码效率低工具产生的编码效率低中等中等可以忽略可以忽略表:风险分析表:风险分析风险规划风险