软件项目管理基础(ppt 196页).ppt_第1页
软件项目管理基础(ppt 196页).ppt_第2页
软件项目管理基础(ppt 196页).ppt_第3页
软件项目管理基础(ppt 196页).ppt_第4页
软件项目管理基础(ppt 196页).ppt_第5页
已阅读5页,还剩191页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件项目管理基础,2,内容,项目管理的基础知识 项目的时间管理 项目的质量管理 项目的人力资源管理 项目的结项,3,项目管理的基础知识,项目管理的两个基本概念 项目生命周期 项目管理过程 项目成功的概念 项目经理应具备的相关技能,4,项目管理的两个基本概念,项目的概念 PMI对项目的定义 项目是为完成某一独特的产品或服务所做的一次性努力,5,项目管理的两个基本概念,项目的概念(续) 临时性 项目有明确的起始与截止日期 项目合同的起止日期 当达到项目的目标时即项目的截止日期;或项目被中止/取消的日期 项目的临时性并不意味着项目所提交的产品或服务也是一次性的(一次性纸杯的生产) 项目所面临的市场机

2、遇往往也是临时性的(没有企业愿意在2009年生产北京奥运的徽章) 项目组也往往是临时性的,当项目结束时,项目组也随之解散(或释放),6,项目管理的两个基本概念,项目的概念(续) 独特的产品或服务 项目所产生的产品或服务是独一无二的 对于批量生产的商品(例如空调或冰箱)则不具备独特性,而例如北京联通计费项目则具有独特性 重新铺设北京二环的所有路面也可以看作一个独特的服务,7,项目管理的两个基本概念,项目的概念(续) 项目需要使用资源,一般包括 人(具有各种技能和经验的人员) 物(开发规约、各种设计书、测试数据、开发需要的硬件和软件等) 资金(人件费、教育费、硬件与软件的购入费) 时间(交付日期)

3、 信息(项目组内部信息、相关项目组的信息、用户的信息、竞争对手的信息、行业领域的最新动向等),8,项目管理的两个基本概念,项目的概念(续) 项目应有一个主要发起人或客户 大部分项目都会有许多项目利益相关者或干系人 项目含有不确定性 由于每个项目都是唯一的,有时很难确切地定义项目的目标,或准确估计完成项目所需的时间和成本支出。 这种不确定性是项目管理的如此具有挑战性的主要原因之一,这种情况在新技术项目中更为突出。,9,项目管理的两个基本概念,项目管理的概念 通过项目经理和项目组织的努力,运用系统理论和方法对项目及其资源进行计划、组织、协调、控制,旨在实现项目的特定目标的管理方法 管理是通过计划、

4、组织、控制和领导等环节来协调人力、物力和财力资源,以期更好地达成组织目标的过程 法约耳的管理五要素:计划、组织、指挥、协调、控制 项目管理与传统管理之间的联系与区别,10,项目管理的两个基本概念,项目管理的概念(续),项目干系人的需要和期望,9大知识领域 核心功能,项目的整体管理,辅助功能,项目管理的工具和技术,项目 成功,11,项目管理的两个基本概念,项目管理的概念(续) 三大关键要素 项目干系人 项目管理知识领域 项目管理工具和技术,12,项目干系人,项目干系人的定义 会对项目产生影响的个人或组织以及项目的结果会影响的个人或组织 项目干系人更多地以利益影响的方式来区分 以利益驱动的方式来促

5、成项目的成功,13,项目干系人,项目干系人通常包括 项目经理 客户 客户与最终用户 项目团队成员 出资人 组织内其它部门 供应方 竞争对手 其他处于组织外部的项目涉及或受项目影响的团体,14,项目干系人,取得项目干系人的支持 与项目干系人沟通的重要性 例会或定期报告制度 项目干系人之间利益折衷 项目干系人对项目往往存在不同的期望,且这些期望之间存在较大的差异 以客户为中心的思想,15,项目管理知识领域,四大核心知识领域 范围管理 时间管理 成本管理 质量管理,16,项目管理知识领域(续),四大辅助知识领域 人力资源管理 沟通管理 风险管理 采购管理,17,项目管理知识领域(续),项目的整体管理

6、 要发挥项目管理上的支撑作用,它与其他项目管理知识领域互相影响。 项目经理必须具备上述9方面全部的知识和能力,18,项目管理的工具和技术,例如: 时间管理的工具和技术有:甘特图、PERT、关键路径法(CPM)等 MS-Project等,19,项目生命周期,项目阶段与项目生命周期 正是因为项目的独特性,项目在执行过程中存在不确定性 为了降低不确定性以阶段的方式来执行项目 项目生命周期则是项目阶段的总和 项目全生命周期概念 不仅仅是交付,包括从立项一直到退役,20,项目生命周期,项目生命周期特征 根据项目生命周期的特征制订项目计划,21,项目生命周期,几种典型的生命周期(续),22,23,24,2

