软件项目管理.pptx课件.pptx

上传人(卖家):三亚风情 文档编号:2882343 上传时间:2022-06-07 格式:PPTX 页数:89 大小:423.62KB
下载 相关 举报
软件项目管理.pptx课件.pptx_第1页
第1页 / 共89页
软件项目管理.pptx课件.pptx_第2页
第2页 / 共89页
软件项目管理.pptx课件.pptx_第3页
第3页 / 共89页
软件项目管理.pptx课件.pptx_第4页
第4页 / 共89页
软件项目管理.pptx课件.pptx_第5页
第5页 / 共89页
点击查看更多>>
资源描述

1、软件项目管理1谢谢观赏2019-6-30l软件过程与过程管理软件过程与过程管理lCMMI概述概述lCMMI的成熟度等级及其过程域的成熟度等级及其过程域lCMMI的应用的应用lPSP,TSP与与CMMIl敏捷软件开发方法敏捷软件开发方法2谢谢观赏2019-6-30l实施实施CMMI过程改进的两种方法过程改进的两种方法w 阶段表示阶段表示w 连续表示连续表示lCMMI评估评估3谢谢观赏2019-6-30实施实施CMMICMMI过程改进的两种方法过程改进的两种方法lCMMI模型支持两种实施过程改进的方法,一模型支持两种实施过程改进的方法,一种称为阶段表示,一种称为连续表示。种称为阶段表示,一种称为连

2、续表示。l阶段表示阶段表示(Staged Representation)为过程)为过程改进提供了一个预定义的路线图,即从成熟度改进提供了一个预定义的路线图,即从成熟度等级等级1到成熟度等级到成熟度等级5逐级增加,要达到某一成逐级增加,要达到某一成熟度等级,必须满足该等级(及其以下等级)熟度等级,必须满足该等级(及其以下等级)上所有过程域的目标。上所有过程域的目标。4谢谢观赏2019-6-30l连续表示连续表示(Continuous Representation)支)支持单个过程域的改进,可理解为一个过程域接持单个过程域的改进,可理解为一个过程域接着一个过程域实施改进。在每个过程域上从能着一个过

3、程域实施改进。在每个过程域上从能力等级力等级0到能力等级到能力等级5逐级增加。逐级增加。实施实施CMMICMMI过程改进的两种方法过程改进的两种方法5谢谢观赏2019-6-30l阶段表示是从阶段表示是从CMM模型继承而来,已经过多模型继承而来,已经过多年的实践检验。它提供了一个明确的、被证实年的实践检验。它提供了一个明确的、被证实的过程改进路径,遵循这条路径不需要过多的的过程改进路径,遵循这条路径不需要过多的讨论和争论。而且由于它的明确性和统一性,讨论和争论。而且由于它的明确性和统一性,有助于进行跨组织的比较。有助于进行跨组织的比较。l连续表示的优点是提供了灵活性。用户可根据连续表示的优点是提

4、供了灵活性。用户可根据具体的业务目标来选择需要实现的过程域及其具体的业务目标来选择需要实现的过程域及其实现次序。实现次序。6谢谢观赏2019-6-30l成熟度等级的评估由美国卡内基梅隆大的软件成熟度等级的评估由美国卡内基梅隆大的软件工程研究所授权的主任评估师领导一个评审小工程研究所授权的主任评估师领导一个评审小组进行,其成员大部分来自企业内部。组进行,其成员大部分来自企业内部。l评估过程包括员工培训(企业的高层领导也要评估过程包括员工培训(企业的高层领导也要参加)、问卷填写和统计、文档审查、数据分参加)、问卷填写和统计、文档审查、数据分析、与企业的高层领导讨论和撰写评估报告等。析、与企业的高层

5、领导讨论和撰写评估报告等。评估结束由主任评估师签字生效。评估结束由主任评估师签字生效。l评估结果报告给评估结果报告给SEI,但,但SEI不会发不会发“认证认证”证证书。书。7谢谢观赏2019-6-30l一般有两种类型的评估:一般有两种类型的评估:软件过程评估软件过程评估和和软件软件能力评价能力评价。l软件过程评估用于确定机构当前过程的状态,软件过程评估用于确定机构当前过程的状态,决定一个机构所面临的高优先级的过程相关问决定一个机构所面临的高优先级的过程相关问题,并且获得机构对软件过程改进的支持。题,并且获得机构对软件过程改进的支持。l软件能力评价用来确定合格的软件项目承制方,软件能力评价用来确

