第二讲项目管理 软件改进过程PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
做计划、做预算、搞开发没有一套规格化的表达形式 和评估机制。
所采用的工具不一致,也没有集成。
变更控制是松散的。
缺乏管理经验和正确理解问题的能力。
问题被遗忘或者经常被推迟解决,到安装或运行中才 发现。
4
2020/10/13
3.2 软件过程无序的原因
“人不愿意承认自己的无知”— —软件复杂性问题。
8
2020/10/13
4.1 软件过程改进的六条原则
改变的动力来自于领导 过程问题是管理者的责任;通过管理活动改变系统;长期计划、优先级、资源的支持。
改变将卷入每个人 成熟的软件过程,人的活动更结构化、更有效、更相关;组织的活动而不是个人的活动。
改变需要当前过程的知识和明确的目标 是什么的问题;改变处于什么位置的问题;评估知识;控制、协调的知识。
2
2020/10/13
3 无序的软件过程
无序的软件过程是卡内基.梅农大学SEI对 缺乏有效管理控制的软件过程的定义,被列为 CMM初始级。本节通过无序过程的讲述,提 出造成过程无序的原因,最重要的影响因子和 改进的思路。
3
2020/10/13
3.1 无序的软件过程特征
无序的软件过程就是缺乏有效管理、准确定义、 事前计划和过程控制的软件开发过程。
样安排进度。 – 在看不到运行效果时不知道设计是否正
确。 – 版本更新时不知道新版本对系统的影响。
5
2020/10/13
3.3 软件过程熵
软件过程的熵是评定软件过程无序程度的 等级。存在若干因素,即使对于一个已经建立 了项目管理体制的组织,趋向于破坏有序的软 件过程管理(即熵的增加)。影响软件过程熵 最主要的因素有三类:
第二讲 软件改进过程
2005-5-18
1
2020/10/13
主要内容
无序的软件过程 项目管理与软件过程
– 软件过程改进的六条原则 – 软件过程评估 – 项目管理在CMM中的位置 – Cห้องสมุดไป่ตู้M框架中项目管理的内容 – 项目管理推动软件过程改进
参考书:瓦茨.S.汉弗莱,《软件过程管理》,清华大学出版社,2002.
准备阶段:高层领导对评估提案的目的、原因、计划、预期的建议、评 估小组的体制和人选、费用进行研究、评审,并做出结论和指示。可能 需要1-2天,进行评估小组的培训。
评估阶段:实施评估活动和写出“问题定义报告”(Finding Report)。 可能需要几天或几周,取决于企业的规模和可采用的技术。
建议阶段:研究“问题定义报告”,提出解决方案,写出评估报告 (Evaluation Report)。
“软件魔方”——软件规模问题
– 只有一个人知道程序细节和存在问题。 – 不知道怎样从分析,到设计,再到编码
的过渡。 – 不知道分解系统成为子系统和构件。 – 多个版本出现而不知道我现在用的是哪
个版本。 – 公共使用的符号、词汇没有准确定义。 – 标准之间的矛盾没有解决。 – 不可能一次完成所有的模块,不只道怎
– 不确定的需求(直到项目完成前,不能真正理解 “做什么”和“怎样做”)
– 增长的软件编码(需求变更,问题暴露)
– 人的天性(情感影响行为,动机、等级、责任)
6
2020/10/13
3.4 改进的思路
系统化的项目管理 严密的变更管理规程 独立的项目管理组织
计划 跟踪和维护计划 工作细分 每件工作的精确定义 严格控制部分与整体的关系 把软件开发当作学习过程 辨识出不知道的东西 要处理它必须先知道它 管理、评审和复审 适时改进计划
13
“成功的评估需要权威能干的评估小组、有力的领导和合作的组 织。”这是一条基本原理。针对软件过程的特殊性,还有以下五条特殊原则:
– 客观存在太多的未知因素:问 题域和软件本身
– 竞争的压力导致无计划的承诺: 目的和内容不明确
– 看似简单而忽略了计划:时间 和资源不足
“古鲁的自信”
– 相信自己能够做任何事情 – 拒绝承认和利用前期成果 – 随意改变原来的安排 – “相信奇迹会发生” – 不愿意花费时间做项目的前期
工作(需求分析) – 在复杂问题面前徘徊
改变需要投资 训练!训练!训练!
9
2020/10/13
4.2 软件过程评估
软件过程评估是为了找出当前软件开发过程中存 在的问题,区分问题的程度,提出过程改进提案的活 动。“人很难发现自己的问题”,区分软件评估活动 和软件开发活动是必要的。过程评估与产品评估也是 不一样的,后者是对生产物是否满足要求的检查,前 者是对生产过程是否满足要求,是否存在改进可能的 检查。
7
2020/10/13
4 项目管理与软件过程
项目管理通过过程控制进行。第一、二章
讲了项目管理的基本原理、基本方法和基本过 程,下文还要分章节细致讨论。正如第三章所 述,熵的增加“即使对于一个已经建立了项目 管理体制的组织,趋向于破坏有序的软件过程 管理”,本章引入软件过程改进概念,任何规 范的软件过程都不是一成不变的,必须能够改 进,以适应具体的组织、工程、技术、人员的 特点。[《软件过程管理》Cpt.1,2,3]
一种评估报告的三段论式:[参见《美国总统信息技术咨询委员会给总统的报告 1998.8》]
– 标题(Title) – 概述(High Spots) – 目的(Objectives) – 问题(Findings) – 建议(Recommendations)
12
2020/10/13
4.2.3 过程评估的五项基本原则
过程评估的目的
过程评估的阶段
过程评估的五项基本原则
10
2020/10/13
4.2.1 过程评估的目的
研究怎样组织企业的开发、管理与控制活动; 发现过程中存在的问题,并且定义主要问题; 提出改进过程的解决方案,使之成为领导人的
主张。
11
2020/10/13
4.2.2 过程评估的阶段
分为准备、评估、建议三阶段。针对过程变更提案(任何人所提出的):
改变是持续过程 人敏感的活动;动态的而不是静态的;三个特点:反作用;“背叛”;“放把火的英
雄”。 改变需要自觉的努力和定期加固
如果没有持续的推进工作,要人保持一种精确的活动,很难。 引入(installation)
实践(practice) 熟炼(proficiency) 成为自然(naturalness)
所采用的工具不一致,也没有集成。
变更控制是松散的。
缺乏管理经验和正确理解问题的能力。
问题被遗忘或者经常被推迟解决,到安装或运行中才 发现。
4
2020/10/13
3.2 软件过程无序的原因
“人不愿意承认自己的无知”— —软件复杂性问题。
8
2020/10/13
4.1 软件过程改进的六条原则
改变的动力来自于领导 过程问题是管理者的责任;通过管理活动改变系统;长期计划、优先级、资源的支持。
改变将卷入每个人 成熟的软件过程,人的活动更结构化、更有效、更相关;组织的活动而不是个人的活动。
改变需要当前过程的知识和明确的目标 是什么的问题;改变处于什么位置的问题;评估知识;控制、协调的知识。
2
2020/10/13
3 无序的软件过程
无序的软件过程是卡内基.梅农大学SEI对 缺乏有效管理控制的软件过程的定义,被列为 CMM初始级。本节通过无序过程的讲述,提 出造成过程无序的原因,最重要的影响因子和 改进的思路。
3
2020/10/13
3.1 无序的软件过程特征
无序的软件过程就是缺乏有效管理、准确定义、 事前计划和过程控制的软件开发过程。
样安排进度。 – 在看不到运行效果时不知道设计是否正
确。 – 版本更新时不知道新版本对系统的影响。
5
2020/10/13
3.3 软件过程熵
软件过程的熵是评定软件过程无序程度的 等级。存在若干因素,即使对于一个已经建立 了项目管理体制的组织,趋向于破坏有序的软 件过程管理(即熵的增加)。影响软件过程熵 最主要的因素有三类:
第二讲 软件改进过程
2005-5-18
1
2020/10/13
主要内容
无序的软件过程 项目管理与软件过程
– 软件过程改进的六条原则 – 软件过程评估 – 项目管理在CMM中的位置 – Cห้องสมุดไป่ตู้M框架中项目管理的内容 – 项目管理推动软件过程改进
参考书:瓦茨.S.汉弗莱,《软件过程管理》,清华大学出版社,2002.
准备阶段:高层领导对评估提案的目的、原因、计划、预期的建议、评 估小组的体制和人选、费用进行研究、评审,并做出结论和指示。可能 需要1-2天,进行评估小组的培训。
评估阶段:实施评估活动和写出“问题定义报告”(Finding Report)。 可能需要几天或几周,取决于企业的规模和可采用的技术。
建议阶段:研究“问题定义报告”,提出解决方案,写出评估报告 (Evaluation Report)。
“软件魔方”——软件规模问题
– 只有一个人知道程序细节和存在问题。 – 不知道怎样从分析,到设计,再到编码
的过渡。 – 不知道分解系统成为子系统和构件。 – 多个版本出现而不知道我现在用的是哪
个版本。 – 公共使用的符号、词汇没有准确定义。 – 标准之间的矛盾没有解决。 – 不可能一次完成所有的模块,不只道怎
– 不确定的需求(直到项目完成前,不能真正理解 “做什么”和“怎样做”)
– 增长的软件编码(需求变更,问题暴露)
– 人的天性(情感影响行为,动机、等级、责任)
6
2020/10/13
3.4 改进的思路
系统化的项目管理 严密的变更管理规程 独立的项目管理组织
计划 跟踪和维护计划 工作细分 每件工作的精确定义 严格控制部分与整体的关系 把软件开发当作学习过程 辨识出不知道的东西 要处理它必须先知道它 管理、评审和复审 适时改进计划
13
“成功的评估需要权威能干的评估小组、有力的领导和合作的组 织。”这是一条基本原理。针对软件过程的特殊性,还有以下五条特殊原则:
– 客观存在太多的未知因素:问 题域和软件本身
– 竞争的压力导致无计划的承诺: 目的和内容不明确
– 看似简单而忽略了计划:时间 和资源不足
“古鲁的自信”
– 相信自己能够做任何事情 – 拒绝承认和利用前期成果 – 随意改变原来的安排 – “相信奇迹会发生” – 不愿意花费时间做项目的前期
工作(需求分析) – 在复杂问题面前徘徊
改变需要投资 训练!训练!训练!
9
2020/10/13
4.2 软件过程评估
软件过程评估是为了找出当前软件开发过程中存 在的问题,区分问题的程度,提出过程改进提案的活 动。“人很难发现自己的问题”,区分软件评估活动 和软件开发活动是必要的。过程评估与产品评估也是 不一样的,后者是对生产物是否满足要求的检查,前 者是对生产过程是否满足要求,是否存在改进可能的 检查。
7
2020/10/13
4 项目管理与软件过程
项目管理通过过程控制进行。第一、二章
讲了项目管理的基本原理、基本方法和基本过 程,下文还要分章节细致讨论。正如第三章所 述,熵的增加“即使对于一个已经建立了项目 管理体制的组织,趋向于破坏有序的软件过程 管理”,本章引入软件过程改进概念,任何规 范的软件过程都不是一成不变的,必须能够改 进,以适应具体的组织、工程、技术、人员的 特点。[《软件过程管理》Cpt.1,2,3]
一种评估报告的三段论式:[参见《美国总统信息技术咨询委员会给总统的报告 1998.8》]
– 标题(Title) – 概述(High Spots) – 目的(Objectives) – 问题(Findings) – 建议(Recommendations)
12
2020/10/13
4.2.3 过程评估的五项基本原则
过程评估的目的
过程评估的阶段
过程评估的五项基本原则
10
2020/10/13
4.2.1 过程评估的目的
研究怎样组织企业的开发、管理与控制活动; 发现过程中存在的问题,并且定义主要问题; 提出改进过程的解决方案,使之成为领导人的
主张。
11
2020/10/13
4.2.2 过程评估的阶段
分为准备、评估、建议三阶段。针对过程变更提案(任何人所提出的):
改变是持续过程 人敏感的活动;动态的而不是静态的;三个特点:反作用;“背叛”;“放把火的英
雄”。 改变需要自觉的努力和定期加固
如果没有持续的推进工作,要人保持一种精确的活动,很难。 引入(installation)
实践(practice) 熟炼(proficiency) 成为自然(naturalness)