7、6,项目管理过程,项目过程 项目管理过程 适用于绝大部分项目的管理过程,例如时间管理、质量管理、成本管理、风险管理等具有普遍的适用性,27,项目管理过程,项目过程组 项目管理过程可以分为5个过程组 启动过程 批准项目或阶段的开始 计划过程 定义项目或阶段的目标及其所需的资源 执行过程 根据计划来执行任务 控制过程 通过定期来监督和测量项目的进展来判断项目实际的执行情况与计划的差异,如果需要,还应该采取纠正措施 收尾过程 确定项目或阶段可以正式结束,28,项目管理过程,项目过程组(续) 项目或阶段的过程组示意图,计划,启动,执行,收尾,控制,Plan,Do,Check/Action,29,项目管

8、理过程,项目过程组(续),30,项目成功的概念,项目管理的“三约束”,风险,时间,范围,成本,31,项目成功的概念,衡量项目是否成功的标准千差万别 一般衡量项目是否成功的“三条件”:QCT,项目,时间,质量,成本,32,项目成功的概念,顾客满意度的达成:CS 例如:即使项目开发超出预算成本,投入运营后在中长期内能实现客户的业务需求 锻炼了开发队伍,获得了某方面的技术积累,有利于今后公司业务的开展,33,项目成功的概念(续),决定项目成功的重要因素 用户的参与程度 高级管理层的支持 明确的需求说明,34,项目经理应具备的相关技能,项目管理的15项职能工作 确定项目的范围 识别项目干系人、决策人和

9、逐级程序 制定详细的任务清单(WBS) 估计时间要求 制定初步的项目管理流程图 确定所需的资源和预算 评估项目要求 识别和估计项目风险 制定应急计划 明确相互关系 确认并跟踪项目的关键里程碑 参与项目阶段的评估 保障所需的资源 管理变更控制过程 汇报项目状态,35,项目经理应具备的相关技能,有效的项目经理与低效的项目经理的几个重要特点,有效的项目经理 有表率作用 有洞察力 技术过硬 有决断力 善于沟通 善于激励他人 必要时能够支持上级领导 支持团队成员 鼓励新观念新思想,低效的项目经理 表率作用差 不自信 缺乏专业技能和经验 不善于沟通 不会激励他人,36,项目时间管理,项目时间管理的基本概念

10、 制定项目进度计划的方法 检查项目进度状况的方法 项目实际进度落后于计划时的对策,37,项目的时间管理的基本概念,项目时间管理包括项目所需时间的估算,制定可以接受的项目进度计划,并确保项目及时完工 项目时间管理涉及确保项目准时完成所必需的过程 涉及的主要过程包括: 活动定义(WBS) 活动排序 活动历时估算 制定进度计划 进度计划控制,38,制定项目进度计划的方法,项目开发计划与项目进度计划的关系 活动定义 活动排序 活动历时估算 制定进度计划,39,项目开发计划与项目进度计划的关系,项目开发计划书应包含内容 开发目的(背景) 系统/产品的特征 质量目标及达成手段 性能指标及达成手段 开发/运

11、行环境 开发范围一览表与功能概要 规模与工数预算 其他费用的预算 开发体制 开发日程表 用户使用手册制作的日程表 项目规章,40,活动定义,活动定义,涉及确定项目团队成员和项目干系人为完成项目可交付成果而必须完成的具体工作 活动或任务,是一部分工作,一般在WBS里可以找到,它有预期历时、成本和资源的要求 进度计划来自活动定义,41,关于WBS,WBS (Work Breakdown Structure),工作分解结构 WBS是一种将复杂任务分解为简单任务的方法 将项目分解为可管理的活动 作为软件项目计划和跟踪的基础,42,WBS 的结构类型,两种结构类型 交付物(工作产品) 活动(任务) 软件

12、项目计划的WBS通常是两种类型的混合,43,WBS示例,44,WBS分解的粒度,请根据以下准则检查WBS的粒度 任务可由单个人来完成吗? 任务的完成状态可以验证吗? 任务开始之后还会依赖于其他任务吗? 任务所分配的时间是否过长而不利于管理? 为了保证管理的有效性,对下一周每项任务的安排不要超过一个工作日,45,根据软件生命周期制定WBS,对当前阶段的活动进行详细的分解 暂时不要分解后续阶段的活动 随着对项目了解的深入不断细化WBS 根据阶段的划分来确定软件项目的里程碑,46,细化WBS结构,通过滚动计划方式不断细化WBS结构,47,WBS的层次,WBS具有不同的层次,不同的人关注在不同的层次

13、项目团队成员的直接负责人关注到每个活动 项目经理(项目规模较小时) 项目组长(项目规模较大时) 项目高层经理或客户关注在较高层次的WBS活动 例如需求分析阶段、设计阶段、集成测试阶段和系统测试阶段,48,活动排序,活动排序,涉及审查详细WBS中的活动、详细的产品说明书、假设和约束条件,以决定活动之间的相互关系;也涉及评价活动之间依赖关系的原因,及各种依赖关系 依赖关系反映了项目的活动或任务的顺序 确定活动之间的依赖关系对制定并控制项目进度计划有重要的影响,49,活动依赖关系类型,FS Finish to Start 例如:需求分析-总体设计 SF Start to Finish 例如:系统上线