6、定合格的软件项目承制方,或用来监督在目前的软件项目中正在进行软件或用来监督在目前的软件项目中正在进行软件过程的状态。过程的状态。8谢谢观赏2019-6-30l判断一个组织当前的软件过程的能力状态,并判断一个组织当前的软件过程的能力状态,并发现过程中的缺陷。发现过程中的缺陷。l判断并确定一个组织面对的与软件过程相关的判断并确定一个组织面对的与软件过程相关的改进策略。改进策略。l利用组织的支持来对该组织的软件过程进行有利用组织的支持来对该组织的软件过程进行有效的改进。效的改进。9谢谢观赏2019-6-30l判断有意承担某个软件项目的软件组织(投标判断有意承担某个软件项目的软件组织(投标者)的过程能

7、力。者)的过程能力。l利用评价结果确定选择某一承包者的风险。利用评价结果确定选择某一承包者的风险。l判断已进行的软件过程所处的状态是否正确或判断已进行的软件过程所处的状态是否正确或是否正常。是否正常。l推动承包者在工作过程中改进他们的软件过程。推动承包者在工作过程中改进他们的软件过程。10谢谢观赏2019-6-30l挑选队伍:成员必须具有专业的软件工程和管挑选队伍:成员必须具有专业的软件工程和管理方面的知识,并接受过基本理方面的知识,并接受过基本CMM/CMMI概概念和特定评估及评价方法的训练。念和特定评估及评价方法的训练。l问卷调查:让来自被评估单位的代表完成软件问卷调查:让来自被评估单位的

8、代表完成软件过程成熟度问卷并回答评估评价组提出的诊断过程成熟度问卷并回答评估评价组提出的诊断性问题。性问题。l响应分析:明确哪些回答与问题的答案相吻合,响应分析:明确哪些回答与问题的答案相吻合,并确定须进一步调查的领域。并确定须进一步调查的领域。11谢谢观赏2019-6-30l现场调查:从响应分析的结果出发,评估小组现场调查:从响应分析的结果出发,评估小组进行提问、检查、协商等,以获取专业性的结进行提问、检查、协商等,以获取专业性的结论,说明软件过程的论,说明软件过程的 KPA是否达到了应有的是否达到了应有的目标。目标。l评估小组提供一个定义软件过程优缺点的结果评估小组提供一个定义软件过程优缺

9、点的结果清单。对于软件过程评估来说,这些结果将成清单。对于软件过程评估来说,这些结果将成为过程改进的基础和参考;为过程改进的基础和参考; 对于软件能力评对于软件能力评价来说,这些结果为决策者提供风险分析的技价来说,这些结果为决策者提供风险分析的技术基础。术基础。12谢谢观赏2019-6-30l评估小组完成评估小组完成KPA基本概况的描述文件,给出基本概况的描述文件,给出组织已经满足的组织已经满足的KPA目标和尚未满足的目标和尚未满足的KPA目目标。标。13谢谢观赏2019-6-30l软件过程评估和软件能力评价的结果可能不同软件过程评估和软件能力评价的结果可能不同(主要是因为评估和评价的侧重点不

10、一样,而(主要是因为评估和评价的侧重点不一样,而且被评估和被评价的组织、项目、软件产品都且被评估和被评价的组织、项目、软件产品都会发生变化,因此,应该考虑评估和评价的会发生变化,因此,应该考虑评估和评价的Context)。)。l软件过程评估和软件能力评价在出发点和目标软件过程评估和软件能力评价在出发点和目标上是不同的(导致成熟度提问单的内容组织不上是不同的(导致成熟度提问单的内容组织不一样,收集的信息不一样,结论的评价不一一样,收集的信息不一样,结论的评价不一样)。样)。14谢谢观赏2019-6-30l软件过程评估是在一个开放的、互相协作的环软件过程评估是在一个开放的、互相协作的环境下进行的。

11、而软件能力评价往往是在有较大境下进行的。而软件能力评价往往是在有较大阻力的环境中进行的。(过程评估是为了提高阻力的环境中进行的。(过程评估是为了提高管理者和工程师的工作水平,而能力评价是为管理者和工程师的工作水平,而能力评价是为了表明一个软件组织的实际软件过程能力,为了表明一个软件组织的实际软件过程能力,为选择承包者和减少费用服务)。选择承包者和减少费用服务)。15谢谢观赏2019-6-30l筹备必备机构筹备必备机构w SEPG:负责过程的定义和策划。:负责过程的定义和策划。w SQA:负责审核软件过程的实施情况;产:负责审核软件过程的实施情况;产品质量的审核和控制。品质量的审核和控制。l确定

12、合适的目标确定合适的目标w 对指定的对指定的KPA作评估或诊断,作评估或诊断,2级时也可要级时也可要求对求对3级的级的KPA进行评估。进行评估。w 有些组织一开始可能并不想进行评分和评级,有些组织一开始可能并不想进行评分和评级,而是希望评估组从其现有的实践中确定最佳而是希望评估组从其现有的实践中确定最佳实践,作为组织的标准实践进行推广。实践,作为组织的标准实践进行推广。16谢谢观赏2019-6-30l确定范围确定范围w 部门:哪些部门参加。部门:哪些部门参加。w 项目:选择合适的项目。项目:选择合适的项目。w KPA:确定对那些:确定对那些KPA进行评估。进行评估。w 人数:为了保证评估取证有

