版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,第10章 软件项目管理 (参考教材第22、23章),有关概念与目标 风险管理 团队管理 项目规划 项目进度安排,2,软件项目管理: 是对传统项目管理的一种扩展,它是软件工程的一个重要组成部分。 在软件工程的任何技术活动之前开始,并持续贯穿于整个软件定义、开发和支持阶段的庇护性活动,是决定一个产品或项目能否成功最重要的活动之一。,软件项目管理的有关概念,3,软件项目管理的主要内容 软件项目规划 成本估算 进度管理 风险管理 团队管理 软件质量管理 ,4,10.1 风险管理,风险是一些不利因素实际发生的可能性。 风险有两个特点:不确定性和如果发生带来的影响或损失。,5,风险识别,风险分析,风险
2、规划,风险监控,潜在的风险列表,优先级高的风险列表,风险避免和应急计划,风险评估报告,风险识别:识别可能的项目、产品、业务等类型风险。 风险分析:评估这些风险出现的可能性及其后果。 风险规划:制定计划,说明如何避免风险或降低风险对项 目的影响。 风险监控:不断进行风险评估,随着有关信息的增多及时 修正缓解风险的计划。,风险管理过程及文档,6,10.1.1 风险识别,识别项目可能的风险及类型。 类型实例如下(p379,图22-3): 技术风险(软件、硬件、数据库处理) 人员风险(经验、培训、变更) 机构风险(管理层、开发机构) 工具风险(缺陷、不支持) 需求风险(客户、用户) 估算风险(时间、资
3、金、软件规模),7,10.1.2 风险分析,风险分析需要逐一对每一个风险评估发生的可能性以及如果发生所产生的后果。 风险评估的结果一般不是精确的数字,是一个范围。 出现的可能性:非常小(75%)。 风险的严重性:灾难性的、严重的、可容忍的、可忽略的。 建立风险表,根据风险的严重程度进行排序(见下表) 。发生的可能性大、影响严重的风险才会得到进一步的关注,列入随后的风险管理中。,8,风险样本列表,9,10.1.3 风险规划,也称为风险缓解,即建立有效处理风险的策略。有效的策略必须考虑三个问题: 风险避免:降低风险出现的可能性。 影响最小化:减小风险的影响 应急计划:采用适当的策略应对已发生的风险
4、 如果采取主动策略来处理风险,避免风险是最好的策略。避免风险可用风险管理策略实施。,10,10.1.4 风险监控,风险缓解是一种风险避免活动,而风险监控是一种风险跟踪活动,是一个持续不断的过程,对每一个识别的风险定期进行评估。 风险监控有三个主要目的: 评估一个被预测的风险是否真正发生或发生概率的变化。 保证为重大风险而定义的缓解措施被正确的执行。 收集能够用于未来风险分析的信息。,11,10.2 人员管理,软件工程师可能有娴熟的技术技巧,但缺乏对人员管理的技巧。 Sommerville认为人员管理有4个关键因素: 1. 一致性 对项目组的每个人同等对待 2. 尊重 大家都有做出贡献的机会 3
5、. 包容 能够倾听和采纳不同的意见 4. 诚实 对项目组的情况、对自己的知识水平保持诚实的态度。 人员管理经验是从实际工作中积累的。,12,人员工作动力的激励,项目管理者需要激励员工的工作动力。这里的激励指在协调工作和提供良好工作环境方面使员工尽可能更有效率的工作。 Maslow建议满足人的需求来激励他们,需求被划分成一系列层次,如图所示。,生理的需求,安全的需求,社会的需求,受尊重的需求,自我发展的需求,13,确保社会需求、受尊重需求和自我发展需求,相关的激励因素: 1. 提供与人交往的时间和场所。尽量面对面。 2. 对做出的成绩给予认同,报酬能够反映能力和经验的价值。 3. 给个人发展机会
6、,如承担大的责任,分配较难的任务,提供培训计划等。,14,人的性格对激励产生影响。Bass和Dunteman将职业人士分成3种类型: 1. 面向任务型,这类人的动力主要来自于所从事的工作。软件开发智力上的挑战激发工作热情。 2. 面向自我型,动力来自于个人成功和得到认可,工作成功帮助实现自己的目标。 3. 面向交互型,动力来自于同事们的存在和协助。 每个人的工作动力由各种动力因素组成,Sommerville认为在任一时刻只有一种动力因素处于支配地位。,15,10.3 团队协作,组织一个有效的开发团队对软件项目成功至关重要。为了更加有效的管理和沟通,大团队可分成小团队(小组)。成功的团队不只是各
7、种技能均衡的个体的简单组合,有许多因素影响团队协作: 1. 小组中的人员 小组成员的技术、经验和个性是否整体均衡。,16,2. 小组的凝聚力 成员是否具有团队精神。凝聚力受整个机构的文化和成员个性等因素决定。 有凝聚力的小组能够建立起小组的质量标准、成员之间能够紧密配合、互相学习、互相帮助、互相信任。 3. 团队的组织方式,即小组的结构 4. 技术上和管理上的沟通。,17,10.3.1 小组的构成,创建一个在技术技能和个性之间平衡的小组,并组织成员一起有效的工作。 性格互补的成员组成的小组比仅仅根据技术能力选择成员的小组更有效率。Sommerville认为: 面向任务型:很可能技术上最出色;
8、面向自我型:善于推动整个工作的完成; 面向交互型:有利于小组内部的交流沟通。,18,10.3.2 小组的结构,小组的组织方式影响着小组的决定、信息沟通和信息交换的方式。 Constantine曾提出了4种“组织范型”: (1) 封闭式范型:以传统的控制层次组织团队。垂直通信,难以创新性的工作,适合于开发产品相似的软件。 (2) 随机式范型:非正规的组织团队。工作依赖于成员个人的经验和 主动性。 (3) 开放式范型:具有封闭式范型的控制性,又包含随机式范型的创新性。良好的沟通和集体决策是它的主要特征。适合于解决复杂问题。可能会造成工作效率低。 (4) 同步式范型:依赖于问题的自然划分,团队成员各
9、自解决问题的一部分。主动交流差。,19,有两种有代表性的组织方式: (1)民主制程序员团队 (2)首席程序员团队,程序员1,程序员2,程序员3,程序员4,通信链有n(n-1)/2个,成员不能太多,职位上的差异往往造成单向沟通。 适用于成员经验丰富、技术熟练、解决问题难度较高的情况。,首席程序员,后备程序员,资料管理员,程序员1,程序员2,程序员n,首席程序员:对软件开发全部负责 后备程序员:经验丰富,负责软件有效性验证,必要时替代首席程序员。 资料管理员:处理与项目有关的其他事务,如配置管理、对外沟通等。 首席程序员、后备程序员、资料管理员参与决策。,20,10.3.3 小组的沟通,良好的沟通
10、有助于提高小组的凝聚力。 影响沟通有效性和效率的主要因素是: 1. 小组规模 单向沟通链的数目n*(n-1); 2. 小组结构 层次结构中往往是垂直通信,同一层次的人沟通少。与成员的职位有关; 3. 小组构成 与成员个性、性别有关; 4. 小组的物理工作环境 工作场所布局、远程通信实施等因素。 5. 可利用的沟通渠道 面对面,电子邮件,电话,会议,正式文件等。,21,10.4 软件项目规划,软件项目规划是软件项目管理者最重要的工作之一。项目规划建立于项目的开始,并存在于项目生存周期以下三个阶段: 1. 投标提案阶段,需要做出计划帮助管理者判断是否有完成这个项目所需的资源,并估算出价格。 2.
11、项目开始阶段,确定人员;将工作分解;分配资源;完善最初的工作量估计。 3. 贯穿于项目过程中,根据项目进展的信息定期修改计划。,22,10. 4.1 项目估算,项目规划的一个重要的前提是项目估算,估算软件的成本和工作量。软件工作量估算的失真,导致软件成本上升,开发周期延长,使项目管理实效。 初步的估算用于投标,详细的估算用于指导项目计划的制定。一般以团队的历史经验为基础,可让团队中的一线人员参与估算,以保证项目计划的可行性。 成本及工作量的估算不是一门精确的科学,估算方法有几种选择: 基于已完成的类似项目进行估算; 使用分解技术以生成项目成本及工作量的估算; 使用一个或多个算法模型。,23,1
12、、分解技术 分解技术采用“分而治之”的策略进行软件项目估算。将项目分解成若干主要功能及相关的软件过程活动,通过逐步求精的方式进行成本及工作量估算。产生工作分解结构WBS(Work Breakdown Structure)。 然后分别采用基于经验的方法和/或某种估算方法,对分解得到的各块进行成本和工作量估算,进而获得对项目软件的整体估计。如对每块估算以下内容:,24, 代码行(Loc)的数量; 功能点(FP)数量, 即估算每个信息域特征(用户输入数、输出数、读写的文件数、查询数、与外部程序和硬件的接口数)并与14个复杂度系数加权计数; 实现每个功能所需的人月数; 每个软件过程活动所需人月数。 估
13、算的具体方法可以采用:,25, 自底向上估算(细分估算法):将整个项目系统分解成若干个小系统,逐个估算所需的工作量,然后 。 优点:每部分的估算较为精确。 缺陷:难以把握系统级的整合成本。 自顶向下估算(周期估算法): 按软件开发周期进行划分,估算各阶段或任务单元的成本,然后进行汇总合计。很适合瀑布型软件开发过程。 优点:重视系统级的事务成本(如系统集成、质量保证、配置管理等)。但是需要估算者对软件工程各个阶段的作业量和相互间的比例具有相当的了解。 缺陷:难以识别较低级别上的技术困难。,26,2、类比方法 又被称为基于案例的推理(Case-based reasoning)方法。主要思想是使用过
14、去类似项目的确切数字,考虑与当前项目的差异程度,来估计当前项目的相应数据。公式为: 当前项目估计=参考项目数据(1+差异百分比) 其中:差异百分比:当前项目比参考项目多或少 的百分比。 规模估计可以选取功能、输入输出等作为比较的参考依据。 该方法的缺陷:无法搞清以前的项目究竟在多大程度上代表了新项目的特点。,27,3、 三点法或计划评审技术(PERT) 对每个软件部分(如模块)的规模(代码行或功能点)估算3个值: 悲观(最大)值 最可能值 乐观(最小)值 那么该部分软件的期望规模是: 估计期望值=(最大值+4最可能值+最小值)/6,例如认为一个模块的软件规模: 最大值是100K代码行 最小值是
15、50K代行 最可能值是60K代码行 则所获得的规模估计初始期望值为: (50+460+100)/6=65K代码行,28,4、 专家判定法(Delphi或WideBand Delphi ) 在难以获得经验、历史数据时,可考虑采用专家判定作为一种有效的估计方法。该方法通过专家群体的智慧和交流分析来获得不断趋向准确和一致的估计结果。 成立估计小组,首先介绍项目和产品情况,分发软件需求说明书和记录估算值的表格。而后让估计小组成员分别对软件的规模、工作量、成本进行估计,将结果反馈给小组成员。然后分别进行下一轮估计。在反复估计的基础上进行最后的调整,得到最终的估计结果。 标准Delphi技术不强调专家们讨
16、论,不利于获得 足够的交流信息,也不利于调整自己的估算值。 WideBand Delphi将小组会议和Delphi技术结合起来。,29,5、经验估算模型(教材23.5.1) 经验估算模型是由经验导出的公式,最著名的是COCOMO模型, ( COnstructive COst MOdel,构造型成本模型),以及扩展的COCOCOM模型。 获得该模型的途径:首先从大量软件项目中收集数据,通过对这些数据的分析找出相符合的公式,这些公式将系统的规模、复杂度、工具的使用、团队因素、开发过程特点等属性联系起来计算开发系统的工作量。如:,30,10.4.2 计划驱动开发的项目规划,项目规划最好的方法是将计划
17、驱动方法和敏捷开发结合起来,其中的平衡取决于项目的类型和人员的技术水平。对一个项目有效的管理取决于对该项目进展状况的全面规划。 项目开始拟定的计划(基准计划)是整个项目的驱动器。初始计划会随着项目的进展和信息的增多逐步完善。,31,1. 项目计划,项目计划包括项目可用的资源、工作分解以及完成工作的进度安排。 项目计划应包括以下内容: 引言 项目组织 风险分析 硬件或软件资源的需求 工作(任务)分解 项目进度安排 监控及报告机制,32,确定项目的约束条件; 初步评估各项项目参数; 定义项目里程碑和可交付的文档; while 项目没有完成 loop 定义项目进度表; 根据进度表启动各项活动; 等待
18、(一定的时间); 评审项目进展状况; 修正项目参数; 更新项目进度表; 重新协商项目约束条件和可交付 的文档; if(出现问题)then 进行技术评审和可能的修正 endif endloop,2. 规划过程,项目规划是一个迭代的过程。见右步骤:,33,里程碑和可交付的文档,一个里程碑(milestone,里程标、重要事件、转折点)是一个软件过程活动终结的位置点 。每个里程碑处,都应该有一个正式的可提交的输出结果(如一份报告)。 里程碑是项目内部应取得的阶段性成果,供管理者来检查项目的进展情况。 要建立里程碑,软件过程必须分解成一系列相关的基本活动,每个活动都要有相关的输出结果。,34,10.4
19、.3 项目进度安排,管理者要估算完成各项活动所需的时间和资源,并按照一定的顺序把它们组织起来,即建立项目进度表。,工作分解为若干活动,识别活动间依赖关系(并行/顺序),估算活动的资源,为活动分配人员,创建项目进度图表,软件需求,进度图表,项目进度安排过程,35,甘特图和PERT图,甘特图(Henry Grantt发明) ( 下页图,教材P399图23-6) PERT(Program Evaluation Review Technique)图 程序估算评审技术采用的图,也称活动(任务)网络图.,36,周 0 1 2 3 4 5 6 7 8 9 10 11 12,T1,T3,T6,T5,T2,T4
20、,开始,(M1/T1),(M3/T2&T4),(M4/T1&T2),T7,(M2/T4),( M5/T3&T6),T8,T9,( M6/T7&T8),T10,( M7/T9),( M8/T10&T11),T11,T12,完成,其中 Ti:任务或活动 Mi:里程碑,任务进度安排的甘特图,37,PERT图 PERT图另一个重要的用途是用来判断关键路径,(路径上可标注时间),关键路径表明了完成该项目可能需要的最小时间,使得能识别最有可能成为瓶颈的活动, 还可以通过关键路径进行资源最忧化考虑(如压缩关键径路上的工作,以提高效率)。,每个节点的内容,38,工作分解的方式 工作分解有两种不同的方法: 时间轴分解:即按照工
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026中国细胞治疗产品临床试验进展与监管审批趋势报告
- 2026中国固态电池电解质材料研发进展与产业化时间表报告
- 2026石油化工行业市场现状供需分析及投资评估规划研究报告
- 2026中国医疗器械出口行业市场发展供需现状投资布局规划分析研究报告
- 2026中国半导体检测设备验证周期缩短方法与客户黏性研究
- 2026中国工业机器人核心部件行业市场发展趋势与前景展望战略研究报告
- 35KV输变电工程项目可行性研究报告
- 江苏省公开遴选试题及标准答案
- 悦纳自己主题班会《情绪流动的能量》教学设计
- 高中物理 第七章 机械能守恒定律 2 功教案 新人教版必修2
- 2026年公共卫生与卫生政策法规知识测试
- 2026年澜沧现代农业发展集团有限责任公司社会招聘(5人)考试备考题库及答案详解
- DL-T 5220-2021《10kV及以下架空配电线路设计规范》
- 2026年重庆市“五方面人员”选拔乡镇领导班子考试历年参考题库(含完整答案)
- 2026年上海高考英语考试试题(含答案)
- 2026年高考四川卷化学高考真题试题(含答案)
- 安全生产事故案例警示课件
- QC/T 1258-2025汽车用蜗杆传动式软管夹箍弹簧内衬补偿型
- 瑜伽馆内部制度
- 行政事业单位差旅费培训
- 北京邮电大学《量子力学》2024 - 2025 学年第一学期期末试卷
评论
0/150
提交评论