14、-项目结项 FF Finish to Finish 例如:单元测试-编写集成测试用例 SS Start to Start 例如:编写系统测试用例-总体设计,50,活动历时估算,历时包括一项活动所消耗的实际工作时间加上间歇时间 历时的估算结果有可能导致更新工作分解结构,51,活动历时估算的方法,类比法 由上至下法(Top Down) 由下至上法(Bottom Up) 功能点法(Function Point),52,小结,从“三约束”出发考虑上述三个步骤 活动定义进一步定义范围 活动排序进一步定义时间 活动历时估算进一步定义成本 上述三个步骤必须由项目团队和关键的项目干系人共同参与完成 为保证一致

15、性和全员参与(项目绩效考核出发),53,制定进度计划,甘特图 关键路径法(CPM) 计划评审技术(PERT),54,甘特图,甘特图 1917年,亨利 甘特发明,通过日历形式列出项目活动及其相应的开始和结束日期,为反映项目进度提供了一种标准格式,55,甘特图,示例,56,关键路径法(CPM),CPM(Critical Path Method) 美国国防部于二十世纪五十年代末期提出的方法,主要适用于大型工程项目 项目关注于费用控制 项目中的活动存在很强的依赖关系,57,关键路径法(CPM),计算关键路径 关键路径决定了项目所需要的最短总体时间 位于关键路径上的活动浮动时间为0 浮动时间为0的所有活

16、动组成了项目的关键路径 项目中可以有多条关键路径 项目经理在控制项目进度计划时需要随时关注处于关键路径上活动的进度情况,58,关键路径法(CPM),示例,59,计划评审技术(PERT),PERT(Program Evaluation&Review Technique) 美国国防部于二十世纪五十年代末期提出的方法 主要适用于: R&D等不确定性较高的项目 技术更新频繁、进度风险较高的项目,60,计划评审技术(PERT),PERT主要应用于对单个活动的时间进行估计 PERT对于每一种活动都采用三种估算值 乐观时间、悲观时间和最可能的时间 每种活动的时间则取决于加权值,61,计划评审技术(PERT)

17、,PERT PERT加权值=,62,计划评审技术(PERT),PERT加权值与CPM单一活动值的关系,63,进度计划控制的基础,切实可行的计划 如果项目计划制定得不合理,再怎么努力工作也改变不了失败的命运 区别有压力的项目计划和不可能完成的项目计划 对于工作完成状态的客观判断 可能会报喜不报忧,每个人都会不自觉地隐藏对自己不利的信息,64,检查项目进度状况的方法,在项目全生命周期中,项目经理需要随时监控项目的进度状况 若出现延迟情况需要及时进行调整 项目进度状况的检查,包括: 准备工作 进度信息的获取 进度信息的分析,65,准备工作,项目经理的职责 建立项目进度报告制度 例如:确定例会时间、报

18、告路径、周报格式等 检查项目团队成员的个人工作进度计划是否合理 项目团队成员的职责 根据项目进度计划,建立本人工作进度计划 按时提交周工作进度报告,66,个人工作进度计划,项目经理需要检查的内容 与项目开发计划对照检查是否有遗漏项 未列入项目开发计划的临时性工作是否也被列入个人工作计划 各项工作的完成期限是否合理,是否对团队其他成员的工作造成负面影响 根据个人能力判断是否能够按照计划完成各项任务 与团队中其他成员相比工作量分配是否平衡,67,个人工作进度计划,制定个人工作计划对团队成员的意义 对个人制定的计划须充分负责 培养项目团队成员自我管理的习惯 通过个人计划了解个人在整个项目中的地位与义

19、务 强化项目整体的团队意识,68,个人周工作进度报告,向直接上级报告 报告内容尽量详细 Who,when,what,where,how,how many 明确区分“事实”与“意见” 包含项目经理需要了解的所有信息 便于项目经理与团队成员的填写与阅读 避免由于个人原因提交虚假报告 建立出现问题时的及时报告制度的同时,鼓励团队成员通过思考,寻找解决问题的对策,69,个人周工作进度报告,个人周工作进度报告对团队成员的意义 培养团队成员主动考虑问题对策的习惯 培养团队成员从项目经理的角度出发,考虑自己的工作内容的习惯,70,进度信息的获取,进度信息的获取途径 正式途径 项目会议 个人周工作进度报告 非

20、正式途径 日常的口头交流等,71,项目会议的形式,项目周例会 检查上周工作,分配下周工作 形成文档 项目周报 项目月度会议 横向交流经验,项目间调整事项 形成文档 会议记录 里程碑会议 项目经理与SQA人员分别汇报当前项目情况,高层管理人员根据报告的内容判断风险,并决定是否可以进入下一阶段 形成文档 项目度量表 评审会议 评审前一任务的成果物,并决定是否可以进入下一任务 形成文档 评审记录,72,高效的会议管理,会议组织者的职责 会议准备 预先向与会者通报会议的时间计划(起止时间)、议题等 事先了解与会者的立场,准备会议资料,预先考虑对策 选择与议题相适应的与会者,控制与会人数 会议组织 控制