13、足够的可信度,人数:为了保证评估取证有足够的可信度,人数总和应该超过组织人数的人数总和应该超过组织人数的20。l约束约束w 对不参加的部门,评估组无权进行访谈或取对不参加的部门,评估组无权进行访谈或取证。证。17谢谢观赏2019-6-30w 对不参加的人员,评估组无权进行访谈或取对不参加的人员,评估组无权进行访谈或取证。证。w 经费和预算不得超过某个限度。经费和预算不得超过某个限度。w 进度安排应该在一个适当的期限内。进度安排应该在一个适当的期限内。l期望期望w 要求评估师签署结论性证明文件。要求评估师签署结论性证明文件。w 要求评估组指明每个要求评估组指明每个KPA的优缺点,哪些实的优缺点,

14、哪些实践有待改进。践有待改进。w 要求评估组提出下一步过程改进的计划和大要求评估组提出下一步过程改进的计划和大致的日程安排。致的日程安排。18谢谢观赏2019-6-30l承诺承诺w 组织主管保证参加评估的人员不会影响评估组织主管保证参加评估的人员不会影响评估活动的正常进展。活动的正常进展。w 保证为评估工作提供相应的后勤服务。保证为评估工作提供相应的后勤服务。w 向评估组授权向评估组授权“开工令开工令”(从某日起开始工(从某日起开始工作)。作)。19谢谢观赏2019-6-30l准备待审文档准备待审文档 -组织级文档组织级文档w 软件生存期模型软件生存期模型w 研发过程的各种方针研发过程的各种方

15、针w 项目遵循的规程项目遵循的规程w 选用的标准选用的标准w 裁剪指南裁剪指南w 标准报表标准报表w 标准测量集标准测量集20谢谢观赏2019-6-30-项目级文档项目级文档w 软件开发计划软件开发计划w 软件质量保证计划软件质量保证计划w 软件配置管理计划软件配置管理计划w 项目在实施中遵循的规程项目在实施中遵循的规程w 测量计划测量计划w 培训教材培训教材 21谢谢观赏2019-6-30-实现级文档实现级文档w 会议概要:评审会等会议概要:评审会等w 项目管理过程的状态报告:月度报告等项目管理过程的状态报告:月度报告等w 各类变更申请各类变更申请w 测试记录测试记录w 开发过程中产生的各类

16、工作产品:设计文档,开发过程中产生的各类工作产品:设计文档,源代码清单等源代码清单等。22谢谢观赏2019-6-30l过程改进必须有高级主管的支持与委托,并积过程改进必须有高级主管的支持与委托,并积极地管理过程改进的进展。极地管理过程改进的进展。l获取中层管理的支持,以方便地获取过程改进获取中层管理的支持,以方便地获取过程改进的资源(人员、时间、经费和设备)。的资源(人员、时间、经费和设备)。l基层技术人员的参与和支持极端重要。基层技术人员的参与和支持极端重要。l利用定量的可观察数据尽快使过程改进的成果利用定量的可观察数据尽快使过程改进的成果可见,从而激励参与者的兴趣。可见,从而激励参与者的兴

17、趣。l按照软件过程改进对企业文化的要求进行变革,按照软件过程改进对企业文化的要求进行变革,要求软件过程改进为商业利益服务,并与企业要求软件过程改进为商业利益服务,并与企业其他部分协调。其他部分协调。23谢谢观赏2019-6-30PSP的产生的产生lCMM/CMMICMM/CMMI只关注只关注“做什么做什么”,而不关注,而不关注“怎么做怎么做”,未提供实现各过程域所需要的未提供实现各过程域所需要的知知识和方法。识和方法。为了解决上述问题,为了解决上述问题,CMU-SEI在在CMM1.1基础基础上提出了上提出了PSP/TSP。24谢谢观赏2019-6-30l19951995年,年,CMU-SEIC

18、MU-SEI的的Watts s. HumphreyWatts s. Humphrey领导开领导开发出发出PSPPSP(Personal Software ProcessesPersonal Software Processes),),被认为是由定性软件工程走向定量软件工程的被认为是由定性软件工程走向定量软件工程的标志。标志。lPSPPSP是一种可用于控制、管理和改进软件工程是一种可用于控制、管理和改进软件工程师个人工作方式的自我改善过程,是一个包括师个人工作方式的自我改善过程,是一个包括软件开发表格、指南和规程的结构化框架。软件开发表格、指南和规程的结构化框架。25谢谢观赏2019-6-30l

