第1讲 软件项目管理概述

66
1 1 第 第第第第第第第第 第 第第第第第第第第 周 周 [email protected] http://cse.cslg.cn/~zhoujian 周周周周周 409 周周周 13814948247 周周周周周周周周 周

description

软件项目管理课程 之. 第1讲 软件项目管理概述. 周 剑 [email protected] http://cse.cslg.cn/~zhoujian 软件工程系 409 教研室 13814948247. 讲授内容. 软件项目案例 管理是重要的 什么是软件项目管理 与软件项目管理有关的规范和标准 小结. 老王. 小王. 项目案例(1 /3). 任务 负责组织**大学图书馆管理系统的开发 时间限制 6个月 人员 4个技术人员 成本 控制在40万元之内. 项目案例( 2/3). 小王的长处 精湛的技术,尤其是软件设计和程序设计技术 - PowerPoint PPT Presentation

Transcript of 第1讲 软件项目管理概述

Page 1: 第1讲 软件项目管理概述

第第 11 讲 软件项目管理概述讲 软件项目管理概述

周 剑[email protected]

http://cse.cslg.cn/~zhoujian 软件工程系 409 教研室

13814948247

软件项目管理课程 之

Page 2: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

2

讲授内容讲授内容1. 软件项目案例2. 管理是重要的3. 什么是软件项目管理4. 与软件项目管理有关的规范和标准5. 小结

Page 3: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

3

项目案例项目案例 (1(1/3)/3)

任务– 负责组织 ** 大学图书馆管理系统的开发

时间限制– 6 个月

人员– 4 个技术人员

成本– 控制在 40 万元之内

小王 老王

Page 4: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

4

项目案例项目案例 ((2/3)2/3)

小王的长处– 精湛的技术,尤其是软件设计和程序设计技术– 丰富的软件开发经验,参加过许多项目的开发– 有成功的项目开发案例,对个人技术信心十足

小王的欠缺– 从来没有完整组织过一个软件项目的开发,不知道如何开展软件项目的开发工作以及需要注意哪些问题

Page 5: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

5

项目案例项目案例 ((3/3)3/3)

小王很茫然,面临许多问题– 如何着手开展工作?– 能否以及如何保证在规定的时间约束范围内完成工程?– 如何保证所开发的软件系统的质量?– 怎么去组织手下的技术人员,让他们充满激情地工作?– 如何确保项目不会失控?– 如何在实施过程中处理各种应急事件?… …

这些问题都是软件项目开发必须解决的,而且不是纯粹的技术性问题

Page 6: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

6

讲授内容讲授内容1. 软件项目案例2. 管理是重要的3. 什么是软件项目管理4. 与软件项目管理有关的规范和标准5. 小结

Page 7: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

7

管理是重要的管理是重要的 (1(1/4)/4)

软件项目开发的任务– 按照预定的进度、成本和质量,开发出满足用户要求的软件产品

用户需求确保软件质量成本限制进度限制

软件开发 成本约束

进度约束

高质量软件

用户需求

Page 8: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

8

管理是重要的管理是重要的 ((2/4)2/4)

软件工程的解决方法-运用工程化的手段进行软件开发– 强调过程– 抽象– 文档化– 规范化– 工具支持– ……

Page 9: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

9

管理是重要的管理是重要的 ((3/4)3/4) 项目组由许多承担不同角色、承担不同任务的人员组成,这些人员构成了一个团体– 项目经理、需求分析人员、设计人员、程序员、测试人员……

软件开发涉及到许多相互关联的活动,这些活动的实施直接关系到软件项目的成本和进度– 需求分析、软件设计、编码、测试……

在软件项目实施过程中会产生大量软件产品,这些软件产品相互关联、具有不同的抽象层次– 软件需求规格说明书、软件设计规格说明书、源程序代码、可执行代码、测试用例……

Page 10: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

10

管理是重要的管理是重要的 ((4/4)4/4) 管理软件开发过程