21、会议时间(2个小时以内),杜绝与议题无关的话题 促使与会者充分发表意见 会议应有决议,防止反复就同一议题召开会议 会议总结 会议结束时总结会议决议与未定事项,并获取与会者的确认 尽快形成会议记录并归档管理 检查会议决议的执行情况,73,高效的会议管理(续),与会者的职责 会议准备 事先提交会议资料,预先就议题考虑对策 根据会议时间安排工作,无法参加时指定代理人 参加会议 按时到会(提前5分钟) 就指定议题充分发表意见 会议总结 确认相关的决议与未决事项 执行会议决议,74,进度信息的分析,通过“计划指标”与“实际完成情况”确定进度状况,75,进度信息的分析,在上述基本数据的基础上预测任务完成时

22、间,76,进度信息的分析,在上述基本数据的基础上获得平均生产效率经验数据 正确认识积累生产效率数据的意义 作为任务历时估算的基础(类比法) 建立切实可行的项目开发计划的基础 项目/员工绩效考核的基础,77,需要与上级经理协调,项目进度落后时的对策,项目经理的职责范围,78,压缩工期,赶工(Crashing) 赶工是一种平衡成本和进度的技术,分析如何以最低成本最大限度地压缩项目的总工期 赶工意味着用成本来争取时间 例如以加班的代价缩短关键路径上的活动的持续时间,79,压缩工期,并行(Fast Tracking) 将通常情况下按顺序进行的活动以重叠的方式进行,这样可以压缩项目的工期 并行最大的缺点

23、是,由于太早开始某些任务常常会增加项目风险并造成大量的返工,因而会“欲速则不达”,反倒更进一步延长工期 对工期压缩后则要重新判断项目的关键路径,80,压缩工期,提高效率 通过与具体活动的负责人的沟通,了解进度落后的真实原因 在此基础上,采取对策,从而达到提高效率,挽回进度的目的,81,平衡资源,资源的分配 分解工作范围,并为工作分配资源与时间 成本预算的一个必要步骤 “两头凑” 需要的资源类型与可用的资源类型,82,平衡资源,角色分派矩阵,A:负责人 P:参与者 R:要求审查 I:要求输入 S:要求签字,83,平衡资源,资源负荷,84,平衡资源,资源平衡举例 项目网络图中标出了活动A、B、C及

24、其 历时,活动A有3天时差,活动C有2天时 差。假设活动A有2个员工,活动B有4个 员工,活动C有2个员工。,2,1,4,3,A=2天,B=5天,C=3天,85,平衡资源,86,平衡资源,87,平衡资源,注意事项 调整业务分担时,不是简单地将某项任务转移到其他团队成员,应仍旧以原负责人为主,其他人员支援其完成部分任务的形式进行 保证一致性,提高效率,88,修改计划,项目开发的早期阶段(整体设计编码) 尽量在对外产生影响的里程碑之前,调整进度计划,挽回进度 同时应该分析进度落后的原因,采取对策严防由于同一原因再度导致进度落后 尽量在项目经理的职责范围内解决问题,防止对项目干系人的工作造成影响,8

25、9,修改计划,项目开发的后期阶段(测试阶段) 由于临近交付日期,极可能对外产生影响,必须与项目干系人进行协调,将影响控制在最小范围内 可采取的对策: 减少发布的功能 限制某项功能的应用 分阶段发布各项功能 变更交付日期,90,补充人员,通过补充人员挽回进度的局限性 项目成本管理的考虑 项目人员管理的考虑 对外影响的考虑 因此建议将补充人员的方法作为挽回进度的最后手段,91,补充人员,通过补充人员挽回进度时的注意事项 项目经理需要对支援人员进行必要的教育 项目规章、业务背景、作业内容等 将支援人员与原有项目团队成员一视同仁 项目经理在请求支援时应明确提出人员的技能要求,否则可能“得不偿失” 在得

26、到支援后,项目经理应该要求项目团队原有的成员应付出比支援人员更多的努力,92,进度落后时需注意的其他方面,在进度落后时,项目经理不应仅仅关注项目的进度,同时要考虑下列问题 项目质量 按照项目规章、质量目标组织评审 项目团队成员 注意团队成员的健康状况和士气 注意分析原因,采取对策,预防再犯相同错误,93,分析进度落后的原因,由于不切实际的计划所造成的 交付日期不合理 历时估算不准确 高估项目团队成员的技术水平 由于范围变更导致工作内容增加所造成的 顾客需求的变更 系统维护、Bug对应等其他工作挤压开发工时 由于意外事件所造成的 项目团队成员的伤病 项目团队成员的工作调动 项目团队成员的离职,9

27、4,进度控制归根到底是处理人的问题,推动项目按照计划进展并控制其进度,要求项目经理掌握下列领导技能 授权 激励 纪律 谈判,95,关于制定切实可行的项目计划,制定切实可行的项目计划应注意: 考虑前期项目的维护工时(尤其是使用迭代式模型时) 考虑与项目干系人接口的耗时(Q&A等) 考虑项目团队成员参加各类公司内外组织的培训、讲座的时间 考虑对项目团队成员进行顾客业务知识培训的时间,96,项目的质量管理,项目质量管理的基本知识 项目质量控制手段 评审 测试,97,质量管理的基本知识,质量的定义 质量管理的定义,98,质量的定义,国际标准化组织(ISO)的定义 反映实体满足明确和隐含需要的能力和特性