19、如何制订计划如何制订计划l如何控制质量如何控制质量l如何与其他人相互协作如何与其他人相互协作l如何预防缺陷如何预防缺陷(PSP重点重点)关键是如何提高设计质量关键是如何提高设计质量26谢谢观赏2019-6-30l为每一个项目为每一个项目/模块制订开发计划;模块制订开发计划;l记录开发时间;记录开发时间;l跟踪错误;跟踪错误;l在工程摘要报表中保留数据;在工程摘要报表中保留数据;l使用已有的数据计划以后的项目使用已有的数据计划以后的项目/模块;模块;l分析已有的数据以改进开发过程,不断提高开分析已有的数据以改进开发过程,不断提高开发水平。发水平。27谢谢观赏2019-6-30参加参加PSP培训的

20、培训的104位软件人员在应用了位软件人员在应用了PSP后后:l软件中总的差错数减少了软件中总的差错数减少了58.0;l在测试阶段发现的差错减少了在测试阶段发现的差错减少了71.9;l生产效率提高了生产效率提高了20.828谢谢观赏2019-6-30lPSP是一个软件过程的描述、测量和改进方法是一个软件过程的描述、测量和改进方法的结构化集合,它可以为软件工程师带来更少的结构化集合,它可以为软件工程师带来更少的错误代码、更好的预算和计划以及更高的生的错误代码、更好的预算和计划以及更高的生 产率,从而能够帮助软件工程师改善其个人性产率,从而能够帮助软件工程师改善其个人性能。能。l PSP提供了帮助软

21、件工程师开发软件的表格、提供了帮助软件工程师开发软件的表格、脚本和标准,以估算和计划软件工程师的工作,脚本和标准,以估算和计划软件工程师的工作,以便软件工程师可以更加清楚自己的个人技术以便软件工程师可以更加清楚自己的个人技术并且提升个人表现。并且提升个人表现。PSP显示了如何定义过程显示了如何定义过程及如何测量其质量和生产率。及如何测量其质量和生产率。29谢谢观赏2019-6-30l PSP不依赖于任何技术(语言、工具和设计不依赖于任何技术(语言、工具和设计方法),它:方法),它:w 示范了软件过程原则;示范了软件过程原则;w 帮助工程师做正确的计划;帮助工程师做正确的计划;w 告诉工程师怎样

22、提高软件质量;告诉工程师怎样提高软件质量;w 建立个人软件过程提升的度量标准;建立个人软件过程提升的度量标准;w 确定过程改进在工程师表现中的影响。确定过程改进在工程师表现中的影响。30谢谢观赏2019-6-3031谢谢观赏2019-6-30lPSP0是过程基线,目的是为了在个人的工作是过程基线,目的是为了在个人的工作中引入表格和脚本,以便工程师按照测量和报中引入表格和脚本,以便工程师按照测量和报告格式记录软件过程。告格式记录软件过程。w PSP0-1.目前过程:记录软件工程师在工程目前过程:记录软件工程师在工程中使用的具有代表性的软件开发方法。中使用的具有代表性的软件开发方法。w PSP0-

23、2.时间记录:记录软件工程师在不同时间记录:记录软件工程师在不同的软件开发阶段(计划、设计、编码、编译的软件开发阶段(计划、设计、编码、编译和测试、维护)所花费的时间。和测试、维护)所花费的时间。32谢谢观赏2019-6-30w PSP0-3.失误记录:按照一致的格式记录软失误记录:按照一致的格式记录软件工程师引入软件中的缺陷,并记录软件工件工程师引入软件中的缺陷,并记录软件工程师尝试解决问题的方法和步骤。程师尝试解决问题的方法和步骤。w PSP0-4.错误分类标准:一方面为软件工程错误分类标准:一方面为软件工程师提供在系统中可观察到的典型缺陷种类列师提供在系统中可观察到的典型缺陷种类列表,有

24、助于软件工程师把典型缺陷标准化;表,有助于软件工程师把典型缺陷标准化;另一方面提供一种预定义的步骤和工具方便另一方面提供一种预定义的步骤和工具方便软件工程师对新的缺陷进行归类和记录。软件工程师对新的缺陷进行归类和记录。33谢谢观赏2019-6-30l PSP0可以通过增加下列过程而扩展到可以通过增加下列过程而扩展到 PSP0.1。w PSP0.1-1.代码规范:通过对设计过程、开代码规范:通过对设计过程、开发过程和设计语言结构进行规范,约束具有发过程和设计语言结构进行规范,约束具有不同技术背景和软件开发风格的软件工程师。不同技术背景和软件开发风格的软件工程师。由组织统一制订设计方法和编码标准。

25、由组织统一制订设计方法和编码标准。w PSP0.1-2.代码规模度量:测量代码的长度、代码规模度量:测量代码的长度、功能、复杂度、再利用数、冗余数等。一般功能、复杂度、再利用数、冗余数等。一般基于某种测量标准进行,如基于某种测量标准进行,如LOC,软件工程,软件工程师应该了解师应该了解 LOC及相关测量概念。及相关测量概念。34谢谢观赏2019-6-30l PSP0.1-3.过程优化计划:针对已经记录的软过程优化计划:针对已经记录的软件过程中的问题和经验教训,帮助软件工程师件过程中的问题和经验教训,帮助软件工程师给出软件过程能力的改进建议,并以结构化的给出软件过程能力的改进建议,并以结构化的方