– 明确过程活动– 估算各个的工作量、成本– 制定计划,跟踪过程,风险控制

管理软件产品– 有哪些产品,呈什么形式 ( 规范文档 ) ,如何保证它们的质量,如何控制它们的变化

管理软件开发人员– 如何组建一个好的团队、调动团队成员的积极性和激情、严明团队的纪律、促进人员之间的协调与合作

Page 11: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

11

讲授内容讲授内容1. 软件项目案例2. 管理是重要的3. 什么是软件项目管理4. 与软件项目管理有关的规范和标准5. 小结

Page 12: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

12

什么是软件项目管理什么是软件项目管理 对软件项目开发过程中所涉及的过程、人员、产品、成本和进度等要素进行度量、分析、规划、组织和控制的过程,以确保软件项目按照预定的成本、进度、质量要求顺利完成

Page 13: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

13

软件项目管理的主要内容软件项目管理的主要内容 相互关联的管理要素

– 过程管理过程:怎么做 (How)

– 人员管理人员:谁来做 (Who)

– 产品管理产品:结果 (What)

过程

人员

产品

Page 14: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

14

3.13.1 过程管理过程管理 过程定义和剪裁 软件项目计划 软件度量 软件项目的跟踪和监督 风险管理

Page 15: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

15

3.1.1 3.1.1 过程定义和剪裁过程定义和剪裁 在组织范围内定义、文档化软件开发过程、明确软件开发活动,得到一个良定义、全面、灵活、简洁和可供剪裁的软件开发过程– 如何进行根据企业特点定义软件开发过程?– 如何对它进行文档化?– 如何确保软件开发过程的有效性 (包含了所有各种必须的活动 ) 、简洁性 (舍弃无关紧要的过程和活动 ) 和灵活性 (根据具体项目情况进行剪裁 ) ?

– 如何根据项目的特点剪裁过程?……

Page 16: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

16

3.1.2 3.1.2 软件项目计划软件项目计划 制定和文档化软件项目计划,确保软件开发计划是可行、科学、符合实际的– 要对软件开发过程中的那些方面制定计划?– 制定软件项目的计划的基础和依据是什么?– 要考虑哪些方面的问题?– 如何确保计划是科学的和可行的? ( 软件度量 )– 如何描述计划?– 利用哪些工具可辅助计划的制定?……

Page 17: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

17

3.1.3 3.1.3 软件度量软件度量 对软件项目的过程、产品、资源的属性的定量描述,如软件项目的规模、成本、工作量、质量等。目的是为了对软件项目进行更好的管理,如制定计划、质量保证等– 需要对哪些方面进行度量?– 如何进行度量?– 如何将度量的结果指导软件项目的管理?– 有哪些工具和模型可辅助进行软件度量……

Page 18: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

18

3.1.43.1.4 软件项目的跟踪和监督软件项目的跟踪和监督 跟踪和及时调整软件项目开发计划,提供项目情况的可视性,保证计划的适时调整– 要对哪些方面进行跟踪?– 如何对软件项目进行跟踪?– 当项目不能按照预定计划实施时,如何调整计划?

– 当跟踪发现问题时如何进行处理– 如何提供工具辅助对软件项目进行跟踪……

Page 19: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

19

3.1.5 3.1.5 风险管理风险管理 对软件开发过程中各种风险进行分析、预测、评估、监控的过程– 什么是软件开发风险?– 软件开发可能会有哪些风险?– 如何客观地预测风险?– 如何评估风险带来的影响?– 如何避免和消除风险?– 如何提供工具支持风险分析?……

Page 20: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

20

3.2 3.2 人员管理人员管理 软件项目团队 纪律和激励机制

Page 21: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

21

3.2.1 3.2.1 软件开发团队软件开发团队 确定团体的结构、明确人员的角色和任务、加强人员之间的交流与合作,结构合理、任务明确、团结协作、交流顺畅– 如何确定项目团队?– 如何加强人员之间的交流和合作?– 如何提高团队的协作精神?– ……