28、的总和。,99,质量的定义(续),与要求的一致性 指项目的过程和产品满足书面规范要求 适用性 指产品能像它被计划的那样使用,100,项目质量管理的定义,项目质量管理的目的是确保项目满足它所应满足的需求 项目质量管理必须满足或超越项目干系人的需求和期望 为使项目干系人满意项目团队必须与所有的干系人建立良好的工作关系,并明确理解他们明确的和隐含的需求,101,项目质量管理的定义(续),项目质量管理包括三个主要过程: 质量计划编制:包括确认与项目相关的质量标准以及实现方式 质量保证:包括对整体项目绩效进行预先的评估以确保项目能够满足相关的质量标准 质量控制:包括监控特定的项目结果,确保它们遵循了相关

29、质量标准,并识别提高整体质量的途径,102,项目的质量保证,随着时代的变迁,质量保证的思维方式也发生变化,103,所谓“有组织的质量保证活动”,明确定义质量保证活动的内容及其责任人 明确质量保证数据的收集、分析、运用方法 明确定义质量保证活动的工作流程和标准 简言之,就是要求质量管理体系下进行质量保证活动,104,现代质量管理,ISO9000质量管理体系 领导的作用 全员参与 基于PDCA的持续改进的过程方法 以顾客为关注焦点,105,现代质量管理,ISO9001:2000标准要求 组织应依照本国际标准建立质量管理体系将其形成文件并予以实施、保持和持续改进。为了实施质量管理体系,组织应: 标识

30、质量管理体系所需的过程; 确定这些过程的顺序和它们之间的相互作用; 确定所需的准则和方法,以确保这些过程有效运作和控制; 确保可获得必需的信息以支持这些过程的运作和监控; 测量、监控和分析这些过程并采取必要的措施以达到预期的结果和持续的改进。 组织应依照本国际标准要求管理这些过程。,106,现代质量管理,能力成熟度模型(CMM) 五个层次 原始的: 没几个过程被定义,常常依靠个人努力取得成功 可重复的: 建立了基本的项目管理过程,有过程方法可供重复过去的成功经验,用于类似项目 被定义的: 管理活动和软件工程活动的过程被文档化、标准化,并被集成到组织的标准软件过程中,所有项目都使用一个经批准的、

31、特制的标准过程版本 被管理的: 软件过程和产品都被定量地掌握和控制着 优化的: 组织能够运用从过程、创意和技术中得到定量的反馈,来对软件开发过程进行持续改进,107,为什么需要对过程进行标准化,部门或项目是由经验、技能水平不同的成员组成的,因此建立标准化的工作流程并通过教育使全员遵守标准是十分重要的。 通过标准的定义与实施,使全员按照一致的标准工作,是确保项目质量的重要手段。 例如,可建立以下标准: 对开发过程,确定设计书的内容与格式以及标准术语 对测试与评审过程,确定评审用的检查内容表和测试程序的标准,108,质量评价(测量)标准,质量特性(外部特性) 顾客要求的软件特性,由多种副特性组成

32、对于不同种类的软件,各种副特性的重要度不同 内部特性 为了确保顾客所要求的各种软件特性,在开发过程中,评价(测量)软件质量的内部标准,109,质量特性(外部特性),功能性(Functionality) 信赖性(Reliability) 易用性(Usability) 高效性(Efficiency) 维护性(Maintainability) 易移植性(Portability),110,内部特性,略,111,通过评审进行质量保证,设计阶段质量保证的手段 通过评审进行质量保证的一般方法 制定评审计划Plan 实施评审Do 评审效果的审查Check 评审问题的对策Action,112,设计阶段质量保证的

33、手段,导入案例,113,设计阶段质量保证的手段,评审是对设计阶段质量保证的重要手段 但是评审不是设计阶段质量保证的唯一手段,提高设计质量是设计阶段质量保证的根本途径,114,提高设计质量的手段,使用设计书模板,防止遗漏需明记的内容 使用图表,使设计书能够正确传达信息 选择适当的开发工具,以自动完成部分开发 考虑易测试、维护和扩展的需要,采用模块独立性较高的设计方案 测试性:单元测试的全面性 维护性:程序的易读性与缺陷的易修正性 扩展性:对使用环境和用户需求变化的易对应性,115,评审活动的PDCA循环,(保证评审质量),反馈,116,制定评审计划,制定项目开发计划时,应同时确定项目各阶段的评审

