软件项目管理复习
第 8 章 软件项目质量管理
软件质量的基本概念
软件质量管理过程
软件质量计划
质量的定义:使满足要求的程度,包括符合规定的要求和满足顾客的隐含需求(产品或服务满足明确和隐含需要的能力)
软件质量:软件满足明确说明或隐含的需求的程度
软件质量模型
Boehm质量模型 :
可移植
,可使用
,可维护
McCall质量模型:
产品转移
,产品修改
,产品运行
ISO质量模型:
3层
质量的形成:形成于产品或者服务的开发过程中,而不是事后的检查(测试)把关等
质量成本:产品第一次工作不正常而衍生的附加花费: 预防成本; 缺陷成本;
质量管理的对象
- 过程质量:需求过程,编码过程,测试过程,提交过程
- 产品质量:需求规格,设计说明书,代码, 测试用例,测试报告,使用手册
软件质量管理过程
软件质量计划
确定项目应该达到的质量标准 决定满足质量标准的计划安排和方法
==软件质量保证==
特点:
- 通过评价项目的整体绩效,建立对质量要求的信任
- 提供项目和产品可视化的管理报告
- 任务本身并不能提高产品的质量
- 一般由质量保证部门人员实施
要点:
- 对项目进行评价
- 推测能否达到质量标准
- 建立对项目的信心
活动: 审计
- 对过程和产品的一次独立评估
- 项目执行过程审计
- 项目产品审计
软件质量控制
特点:
- 确定项目结果与质量标准是否相符,同时,确定不服的原因和消除方法
- 控制产品质量,及时纠错
- 任务本身提高产品质量
- 一般由开发人员实施
- 例如:评审,单元测试
要点:
- 检查工作的结果
- 按照标准跟踪检查
- 确定措施消灭质量问题
质量控制活动
- 技术评审
- 代码走查
- 测试
- 返工
质量保证与质量计划
QA:审计产品和过程质量,保证过程被正确执行,确认项目按照要求进行
QC:检查产品的质量,保证产品符合客户的需求。是产品质量的监督者,即挑毛病
质量计划方法
- 试验设计 :
一种统计学方法,确定哪些因素可能对特定变量产生影响
- 基准对照 :
利用其它项目的实施情况作为项目性能衡量的标准
- 质量成本分析
- 流程图方法
- 因果分析图 :鱼刺图
第9章 软件项目配置管理计划
配置管理简述
- 记录软件产品的演化过程
- 得到精确的产品配置
- 最终保证软件产品的 :完整性,一致性,追溯性,可控性 (完整性 和 追溯性 是核心)
配置管理的主要功能:版本管理,变更管理,其它
1. 软件配置项 SCI (受控于软件配置管理的款项)
计算机程序, 描述文档, 数据 (每个项目的配置项也许会不同)
2. 基线
定义:
- 提供了软件生存期中各个开发阶段的一个特定点
- 一些配置项形成并通过审核,即形成基线
- 基线标志开发过程的一个阶段的结束和里程碑
- 基线修改需要通过正式的变更控制过程
3. 软件配置控制委员会
- 评估变更
- 批准变更申请
- 在生存期内规范变更申请流程
- 对变更进行反馈
- 与项目管理层沟通
配置管理过程
配置项标识、跟踪 (配置项应被唯一的标识)
配置管理环境的建立
- 建立配置管理仓库
用来存储所有基线配置项及相关文件的等内容的系统
- 受控操作 p190
- 建立配置管理仓库
基线变更管理
- 变更请求
- 变更评估
- 变更批准/拒绝
- 变更实现
配置审计
- 配置管理活动审计
- 基线审计
配置状态统计 (变更请求的数量,SCCB 运作异常次数)
配置管理计划
人员职责(确定SCCB等) 配置项定义 基线定义 版本控制 定义变更控制系统
第10章 软件项目人员与沟通计划
组织结构的主要类型
职能型 (最普遍的项目组织形式) 适用于主要由一个部门完成的项目,或技术比较成熟的项目
优点:
- 充分发挥职能部门的资源集中优势
- 部门的专家可以同时为部门内不同项目共享
- 便于部门内部人员相互交流,相互支援
- 当项目成员离开公司时,可随时增派人员,保持项目技术的连续性
- 项目和本部门的职能工作融为一体,减少因项目的临时性而给项目成员带来的不确定性
缺点:
- 项目和部门利益发生冲突时,项目利益往往得不到优先考虑
- 资源平衡会出现问题 (当项目需要多个职能部门共同完成,或一个职能部门有多个项目)
- 权利分割不利于各个职能部门的交流和协作
- 行政隶属关系使得项目经理没有充分的权利
项目型 适用于开拓型等风险比较大的项目,或进度,成本,质量等标准有严格要求的项目,不适合人才匮乏或规模小的企业
优点:
- 项目经理对项目可以负全责
- 项目目标单一,可以以项目为中心,有利于项目顺利进行
- 避免多重领导
- 组织结构简单,交流简单,快速
缺点:
- 资源不能共享
- 各个独立的项目处于相对封闭状态,不利于公司政策的贯彻
- 对项目的组织成员缺少一种事业上的连续性和安全感
- 项目组织之间处于分割状态,缺少信息交流(不同项目组很难共享知识和经验)
矩阵型
适用于管理规范,分工明确的公司或跨职能部门的项目
优点:
- 专职的项目经理负责整个项目,以项目为中心
- 公司的各个项目可以共享各个职能部门的资源
- 即利于项目目标的实现,又利于公司目标方针的贯彻
- 项目成员的顾虑减少了 (项目结束后,不用担心被解散
缺点:
- 容易引起职能经理和项目经理的权利的冲突
- 资源共享也能引起项目之间的冲突
人员管理计划
- 是人力资源规划的一个输出
- 描述了项目团队的人员什么时候如何加入到团队中和离开团队
- 作为项目计划的一部分,详细程度因项目而异
项目干系人计划
干系人:能够影响项目的决策,活动, 结果 个人,群体,组织 及受到项目 ~ ~ ~ 影响的 ~
不知晓,地址,中立,支持,领导
沟通方式:书面沟通,口头沟通
、语言沟通,非语言沟通
、正式沟通,非正式沟通
、单向沟通,双向沟通
、网络沟通
沟通计划
项目经理 80% 时间用于沟通管理
成功的最大威胁就是沟通的失败
项目沟通的基本原则: 及时性
,准确性
,完整性
,可理解性
紧急信息,可以采用口头方式沟通;对于重要信息,可以采用书面的方式沟通。
对于特别重要的内容,要采用多种方式进行有效沟通以确保传达到位,除发送邮件外还要电话提醒,回执等,重要的内容还要通过举行各种会议进行传达。
复杂的,重要的,必要的沟通需要以会议的形式
沟通形式:N(N-1)/2 N:人员总数
第11章 软件风险计划
风险的2个特征:不确定性、损失
项目风险3要素:
- 风险事件
- 风险发生的概率
- 风险造成的影响
风险类型
预测角度:
- 已知风险:不现实的交付时间、没有需求或软件范围文档、恶劣的开发环境
- 可预测风险:人员调整,客户之间无法沟通
- 不可预测风险:
范围角度:商业 ~ 、管理 ~ 、 …
风险管理过程:风险识别
、风险评估
、风险规划
、风险控制
风险识别的方法:
- 德尔菲方法 (又称专家调查法)
- 头脑风暴法
- 情景分析法 (设计多种未来的可能前景,当项目时间较长时,要考虑各种技术,经济,社会因素,适用于可变因素较多)
- 风险条目检查表
风险评估的方法:
- 定性风险评估
- 定量风险评估
- 盈亏平衡分析 (去找盈亏平衡点)
- 模拟法
- 决策树分析 (是一种形象化的图表分析法,得出一种期望的损益)
- 访谈 (专家经验评估)
- 敏感性分析 (主要因素变化,对该项目投资价值指标的影响程度)
风险应对策略(判断选择):
风险应对的主要策略:
- 回避风险:主动放弃或者拒绝使用导致风险的方案(放弃使用新技术)
- 转移风险:分包,开脱责任合同,保险
- 损失控制
- 损失预防:(项目技术培训,预防技术失败)
- 损失抑制:(项目人员储备,抑制人员流失;避免自然灾害,异地备份)
- 自留风险
第12章软件项目合同计划
合同类型
成本补偿类合同
- CPPC 成本加成本百分比 (Cost Plus percentage of cost)
- CPFF 成本加固定费用 (Cost Plus Fixed Fee)
- CPIF 成本加奖金 (Cost Plus Incentive Fee)
固定价格合同
- FPIF 固定价格加奖金 (Fixed Price Plus Incentive Fee) 超了不会多给,自己亏损,少了会奖励
- FFP 固定总价 (Firm Fixed Price)
单价类合同
软件外包
实质是软件开发过程中的管理规范和管理技术从企业内部延伸到外部
软件外包分类:
- 地理位置分类:境内外包、境外外包
- 外包内容分类:技术外包、业务流外包、知识流外包
软件外包的基本步骤:
- 竞标邀请
- 评估候选乙方的综合实力
- 确定承包商
第13章 项目集成计划
项目的范围目标,成本 ~ , 进度 ~ , 质量 ~ 等各个目标是相互制约的
软件项目管理最重要的4个要素:范围 S
, 质量 Q
, 进度 T
, 成本 C
- S 与 C 一定成正比
- Q 与 C 一定成正比
- T 与 C 一定成反比
第14章 项目集成计划执行控制
执行控制步骤
- 建立计划标准
- 观察项目性能
- 测量和分析结果
- 采取必要措施
- 做好计划修订工作,控制计划反馈
第15章 项目和新计划执行控制
性能分析的主要技术
- 图解分析法
- 挣值分析法
- 敏捷进度控制
挣值分析法 (已获价值分析)
BAC 预算总值 (Budget At Completion)
TAC 预计完成时间 (Time At Completion)
BCWS 计划工作成本 (Budgeted cost of work scheduled)
ACWP 实际工作成本 (Actual cost of work performed)
BCWP 已获价值 (Budgeted cost of work performed)
进度差异 SV (Schedule Variance) = BCWP - BCWS
- = 0 按照进度进行
- < 0 落后
>
0 超前
成本差异 CV (Cost Variance) = BCWP - ACWP
- = 0 按照预算进行
- < 0 超支
>
0 低于预算
SPI 进度效能指标 = BCWP / BCWS
CPI 成本效能指标 = BCWP / ACWP
EAC 预测项目完成成本 = BAC / CPI
SAC 预测项目完成时间 = TAC /SPI
未完成成本效能指标: TCPI = 剩余工作 / 剩余成本 = (BAC - BCWP) / (Goal - ACWP)