Page 22: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

22

3.2.2 3.2.2 纪律和激励机制纪律和激励机制 制定和实施纪律约束团体,通过激励机制激发人员的激情,严格的纪律,饱满的激情– 如何制定有效的纪律确保项目得以顺利的实施– 如何制定措施激励员工的积极性和热情– ……

Page 23: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

23

3.3 3.3 产品管理产品管理 软件需求管理 软件质量保证 软件配置管理

Page 24: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

24

3.3.1 3.3.1 软件需求管理 软件需求管理 获取、文档化和评审用户需求,并对用户需求的变更进行控制和管理– 如何获取需求?– 如何撰写软件需求规格说明书?– 如何对需求进行评审以发现需求文档中的问题?– 如何控制需求的变更?– 如何提供工具支持需求管理……

Page 25: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

25

3.3.2 3.3.2 软件质量保证 软件质量保证 在软件项目实施过程中为软件产品的质量提供某种可视性,知道哪些地方有质量问题,便于改进方法和措施,提高软件产品的质量– 高质量的软件体现在哪些方面?– 如何保证软件产品的质量?– 如何发现软件的质量问题?– 如何制定软件产品质量保证计划?– 如何有效落实和实施计划?– 如何提供工具支持软件质量保证?……

Page 26: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

26

3.3.3 3.3.3 软件配置管理 软件配置管理 对软件产品进行标识、存储、更动和发放,记录、报告其状态,验证软件产品的正确性和一致性,并对上述工作的审计的过程– 如何标识软件产品– 如何描述软件产品?– 如何对其软件产品的版本进行控制?– 如何控制软件产品的变更?– 如何制定软件配置计划?– 如何利用工具支持软件配置活动……

Page 27: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

27

讲授内容讲授内容1. 软件项目案例2. 为什么需要对软件项目进行管理3. 什么是软件项目管理4. 与软件项目管理有关的规范和标准5. 小结

Page 28: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

28

软件项目管理的规范和标准软件项目管理的规范和标准 CMM (Capability Maturity Model)

– 持续过程能力的不断改进和提高 ISO 9001

– 软件开发可接受的质量体系的标准

Page 29: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

29

CMMCMM 简介简介1. 基本概念2. CMM 的产生和发展3. CMM框架4. CMM 的应用

Page 30: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

30

基本概念基本概念 (1(1/6)/6)

软件过程– 开发和维护软件及其相关产品 ( 项目计划、设计文档、代码测试用例和用户手册等 ) 的一系列有序的活动,包括“工程活动”和“管理活动”两方面

技术活动:需求分析、软件设计、编码等 管理活动:制定计划、项目跟踪和监督、质量保证等

– 软件过程将人员、工具、方法和规程有机结合在一起 规程:有哪些活动,这些活动间的关系 方法:如何来实施这些活动 人员:谁来实施这些活动 工具:人员利用什么工具来实施活动

Page 31: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

31

基本概念基本概念 ((2/6)2/6)

软件过程能力 (Capability)– 通过遵循软件过程,软件开发活动能够达到预期结果的程度

– 事前,预期结果 ( 项目还没实施,用户和组织关注 )

软件过程性能 (Performance)– 通过遵循其软件过程,软件开发活动实际得到的结果

– 事后,实际结果

Page 32: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

32

基本概念基本概念 ((3/6)3/6)

软件过程成熟度– 软件过程被明确有效地定义、执行、管理、测量和控制的程度

– 软件过程成熟度用来表示软件过程能力的高低,成熟度高,通过软件开发达到预期结果的程度就高,否则就低

– 组织必须始终不断地提高软件过程的成熟度

Page 33: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

33

基本概念基本概念 ((4/6)4/6)

软件 ( 过程 ) 能力成熟度等级– 表示软件开发组织或项目所具有的软件过程成熟度的等级,即其软件工程和管理能力的等级

– 不同的等级表示软件过程能力成熟度的高低– CMM将软件能力成熟度划分为 5 个等级

