第六章软件项目的时间管理课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第六章软件项目的时间管理课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第六 软件 项目 时间 管理 课件
- 资源描述:
-
1、2023-1-10第六章软件项目的时间管理第六章软件项目的时间第六章软件项目的时间管理管理第六章软件项目的时间管理学习目标:学习目标:1、软件项目时间管理概述、软件项目时间管理概述 2、如何估算软件开发周期、如何估算软件开发周期 3、掌握关键路径法、掌握关键路径法 4、如何安排软件项目的进度、如何安排软件项目的进度 5、如何有效地控制软件开发周期、如何有效地控制软件开发周期 6、软件项目进度延期的关键因素与应对措施、软件项目进度延期的关键因素与应对措施第六章软件项目的时间管理第一节第一节 项目时间管理概述项目时间管理概述第六章软件项目的时间管理案例案例1 1:请朋友回家吃:请朋友回家吃“工作餐
2、工作餐”拌凉菜 5分钟红烧鱼 30分钟炒青菜 10分钟 (任务)鸡蛋汤 15分钟米饭 20分钟4:30 下班 (制约条件)7:0010:00加班电饭煲,双头煤气灶最长工作流程:最长工作流程:无项目管理经验无项目管理经验拌凉菜洗鱼烧鱼洗米煮饭洗菜炒菜做汤。有项目管理经验有项目管理经验合理的工作程序使任务提前至35分钟完成,而不是70分钟!课堂练习课堂练习:请您设计一下工作流程请您设计一下工作流程学习目的:怎样合理的利用时间,按计划或者提前完成任务学习目的:怎样合理的利用时间,按计划或者提前完成任务?第六章软件项目的时间管理80分70分60分50分40分30分20分10分闷米饭鸡蛋汤炒青菜红烧鱼拌
3、凉莱6:10至6:20-6:00至6:10-5:50至6:00-5:40至5:50-5:30至5:405:20至5:305:10至5:20-5:00至5:10-时间项目1)1)学习项目管理前学习项目管理前(时间坐标在上的甘特图时间坐标在上的甘特图)第六章软件项目的时间管理2 2)实施项目管理后)实施项目管理后-从从WBSWBS到前导图(流程图)到前导图(流程图)Start010030040Finish050晚餐WBS020010WBSNetwork050040030020拌凉菜红烧鱼炒青菜鸡蛋汤焖米饭510153020035000关键路径关键路径?第六章软件项目的时间管理80分70分60分50
4、分40分30分20分10分闷米饭鸡蛋汤炒青莱红烧鱼拌凉莱6:10至6:20-6:00至6:10-5:50至6:00-5:40至5:50-5:30至5:405:20至5:305:10至5:205:00至5:10 时间项目3)3)实施项目管理后实施项目管理后-快速跟进法快速跟进法 (时间坐标在上的甘特图时间坐标在上的甘特图)第六章软件项目的时间管理 项目时间管理常被引述为项目冲突的主要根源。大多数IT项目超过了时间估计。时间管理涉及的主要过程包括活动定义、活动排序、活动历时估算、进度计划制定和进度控制。第六章软件项目的时间管理 1、活动定义涉及确定为产生项目可交付成果而必须进行的具体活动 2、活动
5、排序确定活动之间的关系或依赖关系,为了应用关键路径分析,必须进行活动排序。3、活动历时估算对完成各项活动所花费的时间进行估算。这些时间估算包括实际工作时间加间歇时间。4、尽管进度计划制定技术很重要,但是大多数项目的失败是由于人的问题,而不是没有画出一幅漂亮的PERT图。第六章软件项目的时间管理第二节第二节 软件项目开发周期的估算软件项目开发周期的估算第六章软件项目的时间管理一、概述一、概述 软件开发周期估算是IT人员经常提到的一个概念,那么究竟什么是软件开发周期估算呢?我们可以把它定义如下:根据软件的开发内根据软件的开发内容、开发工具、开发人员等因素对需求调研、容、开发工具、开发人员等因素对需
6、求调研、程序设计、编码、测试等整个开发过程所花程序设计、编码、测试等整个开发过程所花费的时间做的预测。费的时间做的预测。第六章软件项目的时间管理二、国内外软件估算比较二、国内外软件估算比较 国内软件开发的管理目前正逐步向规范化发展,但是在开发周期的估算上绝大部分还是处于手工作坊的状态。所谓的手工作坊指两个方面,一方面是管理人员意识上没有认识到估算的重要性,另一方面也没有专门的工具来辅助估算,或者说没有专门对它进行研究。第六章软件项目的时间管理 国外发达国家在软件估算上比国内要成熟的多,不仅有很多先进方法比如代码行估算法、功能点估算法、人力估算法,而且形成了专业化的估算工具来辅助这项工作,比如微
7、软公司开发的项目管理工具软件Project,加拿大Software Productivity Center Inc.公司开发的Estimate,都是比较成熟的估算辅助工具。第六章软件项目的时间管理三、软件估算中的因素探讨三、软件估算中的因素探讨 软件开发是一项非常复杂的工程,不仅包含需求分析、设计、编码、测试、实施、维护等完整的过程,还涉及到开发工具、开发人员、项目管理、风险等众多因素,不同因素对估算产生的影响不尽相同,在进行软件估算时(包括利用工具辅助估算)必须考虑到这些方面,否则最终结果就会和实际结果有很大的偏差,影响项目控制,以下对其中几个常见的因素做一些探讨。第六章软件项目的时间管理1
8、、估算与软件规模、估算与软件规模 软件规模通常指的是软件的大小,这可以通过不同的方式来描述,比如程序代码行的长度、功能函数的数量、数据库中表的数量、数据库的大小等等。第六章软件项目的时间管理表一第六章软件项目的时间管理 从表一中可以看出,模块的代码行越长,开发周期就越长,对同一开发工具而言基本是一个线形关系,但其中也要考虑代码重用问题,比如一个模块代码很长,但是可能包含了很多公用函数,那么在估算时就应适当减少代码行数量 第六章软件项目的时间管理表二第六章软件项目的时间管理 表二是软件项目的实际开发周期(不考虑系统实施),从普通意义上说软件项目中包含的功能模块越多、越复杂,或者说软件越大开发周期
9、增长的就越快,这个时间绝不是模块开发时间的简单叠加,因为模块功能数量的增加直接带来了软模块间相互关联度、复杂度的成倍增加,这就直接导致了在需求、设计等阶段需要花费更多的时间,这比单独考虑一个模块复杂的多。第六章软件项目的时间管理2、估算与项目风险、估算与项目风险 任何一个项目都或多或少存在风险,软件项目开发过程中也避免不了这种情况而且有这类项目自己的特点,最常见的风险有以下几种:技术风险,项目技术难度很大,花费的时间超过原先的估计;客户风险,客户需求不定,增加需求,组织协调不畅;人员风险,开发人员突然更换、离职;管理风险,项目经理管理不善、决策失误。第六章软件项目的时间管理 软件项目的潜在风险
10、对于开发周期的影响在很多情况下是非常大的,当然好的项目控制会最大限度的减少这种影响,绝对避免是不可能的,所以在开发周期估算时项目风险应该适当考虑,尤其是技术风险和客户风险。第六章软件项目的时间管理技术风险 技术风险主要来自于软件本身的技术难度,如果对于一套成熟的产品,定制开发的技术风险相对非常小,因为重要的技术已经成型,客户也很少有新的能带来高难度技术问题的需求,这种风险可以不予考虑。但是对于完全重新开发的项目,或是研发类的项目,技术风险必须特别重视。第六章软件项目的时间管理客户风险 客户风险存在于客户化项目中,不同行业的客户特点不尽相同,技术、理解水平也相差甚远,在开发的项目中,大约80%的
11、项目延期属于客户方的原因,而且这种风险可控性很低,对项目影响超过技术风险。第六章软件项目的时间管理3、估算与人力资源、估算与人力资源 对于软件开发项目来说,人力资源是核心力量,因为软件开发不同于其它类型的项目,除了电脑它不需要利用其它工具,最终结果的产生完全取决于人脑中的知识,这也是知识经济的最大特点。第六章软件项目的时间管理 软件开发周期估算前,应对开发人员定级,建议按新手、初级程序员、中级程序员、高级程序员来划分,每一级人员再评定上述三个因素,初次估算时可以假定开发人员为中级程序员,然后依据项目组实际人员的水平做修正,这样结果的精确度能大大提高 第六章软件项目的时间管理4、历史数据估算法的
12、运用、历史数据估算法的运用 依据历史数据估算软件开发周期是一种比较常见的方法,这种方法以历史软件开发周期为依据,在估算时把当前软件项目的情况与历史数据加以对比,从而得出最终结果。第六章软件项目的时间管理 在实际使用历史数据估算法时,建议项目经理建立一个历史项目数据库,在库中包含以前所有项目的开发周期、项目规模、开发人员状况、客户状况等详细数据,当估算时根据当前项目的状况在库中寻找最类似的历史项目,然后再比较两个项目之间在项目规模、项目风险、人力资源之间的区别,我们假定历史项目开发周期为A当前项目的周期可以依据下列公式得出:第六章软件项目的时间管理 B=A(2S+R+P+2C)/6 S:代表软件
13、规模 R:代表风险 P:代表人力资源 C:代表客户 第六章软件项目的时间管理四、模块的分配四、模块的分配 一、在分配模块时,需要把握的原则和目标:一、在分配模块时,需要把握的原则和目标:1、保证项目整体的进度。、保证项目整体的进度。2、有助于确保开发编码的质量。、有助于确保开发编码的质量。3、有助于提高开发编码的速度。、有助于提高开发编码的速度。第六章软件项目的时间管理 二、模块分配和开发时间估算的步骤:二、模块分配和开发时间估算的步骤:1、作为项目经理划分好模块后,应先估算一下每、作为项目经理划分好模块后,应先估算一下每个模块所需要的开发时间。个模块所需要的开发时间。2、召集所有开发人员,讨
14、论模块分配和开发时间、召集所有开发人员,讨论模块分配和开发时间估算。估算。3、模块分配完后,开发人员评估自己负责开发的模块所需要的时间。在此过程中应比较详细的讨论每个模块的技术实现,以便使时间的估算更加准确。4、项目经理对开发人员估算的时间进行确认。第六章软件项目的时间管理第三节第三节 进度管理的基本概念进度管理的基本概念第六章软件项目的时间管理进度管理的主要过程:首先根据任务分解的结果(WBS)再进一步分解出主要的活动,确立活动之间的关联关系,然后估算出每个活动的历时,最后编制出项目的进度计划,在项目跟踪控制的时候以此为基准进行进度控制。第六章软件项目的时间管理进度的定义 进度是对执行的活动
15、和里程碑制定的工作计划日期表第六章软件项目的时间管理进度管理定义q进度管理是为了确保项目按期完成所需要的过程.第六章软件项目的时间管理软件项目进度(时间)管理过程q活动定义(Activity definition)q活动排序(Activity sequencing)q活动历时估计(Activity duration estimating)q任务资源估计q制定进度计划(Schedule development)q进度控制(Schedule control)-项目跟踪第六章软件项目的时间管理活动定义(Defining Activities)q确定为完成项目的各个交付成果所必须进行的诸项具体活动第六
16、章软件项目的时间管理活动定义活动1活动2功能1软件产品功能2-子功能2功能2功能3功能2-子功能1功能2-子功能3第六章软件项目的时间管理项目活动排序q项目各项活动之间存在相互联系与相互依赖关系,q根据这些关系进行适当的顺序安排前置活动(任务)前置活动(任务)-后置活动(任务)后置活动(任务)第六章软件项目的时间管理任务(活动)之间的关系ABAB结束-开始结束-结束AB开始-开始AB开始-结束第六章软件项目的时间管理任务(活动)之间排序的依据q强制性依赖关系q软逻辑关系q外部依赖关系q里程碑You You mustmust determine dependencies in determine
17、 dependencies in order to use critical path order to use critical path analysisanalysis第六章软件项目的时间管理第四节第四节 进度管理图示进度管理图示第六章软件项目的时间管理进度管理图示q网络图q甘特图q里程碑图q资源图第六章软件项目的时间管理网络图q网络图是活动排序的一个输出q展示项目中的各个活动以及活动之间的逻辑关系 q网络图可以表达活动的历时第六章软件项目的时间管理网络图图例第六章软件项目的时间管理常用的网络图qPDM(Precedence Diagramming Method)q优先图法,节点法(单代
18、号)网络图qADM(Arrow Diagramming Method)q箭线法(双代号)网络图第六章软件项目的时间管理PDM图例开始活动1活动3活动2结束第六章软件项目的时间管理PDM(Precedence Diagramming Method)q构成PDM网络图的基本特点是节点(Box)q节点(Box)表示活动(工序,工作)q用箭线表示各活动(工序,工作)之间的逻辑关系.q可以方便的表示活动之间的各种逻辑关系。q在软件项目中PDM比ADM更通用第六章软件项目的时间管理PDM(Precedence Diagramming Method)-优先图法优先图法图例开始需求获取项目规划需求确认项目计
19、划评审总体设计详细设计系统测试集成测试编码结束第六章软件项目的时间管理ADM图例总体设计需求确认需求获取系 统测试集 成测试编码详细设计计划评审项目规划123698754第六章软件项目的时间管理ADM(Arrow Diagramming Method)qADM也称为AOA(activity-on-arrow)或者双代号项目网络图,q在ADM网络图中,箭线表示活动(工序工作),q节点Node(圆圈:circle)表示前一道工序的结束,同时也表示后一道工序的开始.q只适合表示结束-开始的逻辑关系第六章软件项目的时间管理ADM图例-虚活动q虚活动q为了定义活动q为了表示逻辑关系q不消耗资源的12AB
20、231AB第六章软件项目的时间管理甘特图-实例第六章软件项目的时间管理甘特图q显示基本的任务信息q可以查看任务的工期、开始时间和结束时间以及资源的信息。q只有时标,没有活动的逻辑关系第六章软件项目的时间管理里程碑图示SpecificationDesign08/9811/98Testing02/995/99AvailableCoding9/0011/00Announce第六章软件项目的时间管理里程碑图示第六章软件项目的时间管理里程碑图示q里程碑显示项目进展中的重大工作完成q里程碑不同于活动q活动是需要消耗资源的q里程碑仅仅表示事件的标记第六章软件项目的时间管理资源图第六章软件项目的时间管理第五节
21、第五节 进度编制的基本方法关键路径法第六章软件项目的时间管理编制项目进度计划q确定项目的所有活动及其开始和结束时间q计划是三维的,考虑时间,费用和资源q监控项目实施的基础,它是项目管理的基准第六章软件项目的时间管理编制项目进度计划步骤进度编制资源调整成本预算计划优化调整计划基线第六章软件项目的时间管理关键路径法 CPM:Critical Path Method 根据指定的网络图逻辑关系和单一的历时估算,计算每一个活动的单一的、确定的最早和最迟开始和完成日期。计算浮动时间 计算网络图中最长的路径。确定项目完成时间第六章软件项目的时间管理网络图中任务进度时间参数说明q最早开始时间(Early St
展开阅读全文