26、式表达软件过程、问题、建议教训、改进建方式表达软件过程、问题、建议教训、改进建议等项目。议等项目。35谢谢观赏2019-6-30lPSP1在在PSP0的基础上增加了计划步骤:的基础上增加了计划步骤:w PSP1-1.规模估计:分为代码规模估算、时规模估计:分为代码规模估算、时间估算、资源估算。间估算、资源估算。 (1)代码规模估算:软件工程师可以凭借)代码规模估算:软件工程师可以凭借PSP0级代码规模测量经验预测他们将要写级代码规模测量经验预测他们将要写的任务模块或算法的可能规模。的任务模块或算法的可能规模。 (2)时间估算:)时间估算:PSP0级时间测量过程可以级时间测量过程可以总结出不同复

27、杂度模块的编写时间,凭借这总结出不同复杂度模块的编写时间,凭借这些经验,软件工程师可以针对当前系统的模些经验,软件工程师可以针对当前系统的模块结构层次给出完成每个模块的估算时间块结构层次给出完成每个模块的估算时间(乐观时间、最可能时间、悲观时间)。(乐观时间、最可能时间、悲观时间)。36谢谢观赏2019-6-30 (3)资源估算:对于软件开发的一段生存期,)资源估算:对于软件开发的一段生存期,软件工程师预测所需要的软件、硬件和人力资软件工程师预测所需要的软件、硬件和人力资源,其中人力资源预测包括人力需求、人力成源,其中人力资源预测包括人力需求、人力成本估算和项目管理标准。本估算和项目管理标准。

28、lPSP1-2.状态报告:对软件工程师的工作进行状态报告:对软件工程师的工作进行跟踪,检查规模估计与实际状态之间的差异。跟踪,检查规模估计与实际状态之间的差异。37谢谢观赏2019-6-30l PSP1.1在在PSP1的基础上引入了任务计划和安的基础上引入了任务计划和安排。排。w PSP1.1-1.任务计划及安排:基于任务计划及安排:基于PSP1中的中的规模估计数据制订软件项目的需要完成的任规模估计数据制订软件项目的需要完成的任务计划,并将任务按时间段分配给不同的人务计划,并将任务按时间段分配给不同的人力资源。一般采纳网络安排技术,如力资源。一般采纳网络安排技术,如PERT(Program E

29、valuation and Review Techniques)和和CPM(Critical Path Method),软件工程师应该理解网络安排技,软件工程师应该理解网络安排技术和计划策略。术和计划策略。38谢谢观赏2019-6-30lPSP2强调提高质量,引入了缺陷管理。强调提高质量,引入了缺陷管理。w PSP2-1.代码审查。对代码进行检查和分析,代码审查。对代码进行检查和分析,以发现程序缺陷。以发现程序缺陷。w PSP2-2.设计审查。设计审查。设计审查要求提供一些设计审查要求提供一些评估设计质量的指标,如:代码重用率、代评估设计质量的指标,如:代码重用率、代码冗余、代码完整性和协作性

30、。设计的一致码冗余、代码完整性和协作性。设计的一致性检查主要涉及:结构化(控制和数据)一性检查主要涉及:结构化(控制和数据)一致性、耦合一致性、可移植和互用一致性。致性、耦合一致性、可移植和互用一致性。39谢谢观赏2019-6-30lPSP2.1在在PSP2.0基础上增加了设计模板。基础上增加了设计模板。 设计模板提供了设计过程的完全标准化,并且设计模板提供了设计过程的完全标准化,并且连同缺陷预防、过程分析和过程基准一起形成连同缺陷预防、过程分析和过程基准一起形成了各种设计检验技术。可类似地将此方法应用了各种设计检验技术。可类似地将此方法应用到许多过程阶段之中去,包括:需求说明、文到许多过程阶

31、段之中去,包括:需求说明、文档和测试等。档和测试等。40谢谢观赏2019-6-30lPSP3将个人软件过程的应用拓展到大规模程将个人软件过程的应用拓展到大规模程序开发当中。序开发当中。 将开发大型程序的个体过程细分为可以应用将开发大型程序的个体过程细分为可以应用PSP2的片段,遵照的片段,遵照PSP2过程循环增量地开发过程循环增量地开发大型程序,从而支持迭代式的开发。在任何时大型程序,从而支持迭代式的开发。在任何时间点,只有一个间点,只有一个PSP2级过程是活动的。级过程是活动的。41谢谢观赏2019-6-30l软件开发通常是以团队形式进行的,因此仅有软件开发通常是以团队形式进行的,因此仅有P