初始级可重复级已定义级已管理级优化级

Page 34: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

34

基本概念基本概念 ((5/6)5/6)

软件 ( 过程 ) 能力成熟度模型– 把软件过程成熟度由低到高、由无序到有序的进化顺序分为几个阶段或台级,明确定义了各个等级的基本特征,以及达到该等级所必须具备的条件,它们共同构成了表示软件开发组织或项目的软件过程能力的一个框架

– 有序等级、等级特征、等级活动– 评估和提高组织软件能力成熟度的规范和标准

Page 35: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

35

基本概念基本概念 ((6/6)6/6)

软件过程评估– 是由一组受过培训的专业人员作出的估价,目的在于确定机构现行软件过程的状况,确定面向机构的高优先级的软件过程问题,以得到机构对软件过程改进的支持

– 评估一般是组织内部的人员实施 软件能力评价

– 是由一组受过培训的专业人员作出的估价,目的在于确定软件开发方的资格,或者对现有软件工作中使用的软件过程状态进行监督

– 评估一般是外部独立的机构进行

Page 36: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

36

CMMCMM 的产生和发展的产生和发展 产生 发展 国际现状 国内现状

Page 37: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

37

CMMCMM 的产生的产生 CMM 由卡内几-梅农大学 (CMU) 软件工程研究所 (SEI)提出

最初开始于 1986年 11 月, SEI 在 MITRE公司的协助下,着首开展 CMM 的工作,为客户提供评价软件开发方能力、帮助组织改进和提高其软件过程

1987 年 SEI 软件过程成熟度的简短描述 [Humphrey87a] 随后,开发了二种方法 ( 软件过程评估和软件成熟度评价 )) 和一个成熟度问卷,以估计软件过程成熟度

1991 年 SEI将成熟度框架发展为成熟度模型 在应用中几经修改,最后在 1993年 2 月正式发布了 CMM

1.1版,在 DoD 和 NASA 等政府部门得到广泛应用

Page 38: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

38

CMMCMM 的发展的发展 PSP(Personal Software Process)

– 面向个体 TSP(Team Software Process)

– 面向软件开发团队(组)的软件过程要求 FAA-iCMM

– 美国联邦航空管理局提出的集成的 CMM CMMI

– CMMI 工作计划提出的集成 CMM ,是一个系列标准,目前包括: CMMI-SW,CMMI-SE,CMMI-SW/SE, CMMI- SW/SE/IPPD , CMMI-SA ,

CSCMM– 一个中国的 CMM

Page 39: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

39

CMMCMM 的国际现状的国际现状 CMM 在国际上比较流行

– 美国,印度,日本– 由 SEI授权认证,主任评估师责任制– 美国和印度有许多企业通过了 4 , 5级的认证

在美国– DoD– NASA

Page 40: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

40

CMMCMM 的国内现状的国内现状 CMM近几年在国内引起了高度关注和重视

– 为了加强企业的国际竞争力,国家支持企业获得 CMM 的认证

– 一些企业过 2级以上认证,如东大阿派通过 3级

– 有一些主任评估师,如北航的周伯乐教授

Page 41: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

41

CMMCMM 的框架的框架 CMM 的组成 CMM 的等级 关键过程域 关键实践 关键实践类

Page 42: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

42

CMMCMM 的组成的组成

成熟度级别

关键过程域

关键实践类

关键实践

过程能力

主要问题

实施或制度化

活动或基础设施

表明

解决

归类

描述

5个

包含

划分为

包含

Page 43: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

43

CMMCMM 的等级的等级

1. 初始级

2. 可重复级

3. 已定义级

4. 已管理级

5. 优化级

有纪律的过程

标准、一致的过程

可预测、量化的过程

持续改进的过程

Page 44: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

44

初始级初始级 (1(1/2)/2) 开发过程是无序的,有时甚至是混乱的,常常以消防模式解决问题。– 出现危机时,软件项目一般会脱离计划好的软件开发过程,回到仅仅进行编码和代码调试的工作状态