34、计划 评审计划应包括以下内容: 评审的对象 评审的负责人(召集人)、参加人员 评审的日程表 评审完成标准(需要定义各个项目独特的标准),117,选择合适的评审人员,选择合适的人员参加评审活动是获得客观可靠的评审结果的重要保证 例如,评审人员可以是 评审领域(质量保证或审计)的专家 该项目团队成员 具备评审人员素质应邀而来的人员 由于感兴趣自愿参加的人员 从其他不相关部门邀请来的人员 通常评审组由以上人员混合组成,由此带来多样性的观点,118,评审完成标准的内容(例),评审的实施率 实际评审次数与计划次数的比率 评审的覆盖率 评审对象的实际实施量与总量的比率 检查内容的覆盖率 实际检查项目数与计

35、划检查数的比率 问题的对应率 已经对应的问题数与发现总问题数的比率 发现问题数 发现问题的总数与评审对象规模的比率,119,实施评审,项目经理需要根据事先制定的计划,分阶段召开评审会议 在努力提高评审的质量与效率的同时,对每次评审需要留有评审记录,120,评审记录的内容(例),评审实施时间 评审对象阶段 参加人员 评审对象 设计书:“种类”与“页数” 程序:“开发语言”与“有效行数” 评审工时 评审问题清单与对应记录 所使用的检查内容表的具体内容,121,对评审结果进行记录的意义,把握评审质量 通过参照评审活动中使用的检查内容表,可以了解评审的深度 把握评审效果 通过评审工时与发现问题数的对应

36、关系,可以衡量评审效果 防止遗漏问题的修正 通过记录评审中发现的问题,可以防止遗漏上述问题的修正 对发现问题的分析 通过对评审中发现问题的分析,可以防止本人和其他项目团队成员犯相同类型的错误,122,评审的种类,正式评审 满足以下条件的评审 以评审会议形式实施 评审活动的负责人参加评审 留有评审记录 根据事先制定的计划实施 非正式评审 不满足上述一个以上条件的评审 例如在开发过程中,由活动的具体负责人或项目经理决定临时进行的评审,或以项目组内传阅形式进行的检查等,123,正式评审的优点,可以获得上级或用户的承认,减少事后出现问题的可能性 可以听取多方意见,增加评审意见的客观性,降低风险 与非正

37、式评审相比,事先准备较充分,因此对提高质量帮助较大,124,正式评审的注意事项,对于软件开发各个阶段生成的阶段性成果,必须进行评审,并记录评审结果。 根据评审记录对设计书或程序进行修正。在未对修正结果进行确认前,不能结束本阶段工作,进入下一阶段。 一般来说,我们所说的“评审”就是指“正式评审”。,125,正式评审与非正式评审,项目经理应该区分不同情况,灵活运用正式评审与非正式评审的形式,以达到提高效率,实现项目质量目标的目的。 评审的时机,126,评审的方法,走查法(Walkthrough) 审查法(Inspection) 轮查法(Round-robin) 原型法(Prototyping) 模

38、拟法(Simulation),127,走查法,假定程序模块的输入与输出值,按照执行步骤,逐行分析所有代码的方法 通常用于对控制流程明显的程序或设计流程图的评审 应该以工作的具体负责人为中心实施,128,走查法(续),步骤 首先假定对象模块的输入以及与之对应的输出结果 根据输入值,按照程序运行的顺序跟踪运行结果 最后比较跟踪到的最终结果与最初预想结果,129,走查法(续),优点 当参与评审人员较多时,可以对控制流程的各个步骤进行较详细的评审 缺点 当控制流程较复杂时,需要耗费较多的时间,130,审查法,根据评审用检查内容表,对评审对象的某方面的质量进行审查的方法 要求所有参加人员根据审查项目,从

39、对象物中找出相应的审查位置 要求在受过专门训练人员的主持下实施 需要事先向所有参与人员分发讲解检查内容表 需要选择详细了解系统/产品全貌的人员参加评审,131,审查法(续),优点 由于使用专用的检查内容表,使参加人员可以专注于对象物某一方面的质量,因此可以一次对多个对象进行评审 缺点 若参加人员对评审对象不够了解,则无法达到预期的评审效果,132,轮查法,轮流指定所有参加评审的项目团队成员为评审负责人的组织方法 优点 全员参与,提高所有人的参与意识 轮流作为评审负责人,可以提高大家的技术水平同时加深团队成员间的了解 缺点 对所有团队成员有较高技能要求,需要循序渐进,不能急于求成,133,原型法

40、,根据设计试作程序,根据实际的动作进行评审的方法 优点 对于用户界面较多,或画面显示较多的程序比较有效 缺点 试作程序与实际的产品存在差异,仅供参考 事先的准备工作耗费较多工时,134,模拟法,建立模型,根据数学的近似算法,模拟系统或软件的运行环境,根据实际的运行结果进行评审的方法。 评审结果可以作为确定适当的技术路线的依据 优点 对于由于设计方法的不同对系统的性能有较大影响的程序十分有效,例如:有较高性能指标要求、占用较多系统资源、需要实时处理的系统 缺点 若模拟算法有误,会得出错误结果 需要改变条件,反复进行模拟运行,135,事先进行自查的重要性,组织建立了较完备的评审制度后,组织成员有可