32、SP是不够的。是不够的。CMU-SEI又以又以PSP为基础,开为基础,开发了发了TSP(Team Software Processes),即),即小组软件过程。小组软件过程。lTSP指导项目组中的成员如何有效规划和管理指导项目组中的成员如何有效规划和管理所面临的项目开发任务,并且使软件开发队伍所面临的项目开发任务,并且使软件开发队伍始终以最佳状态来完成工作。始终以最佳状态来完成工作。42谢谢观赏2019-6-30lTSP实施集体管理与自我管理相结合的原则,实施集体管理与自我管理相结合的原则,最终目的在于指导开发人员如何在最少的时间最终目的在于指导开发人员如何在最少的时间内,以预定的费用生产出高

33、质量的软件产品,内,以预定的费用生产出高质量的软件产品,所采用的方法是对小组开发过程进行定义、度所采用的方法是对小组开发过程进行定义、度量和改进。量和改进。l小组远不只是一群有才能的个人的集合。为了小组远不只是一群有才能的个人的集合。为了建立并保持高效率的工作关系,小组需要建立并保持高效率的工作关系,小组需要共同共同的目标的目标,大家一致同意的行动计划大家一致同意的行动计划和和适当的领适当的领导导,小组成员要在需要的时候,小组成员要在需要的时候乐于寻求帮助乐于寻求帮助。43谢谢观赏2019-6-30l需要有高层主管和各级经理的支持,以取得必需要有高层主管和各级经理的支持,以取得必要的资源。要的

34、资源。l整个软件开发小组至少应在整个软件开发小组至少应在CMM的第二级的第二级(已管理级)。(已管理级)。l全体软件开发人员必须经过全体软件开发人员必须经过PSP的培训,并有的培训,并有按按TSP工作的愿望和热情。工作的愿望和热情。l开发小组成员应在开发小组成员应在2到到20个人之间。经验表明,个人之间。经验表明,48个人的小组工作效率最高。个人的小组工作效率最高。44谢谢观赏2019-6-30lTSP遵循集体管理和自己管理自己相结合的原遵循集体管理和自己管理自己相结合的原则。则。w 在每一项目阶段开始要作好工作计划。在每一项目阶段开始要作好工作计划。w 要有明确定义的目标,努力完成已经接受的

35、要有明确定义的目标,努力完成已经接受的委托任务。委托任务。w 应定期追踪项目进展状态并进行定期汇报。应定期追踪项目进展状态并进行定期汇报。w 按自己管理自己的原则管理软件过程。按自己管理自己的原则管理软件过程。w 按集体管理的原则进行管理,全体成员都要按集体管理的原则进行管理,全体成员都要参加和关心小组工作的规划、进展的追踪和参加和关心小组工作的规划、进展的追踪和决策的制订等项工作。决策的制订等项工作。45谢谢观赏2019-6-30lTSP通过循环开发策略完成产品。先在第一个通过循环开发策略完成产品。先在第一个周期中开发出最小的合理产品,再决定在接下周期中开发出最小的合理产品,再决定在接下来的

36、每一个周期中要加进去的功能。这样的步来的每一个周期中要加进去的功能。这样的步骤可以保证得到一系列最终产品的可运行的前骤可以保证得到一系列最终产品的可运行的前期版本。每个周期包括期版本。每个周期包括7个步骤:决定策略、个步骤:决定策略、进行计划、考虑需求、设计、实现、测试和最进行计划、考虑需求、设计、实现、测试和最终检查。终检查。46谢谢观赏2019-6-30l对软件开发小组进行度量的基本要素:对软件开发小组进行度量的基本要素:w 所编文档页数;所编文档页数;w 所编代码行数;所编代码行数;w 花费在各个开发阶段或各个开发任务上的时花费在各个开发阶段或各个开发任务上的时间;间;w 在各个开发阶段

37、中注入和改正的差错数目;在各个开发阶段中注入和改正的差错数目;w 在各个阶段对最终产品增加的价值。在各个阶段对最终产品增加的价值。47谢谢观赏2019-6-30lTSP有关质量度量的经验原则:有关质量度量的经验原则:w 软件设计时间应大于软件实现时间;软件设计时间应大于软件实现时间;w 设计评审时间至少应占一半以上的设计时间;设计评审时间至少应占一半以上的设计时间;w 代码评审时间应大于编制代码的时间;代码评审时间应大于编制代码的时间;w 每千行源程序在编译阶段发现的差错不应超每千行源程序在编译阶段发现的差错不应超过过10个;个;w 每千行源程序在测试阶段发现的差错不应超每千行源程序在测试阶段

38、发现的差错不应超过过5个。个。48谢谢观赏2019-6-30lPSP、 TSP 和和CMMI为软件产业提供了为软件产业提供了一个集成化的、三维的软件过程改革框一个集成化的、三维的软件过程改革框架。架。49谢谢观赏2019-6-30lPSP注重于个人的技能,能够指导软件工程师注重于个人的技能,能够指导软件工程师保证自己的工作质量,估计和规划自身的工作,保证自己的工作质量,估计和规划自身的工作,度量和追踪个人的表现,管理自身的软件过程度量和追踪个人的表现,管理自身的软件过程和产品质量。经过和产品质量。经过PSP的学习和实践,软件工的学习和实践,软件工程师们能够在他们参与的项目中更为高效和高程师们能