几乎没有妥善定义和认真执行过的软件过程,软件开发缺乏必要的纪律

成功往往应归功于个人或少数人的努力,软件工程化水平很差– 软件项目的成功完全依赖于杰出的项目管理人员和或有经验、有战斗力的开发队伍

Page 45: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

45

初始级初始级 (2(2/2)/2)

开发很类似的项目仍有可能失败– 处于级别 1 的组织仍能开发出成功的产品,但常常超出预算和进度

– 其成功依赖于有较高能力的个人和少数精英,– 他们离开组织后,这种能力和影响力随之消失– 如果不派他们去开发下一个项目,级别 1 的机构不能重复已取得的成功

能力是个人特征而不是项目组或者组织特征

Page 46: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

46

可重复级可重复级 软件开发组织已建立了管理软件项目的策略和实施这些策略的规程 (尽管还没有一个统一的标准,不同的项目有差异 ) ,对于新项目的计划和管理基于类似的工程经验

较完善的软件工程过程已经建立并被严格强制执行 项目执行经过定义的、文档化的、曾经实施过的、人员经培训的、可测量的、强制的以及可改进的有效软件过程

开发类似项目保证可重复以往的成功

Page 47: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

47

可定义级可定义级 软件项目已完善地定义其管理过程和工程过程,已将其形成标准化的文档,并且组织已将各个项目定义的软件过程集成为软件开发组织统一的标准软件过程

组织内各个项目采用的软件过程都是上述统一的标准软件过程的一个经批准的剪裁版本-项目定义的软件过程

组织内建立了一个负责组织过程活动的小组,实施培训,保证人员具备所需的知识和技能

执行完善定义而且文档化的过程已成为组织直至个人的自觉行为

Page 48: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

48

可管理级可管理级 在工作过程中详细采集有关软件过程和产品质量方面的度量数据,使软件过程和产品质量都能得到定量地度量和控制

软件的开发成本、进度和质量均是定量地可预测的

各级管理者都对其管理的工作心中有数(即能做到定量地了解),从而采取的管理措施的效果都是定量地可预测的(管理措施是计算出来的)

Page 49: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

49

优化级优化级 软件开发组织能自觉地利用各种先进经验以及来自新技术、新思想的先导试验的定量反馈信息来持续不断地来改进和优化组织统一的标准软件过程

组织的软件过程能力能自动地得到增强和优化,整个软件开发过程已步入一个不断改进的良性循环中

Page 50: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

50

关键过程域关键过程域 什么是关键过程域? 有哪些关键过程域? 关键过程域的组成?

Page 51: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

51

什么是关键过程域什么是关键过程域 是指相互关联的若干软件实践活动的集合,描述了为了达到某个成熟度等级必须解决的主要问题 ( 所谓关键表示必不可少 ) ,

要达到该级需解决的主要矛盾 例如, 2级中的“需求管理”

Page 52: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

52

有哪些关键过程域有哪些关键过程域 (1(1/4)/4)

可重复级 (2级 )– 需求管理– 软件项目计划– 软件项目跟踪和监督– 软件子承包商管理– 软件质量保证– 软件配置管理

Page 53: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

53

有哪些关键过程域有哪些关键过程域 ((2/4)2/4)

已定义级 (3级 )– 机构过程焦点– 机构过程定义– 培训大纲– 综合软件管理– 软件产品工程– 组间协调– 同行评审

Page 54: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

54

有哪些关键过程域有哪些关键过程域 ((3/4)3/4)

可管理级 (4级 )– 定量过程管理– 软件质量管理

Page 55: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

55

有哪些关键过程域有哪些关键过程域 ((4/4)4/4)

优化级 (5级 )– 缺陷预防– 技术更新管理– 过程更改管理

Page 56: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

56

关键过程域的组成关键过程域的组成 目标