41、能会产生过分依赖评审的倾向 因此有必要强调自查的重要性 在具体设计/开发的质量过低,会导致在评审中分散参加评审人员的注意力,降低评审的效率(耗费大量工时,却抓不住根本问题) 对于所有项目团队成员,养成自查的习惯是一种重要的“纪律”,136,评审效果的审查,项目经理需要主持所有的阶段性评审,并审查评审的结果以把握项目的质量情况 项目经理需要随时掌握评审完成标准与实际评审状况的相对关系 具体来说,有以下两部分的任务 评审结果与完成标准的比较 评审质量的审查,137,评审结果与完成标准的比较,检查实际进行的评审是否已经达到事先确定的评审完成标准 当未达到标准要求的水平时,确定再次评审的计划 发现问题

42、数高于标准时再次评审 发现问题数远远低于标准时改变评审方法,138,评审质量的审查,项目经理可以通过以下的方面审查评审的质量 是从何种角度出发进行评审的? 是否有具有适当的技能的人员参加评审活动? 通过评审发现多少问题点? 通过评审发现哪些方面的问题点? 对于多少量的对象物,耗费多少工时进行评审? 上述审查要求项目经理积累足够的经验数据,139,评审问题的对策,项目经理通过评审掌握项目质量情况后,需要针对现存问题采取适当对策 从根本上重新制造 组织再次评审,140,从根本上重新制造,有时当成果物的质量过低时,再次组织评审往往也仅仅是浪费时间,不能从实质上提高质量 这时项目经理应该有勇气决定投入

43、技能较高的人员推翻原设计重新进行制造。完成此步骤后再进行评审。,141,组织再次评审,确定再次评审的方法 改变角度,采用与前一次不同的评审方法 改变参加评审的人员 在评审用检查内容表中追加新的项目,142,实施评审时的注意事项,限制评审会议的时间(2个小时以内) 项目经理必须出席评审会议 为使评审人员充分了解评审内容,应事先向他(她)们分发评审资料 明确指出问题点并明确记录在评审记录中,143,通过测试进行质量保证,通过测试进行质量保证的一般方法 制定测试计划Plan 测试的设计与实施Do 测试效果的审查Check 测试问题的对策Action,144,测试活动的PDCA循环,(保证测试质量),

44、反馈,145,制定测试计划,制定项目开发计划时,应同时确定项目各阶段的测试计划 测试的目的在于消除潜藏在成果物中的Bug,由于能够用于测试的资源有限,在制定测试计划时必须考虑效率因素 为了提高测试效率,通常按照单元测试、集成测试、系统测试的顺序分阶段实施,146,测试计划的内容(例),各个功能模块的测试方法 测试环境 测试工具 测试管理方法 测试日程 测试体制 Bug报告方法 测试进度管理方法 测试完成标准,147,测试完成标准(例),测试项目的消化率(%) 测试密度(件/KS) 测试覆盖率(命令的覆盖率) 测试覆盖率(条件判断的覆盖率) Degrade率(%) Bug收敛率(%) Bug发现

45、率(件/KS) Bug发现率(件/项目) Bug修正率(%),148,测试的种类,按功能层次分类 单元测试(Unit Test) 测试对象:详细设计书内容 测试单位:各个功能模块 集成测试(Integration Test) 测试对象:功能设计书内容 测试单位:一般为整个程序 系统测试(System Test) 从用户使用角度出发的、软硬件结合的测试,149,150,测试的种类(续),按测试数据分类 黑盒测试(Black-box Test) 使用根据外部设计获取的测试用例进行的测试 单元、集成、系统测试阶段都可进行 白盒测试(White-box Test) 专注于程序内部结构的测试 选择能够覆

46、盖程序中所有路径的数据进行测试 负载测试 自由测试,151,测试的种类(续),按模块间集成顺序分类 由上至下式测试(Top-down Test) 由下至上式测试(Bottom-up Test) 爆炸式测试(Big-bang Test) 一步式测试,152,由上至下式测试,从程序的最上层模块开始按由上至下的顺序进行测试的方法 需要事先准备替代下层模块的测试程序 通常用于需要反复测试上层模块的情况,153,由上至下式测试(续),优点 可以在早期把握程序的整体情况 可以在早期确定模块间的接口情况 每次的测试对象都是一个独立的模块,易于调试 缺点 有时制作替代下层模块的测试程序较困难 可能出现等待测试

47、自己负责模块的团队成员 能够测试的范围取决于此时已经集成在一起的其他模块 由于设计变更等原因,修改或追加了某些模块后,需要重新测试的范围相当大 需要详细设计各个模块间的集成顺序,另外测试环境也不稳定,154,由下至上式测试,从程序的最下层模块开始按由下至上的顺序进行测试的方法 需要事先准备替代上层模块的测试(驱动)程序 通常用于对改造模块的测试,155,由下至上式测试(续),优点 可以根据各个模块的重要程度确定测试顺序 很少出现等待测试自己负责模块的团队成员 测试环境单一稳定,易维护 每次的测试对象都是一个独立的模块,易于调试 缺点 直到测试工作全部完成后,才能把握程序的整体情况,156,爆炸