39、够在他们参与的项目中更为高效和高质量地完成工作,从而保证了项目整体的进度质量地完成工作,从而保证了项目整体的进度和质量。和质量。50谢谢观赏2019-6-30lTSP注重团队的高效工作和产品交付能力,结注重团队的高效工作和产品交付能力,结合合PSP的工程技能,使软件工程师将个体过程的工程技能,使软件工程师将个体过程结合进小组软件过程,并通过指导管理层如何结合进小组软件过程,并通过指导管理层如何支持和授权项目小组,坚持团队的高质量的工支持和授权项目小组,坚持团队的高质量的工作,并且依据数据进行项目管理,以达到生产作,并且依据数据进行项目管理,以达到生产高质量产品的目的。高质量产品的目的。51谢谢

40、观赏2019-6-30lCMMI注重于组织能力和成熟度的提高,它提注重于组织能力和成熟度的提高,它提供了评价组织的能力、改进组织过程的管理方供了评价组织的能力、改进组织过程的管理方式,比式,比TSP具有更高的层次。具有更高的层次。lCMMI关注关注“做什么做什么”,PSP和和TSP则提供了则提供了“怎么做怎么做”。52谢谢观赏2019-6-30核心思想核心思想:l敏捷软件开发方法的思想是现代管理理念的延敏捷软件开发方法的思想是现代管理理念的延伸,其核心是伸,其核心是以人为本,发挥人的主观能动性。以人为本,发挥人的主观能动性。l敏捷软件开发方法认为,对项目最重要的影响敏捷软件开发方法认为,对项目

41、最重要的影响因素是人,而不是过程和技术。不能把人员当因素是人,而不是过程和技术。不能把人员当做由过程驱动的做由过程驱动的“可插拔替换的编程单元可插拔替换的编程单元”,而要发挥人的能动性,建立紧密协作的、自组而要发挥人的能动性,建立紧密协作的、自组织的团队。织的团队。53谢谢观赏2019-6-30l以过程为核心(而不是以人为核心)的软件组以过程为核心(而不是以人为核心)的软件组织为了少犯错误,保证项目成功,而从项目开织为了少犯错误,保证项目成功,而从项目开发经验中总结和定义了许多过程,用于约束开发经验中总结和定义了许多过程,用于约束开发行为,避免重复相同的错误。由于项目的复发行为,避免重复相同的

42、错误。由于项目的复杂性和多样性,这种过程定义会越来越多,最杂性和多样性,这种过程定义会越来越多,最终形成一个庞大的、笨重的过程集合,这样的终形成一个庞大的、笨重的过程集合,这样的过程集合会降低开发效率和产品质量,增加开过程集合会降低开发效率和产品质量,增加开发成本。发成本。54谢谢观赏2019-6-30 我们正在通过亲身实践以及帮助他人实践,我们正在通过亲身实践以及帮助他人实践,揭示更好的软件开发方法。通过这项工作,我们揭示更好的软件开发方法。通过这项工作,我们认为:认为: 人和交互人和交互 重于重于 过程和工具过程和工具 可以工作的软件可以工作的软件 重于重于 面面俱到的文档面面俱到的文档

43、客户合作客户合作 重于重于 合同谈判合同谈判 随时应对变化随时应对变化 重于重于 遵循计划遵循计划 虽然右项也有其价值,但我们认为左项更加虽然右项也有其价值,但我们认为左项更加重要。重要。55谢谢观赏2019-6-30l只有好的过程而缺乏合格的人员,不能保证项只有好的过程而缺乏合格的人员,不能保证项目不失败。目不失败。l优秀的人员不一定是顶尖的技术人才,但一定优秀的人员不一定是顶尖的技术人才,但一定能和其它人员良好地协作。能和其它人员良好地协作。l拥有一般的技术人才,但能够有效沟通、紧密拥有一般的技术人才,但能够有效沟通、紧密协作的团队比那种虽拥有技术精英,但不能有协作的团队比那种虽拥有技术精

44、英,但不能有效沟通的团队更有可能取得成功。效沟通的团队更有可能取得成功。56谢谢观赏2019-6-30l工具虽然重要,但那种最先进的、大而复杂的工具虽然重要,但那种最先进的、大而复杂的工具不一定适合组织的需要,而且可能会给组工具不一定适合组织的需要,而且可能会给组织带来负面影响。织带来负面影响。l先尝试小而灵便的工具。先尝试小而灵便的工具。l首先要致力于建立团队,然后让团队根据自己首先要致力于建立团队,然后让团队根据自己的需要配置工具环境。的需要配置工具环境。57谢谢观赏2019-6-30l过多的文档会带来许多负面影响。需花费许多过多的文档会带来许多负面影响。需花费许多资源来产生这些文档并保持