– 每个关键过程域都有一组欲要达到的目标– 例如, 2级中的“需求管理”的目标:控制指定给软件的系统需求,为软件工程和管理应用建立基线

关键实践– 每个关键过程域包含一组必须完成的关键实践,以便达到该关键过程域相应的目标

– 例如,在分配需求被纳入软件项目之前,软件工程组对它们进行评审

仅当关键过程域的所有目标都已达到时,该关键过程域才算实现

Page 57: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

57

关键实践关键实践 (1(1/2)/2)

每个关键过程域包含若干个关键实践,以实现该关键过程域的目标

什么是关键实践?– 是指对所在关键过程域目标的实现和规范化实施必不可少的实践活动

– 例如 (二级需求管理关键过程域 ) ,在分配需求被纳入软件项目之前,软件工程组对它们进行评审

Page 58: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

58

关键实践关键实践 ((2/2)2/2)

如何描述关键实践 ?– 说明关键实践的基本方针、规程和活动– 详细阐述

关键实践只描述“做什么”,而不描述“如何做”

Page 59: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

59

关键实践类关键实践类 (1(1/4)/4)

什么是关键实践类– 尽管不同的关键实践可能具有相同的特性– 指一组具有共同特性的软件实践活动的集合– 可以利用关键实践类对关键实践重新组织

Page 60: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

60

关键实践类关键实践类 ((2/4)2/4)

有哪些关键实践类 ?– 执行约定

描述了组织为确保过程的建立和持续而必须采取得一些措施 典型内容包括机构策略和领导关系 例子,项目遵循一个书面的、由组织制定的用以管理分配给软件的系统需求的方针

– 执行能力 描述了项目和组织完整的实现软件过程所必须具备的先决条件 典型内容包括资源、机构和培训 例子,提供足够的用以管理分配需求的资源和经费

Page 61: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

61

关键实践类关键实践类 ((3/4)3/4)

– 执行活动 描述了执行了一个关键过程域所必须的活动 典型内容包括制定计划和规程,执行和跟踪,必要时采取纠正措施

例子,在分配需求被纳入软件项目之前,软件工程组对它们进行评审

– 度量和分析 描述了为确定与过程有关的状态所需的基本测量实践,用于改进和控制过程

典型内容包括可能采用的测量实例 例子,进行度量,并将度量结果用以确定分配需求管理活动的状态

Page 62: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

62

关键实践类关键实践类 ((4/4)4/4)

– 验证执行描述了为确保执行的活动与已建立过程一致所采取的步骤

典型内容包括:管理部门和软件质量保证组实施的评审和审核

例子,软件质量保证组对分配需求管理活动和工作产品进行评审和 (或 )审计,并报告其结果

Page 63: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

63

CMMCMM 的应用的应用 促进软件开发过程的管理和控制 提高软件质量,缩短软件开发周期 对软件承包商软件能力进行评估,指导选择承包商 为软件承包商提供了一种改进其软件过程和提高软件质量的有效途径

为用户方提供了一种跟踪和监督软件合同执行情况的有效方法

CMM只回答“做什么?”,“如何做?”由开发组织自己定义

Page 64: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

64

本讲小结本讲小结 软件项目的实施需要有效的管理 软件项目管理涉及到过程、人员和产品等多个方面问题的解决

目前有许多与软件项目管理有关的规范和标准 CMM 是一个支持软件过程能力评估、评价和提高的标准– “做什么”,而不是“怎么做”– 如何做要根据组织的具体情况– Just Enough– 不要追求形式

Page 65: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

65

教学目的教学目的 理解

– 什么是软件项目管理?– 为什么需要软件项目管理?– 软件项目管理涉及那些方面?– 软件项目管理需要解决那些方面的问题?

掌握– 软件项目管理的规范和标准– CMM 规范概貌

Page 66: 第1讲 软件项目管理概述

© Copyright Jian Zhou 2009

软件项目管理概述

66

Questions & DiscussingQuestions & Discussing

Software Project Management Software Project Management

Practice, Practice, and Practice