48、式测试,独立并行地对各个模块进行单元测试,模块间的集成测试在所有的单元测试都完成后统一进行的方法 需要事先准备替代每个模块的上层与下层模块的测试程序,157,爆炸式测试(续),优点 无等待测试自己负责模块的团队成员 虽然需要事先准备替代每个模块的上层与下层模块的测试程序,但仅需考虑与被测试模块相关的部分即可 缺点 需要事先准备替代每个模块的上层与下层模块的测试程序,耗费工时较多 直到后期的集成测试阶段才能测试各个模块之间的接口 直到测试工作全部完成后,才能把握程序的整体情况,158,一步式测试,省略单元测试,完成模块的编码后直接进入集成测试的方法 采取此种方法时,应该首先对程序的主干进行测试,

49、然后将测试范围扩展到分支部分,159,一步式测试(续),优点 不需要事先准备替代每个模块的上层与下层模块的测试程序 测试环境用于整个测试过程,很稳定 缺点 由于没有对每个模块分别进行测试,所以发现问题时确定导致问题的具体模块比较困难,160,测试设计,将测试计划中规定的内容以测试说明书的形式细化,161,测试设计的内容,测试目的 测试单位测试内容模块间的集成方式 测试环境 测试项目 测试数据 测试步骤 测试的预想结果 测试预想结果的检验方法 测试体制与管理方法,162,测试单位测试内容模块间的集成方式,应按照功能单位详细描述测试内容与模块间的集成方式 模块间的集成顺序 从单元测试到集成测试的顺

50、序 选择单元测试的单位 按模块单位或按编译单位 选择集成测试的功能单位 分阶段进行集成测试时,确定各阶段的测试范围,163,测试环境,应详细描述测试所需的硬件与软件环境,包括 测试用机器及附属设备 OS及应用程序 使用的数据文件 与其他程序的关系(接口等) 测试工具(测试程序等),164,测试项目,应详细描述测试项目的设计方法、测试项目数的标准等 黑盒测试的设计方法 同类值分割法 临界值分析法 原因结果关系图分析法,165,同类值分割法,从设计说明书的输入条件获取测试用例的方法 将某些范围内的输入数值作为同类值看待,这些输入数值会导致相同的结果 设计步骤 整理输入条件 对于每个输入条件归纳出正

51、常系与异常系两类 分别就正常系与异常系设计测试用例,166,临界值分析法,是同类值分割法的延伸,注重对同类输入值的临界值及其周边数值进行测试的设计方法,167,原因结果关系图分析法,从原因与结果的关系入手进行测试设计的方法 设计步骤 整理输入条件,选择同类值的“原因” 按照多个“原因”的组合确定“结果” 根据“原因”和“结果”的对应关系,使用各种逻辑符号画出关系图 根据关系图制作判断表 使用判断表设计测试用例,168,测试体制与管理方法,应包括: 测试工具的开发计划 管理数据的种类、收集方法、负责人 管理用文档资料的格式及使用方法 Bug管理方法(发现 关闭) 测试进度的管理方法,169,测试

52、效果的审查,一般来说,项目经理应从以下角度出发审查测试的效果 测试结果与完成标准的比较 测试质量的审查,170,测试结果与完成标准的比较,当未达到预期的标准时,应采取适当的对策,强化质量管理。,171,测试质量的审查,项目经理必须对测试活动是否有效进行审查 审查标准(例) 什么样的功能出现的问题较集中 什么样的模块出现的问题较集中 测试项目的实施率与发现问题数的对应关系是否适当 测试耗费工时与发现问题数的对应关系是否适当 与评审一样,上述审查同样要求项目经理积累足够的经验数据,172,测试问题的对策,项目经理通过测试掌握项目质量情况后,需要针对现存问题采取适当对策 重新进行测试设计 组织强化测

53、试,173,重新进行测试设计,当整体测试结果未达到测试完成标准时,需要重新设计测试活动 例如: 追加对黑盒测试中存在“未覆盖功能”的测试 追加对白盒测试中存在“未覆盖模块”的测试,174,组织强化测试,当特定功能或模块的测试结果未达到测试完成标准时,需要组织强化测试 对于特定功能而言,可以通过追加黑盒测试项目来进行强化测试 对于特定模块而言,需要对该模块重新评审后,通过追加白盒测试项目来进行强化测试 可以通过追加外部人员进行自由测试来进行强化测试,175,测试活动中的注意事项,未再现的问题不是Bug? 出现问题首先怀疑自己! 重视被委托的调查任务! 从微观出发搜寻Bug,从宏观出发修正Bug! 对未进行改造部分无需进行测试? 重视对接口的测试!,176,项目的人力资源管理,项目人力资源管理的要素 团队建设的主要手段 团队建设的一般建议,177,项目人力资源管理的要素,软件开发活动是人的创造性劳动。为了项目的成功(QCT或CS),要求项目团队成员最大限度地发挥自身能力 为了使项目团队成员的能力得到发挥,项目经理需要对以下方面进行管理 组织计划编制 人员的获取 团队建设,178,团队建设的主要手段,提高团队成员的技能水平 提高团队成员的工作积极性 保持团队成员的身心健康,179,提高团队成员的技能水平,提高团队

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论