45、它们之间的一致性资源来产生这些文档并保持它们之间的一致性(特别是文档与编码之间的一致性)。如果不(特别是文档与编码之间的一致性)。如果不一致,文档将成为产生混乱的根源。一致,文档将成为产生混乱的根源。l应该书写一些文档来描述系统的基本结构和原应该书写一些文档来描述系统的基本结构和原理,但文档一定要短而精炼,只用来描述总体理,但文档一定要短而精炼,只用来描述总体设计原理和最高层次的系统结构。设计原理和最高层次的系统结构。l代码已包含了最丰富的、且无歧义的系统信息。代码已包含了最丰富的、且无歧义的系统信息。58谢谢观赏2019-6-30l当有新的成员加入项目团队,通过与他不断地当有新的成员加入项目

46、团队,通过与他不断地交流和密切地合作来使他熟悉当前项目,而不交流和密切地合作来使他熟悉当前项目,而不是让他阅读大量文档。是让他阅读大量文档。l不要去产生文档,除非有紧迫而明显的需求。不要去产生文档,除非有紧迫而明显的需求。59谢谢观赏2019-6-30l软件项目的成功依赖于客户频繁的反馈,而不软件项目的成功依赖于客户频繁的反馈,而不是依赖于与客户达成的合同或协议。是依赖于与客户达成的合同或协议。l合同中所规定的需求、进度和成本很容易变得合同中所规定的需求、进度和成本很容易变得没有意义,因为项目处在持续不断的变化中。没有意义,因为项目处在持续不断的变化中。l客户必须每天与开发团队一起工作,对开发

47、团客户必须每天与开发团队一起工作,对开发团队的工作及时提供反馈。队的工作及时提供反馈。60谢谢观赏2019-6-30l由于项目中存在很多不确定因素,应对变化的由于项目中存在很多不确定因素,应对变化的能力常常决定了项目的成败。能力常常决定了项目的成败。l计划必须是灵活的,能够适应业务和技术的变计划必须是灵活的,能够适应业务和技术的变化。化。l一个比较好的计划策略是:对未来两星期的工一个比较好的计划策略是:对未来两星期的工作制定详细的计划;对未来作制定详细的计划;对未来3个月的工作制定个月的工作制定很粗略的计划;对更远的时间段,则制定最初很粗略的计划;对更远的时间段,则制定最初级的计划。级的计划。

48、61谢谢观赏2019-6-30l由敏捷软件开发宣言的思想衍生出敏捷软件开由敏捷软件开发宣言的思想衍生出敏捷软件开发的发的12条原则。条原则。(1)我们最优先要做的是通过尽早地、持续地我们最优先要做的是通过尽早地、持续地交付有价值的软件来满足客户的需要。交付有价值的软件来满足客户的需要。w 有统计数字表明,越早、越频繁地向用户交有统计数字表明,越早、越频繁地向用户交付软件,软件的质量就越好。付软件,软件的质量就越好。w 敏捷开发方法力求项目开始几周后,就向用敏捷开发方法力求项目开始几周后,就向用户交付一个最初的系统,以后每隔两周就交户交付一个最初的系统,以后每隔两周就交付一个增加了功能的系统。付

49、一个增加了功能的系统。62谢谢观赏2019-6-30w对于每次交付的软件,客户可以将其投入应对于每次交付的软件,客户可以将其投入应用,如果软件的功能还不足以满足应用的需用,如果软件的功能还不足以满足应用的需要,就只对其进行审查,并提出修改意见。要,就只对其进行审查,并提出修改意见。63谢谢观赏2019-6-30(2)欢迎需求的变化,即使到了开发的后期。敏欢迎需求的变化,即使到了开发的后期。敏捷过程能够驾驭变化,为客户创造竞争优势。捷过程能够驾驭变化,为客户创造竞争优势。w 使用敏捷过程的开发组织欢迎需求的变化,使用敏捷过程的开发组织欢迎需求的变化,因为他们认为需求变化可以让它们更多地了因为他们

50、认为需求变化可以让它们更多地了解市场。解市场。w 敏捷开发组织采用各种方法和技术,使软件敏捷开发组织采用各种方法和技术,使软件的结构高度灵活,需求的变化对系统的影响的结构高度灵活,需求的变化对系统的影响被最小化。被最小化。64谢谢观赏2019-6-30(3)频繁交付可以工作的软件,从几个星期到频繁交付可以工作的软件,从几个星期到几个月,时间越短越好。几个月,时间越短越好。w 敏捷开发组织不满足于交付文档和计划,他敏捷开发组织不满足于交付文档和计划,他们的目标是频繁地交付可以工作的软件,从们的目标是频繁地交付可以工作的软件,从而满足客户的需要。而满足客户的需要。65谢谢观赏2019-6-30(4

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(软件项目管理.pptx课件.pptx)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|