第六章软件项目的时间管理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
§ 对于软件开发项目来说,人力资源是核心力 量,因为软件开发不同于其它类型的项目, 除了电脑它不需要利用其它工具,最终结果 的产生完全取决于人脑中的知识,这也是知 识经济的最大特点 。
PPT文档演模板
第六章软件项目的时间管理
§ 软件开发周期估算前,应对开发人员定级, 建议按新手、初级程序员、中级程序员、高 级程序员来划分,每一级人员再评定上述三 个因素,初次估算时可以假定开发人员为中 级程序员,然后依据项目组实际人员的水平 做修正,这样结果的精确度能大大提高
PPT文档演模板
第六章软件项目的时间管理
客户风险
§ 客户风险存在于客户化项目中,不同行业的 客户特点不尽相同,技术、理解水平也相差 甚远,在开发的项目中,大约80%的项目延 期属于客户方的原因,而且这种风险可控性 很低,对项目影响超过技术风险。
PPT文档演模板
第六章软件项目的时间管理
3、估算与人力资源
PPT文档演模板
第六章软件项目的时间管理
§ 国外发达国家在软件估算上比国内要成熟的 多,不仅有很多先进方法比如代码行估算法、
功能点估算法、人力估算法,而且形成了专
业化的估算工具来辅助这项工作,比如微软 公司开发的项目管理工具软件Project,加拿 大Software Productivity Center Inc.公司开发 的Estimate,都是比较成熟的估算辅助工具。
第六章软件项目的时间管理
第一节 项目时间管理概述
PPT文档演模板
第六章软件项目的时间管理
•学习目的:怎样合理的利用时间,按计划或者提前完成任务 ?
案例1:请朋友回家吃“工作餐”
拌凉菜 § 红烧鱼 § 炒青菜 § 鸡蛋汤 § 米饭
5分钟 30分钟 10分钟 15分钟 20分钟
(任务)
§ 4:30
下班
estimating) 任务资源估计 制定进度计划(Schedule development) 进度控制(Schedule control)-项目跟踪
PPT文档演模板
第六章软件项目的时间管理
活动定义(Defining Activities)
确定为完成项目的各个交付成果 所必须进行的诸项具体活动
PPT文档演模板
PPT文档演模板
第六章软件项目的时间管理
第二节 软件项目开发周期的估算
PPT文档演模板
第六章软件项目的时间管理
一、概述
§ 软件开发周期估算是IT人员经常提到的一个 概念,那么究竟什么是软件开发周期估算呢? 我们可以把它定义如下:根据软件的开发内 容、开发工具、开发人员等因素对需求调研、 程序设计、编码、测试等整个开发过程所花 费的时间做的预测。
PPT文档演模板
第六章软件项目的时间管理
三、软件估算中的因素探讨
§ 软件开发是一项非常复杂的工程,不仅包含 需求分析、设计、编码、测试、实施、维护 等完整的过程,还涉及到开发工具、开发人 员、项目管理、风险等众多因素,不同因素 对估算产生的影响不尽相同,在进行软件估 算时(包括利用工具辅助估算)必须考虑到 这些方面,否则最终结果就会和实际结果有 很大的偏差,影响项目控制,以下对其中几 个常见的因素做一些探讨。
PPT文档演模板
第六章软件项目的时间管理
1、估算与软件规模
§ 软件规模通常指的是软件的大小,这可以通 过不同的方式来描述,比如程序代码行的长 度、功能函数的数量、数据库中表的数量、 数据库的大小等等。
PPT文档演模板
第六章软件项目的时间管理
表一
PPT文档演模板
第六章软件项目的时间管理
§ 从表一中可以看出,模块的代码行越长,开 发周期就越长,对同一开发工具而言基本是 一个线形关系,但其中也要考虑代码重用问 题,比如一个模块代码很长,但是可能包含 了很多公用函数,那么在估算时就应适当减 少代码行数量
§
§ 7:00—10:00加班
§ 电饭煲,双头煤气灶
(制约条件)
• 最长工作流程:
• 无项目管理经验——拌凉菜→ 洗鱼→烧鱼→洗米→煮饭→洗 菜→炒菜→做汤。
• 有项目管理经验——合理的工
作程序使任务提前至35分钟完
成,而不是70分钟!
•课堂练习:请您设计一下工作流程
PPT文档演模板
第六章软件项目的时间管理
PPT文档演模板
第六章软件项目的时间管理
4、历史数据估算法的运用
§ 依据历史数据估算软件开发周期是一种比较 常见的方法,这种方法以历史软件开发周期 为依据,在估算时把当前软件项目的情况与 历史数据加以对比,从而得出最终结果。
PPT文档演模板
第六章软件项目的时间管理
§ 在实际使用历史数据估算法时,建议项目经 理建立一个历史项目数据库,在库中包含以
order to use critical path analysis
PPT文档演模板
第六章软件项目的时间管理
第四节 进度管理图示
PPT文档演模板
第六章软件项目的时间管理
进度管理图示
网络图 甘特图 里程碑图 资源图
PPT文档演模板
第六章软件项目的时间管理
网络图
鸡蛋汤 闷米饭
PPT文档演模板
第六章软件项目的时间管理
•2)实施项目管理后--从WBS到前导图(流程图)
•WBS
•000 •晚餐WBS
•010 •拌凉菜 •020 •红烧鱼 •030 •炒青菜 •040 •鸡蛋汤 •050 •焖米饭
•Network
•Start •0
•5 •010
PPT文档演模板
•3 •020 0
前所有项目的开发周期、项目规模、开发人
员状况、客户状况等详细数据,当估算时根
据当前项目的状况在库中寻找最类似的历史
项目,然后再比较两个项目之间在项目规模、
项目风险、人力资源之间的区别,我们假定 历史项目开发周期为A当前项目的周期可以依 据下列公式得出:
PPT文档演模板
第六章软件项目的时间管理
§ B=A×(2×S+R+P+2×C)/6
第六章软件项目的时间 管理
PPT文档演模板
2020/11/28
第六章软件项目的时间管理
学习目标:
§ 1、软件项目时间管理概述 § 2、如何估算软件开发周期 § 3、掌握关键路径法 § 4、如何安排软件项目的进度 § 5、如何有效地控制软件开发周期 § 6、软件项目进度延期的关键因素与应对措施
PPT文档演模板
PPT文档演模板
第六章软件项目的时间管理
任务(活动)之间的关系
•A
•B
•结束-开始
•A
•B
•开始-开始
PPT文档演模板
•A
•B
•结束-结束
•A
•B
•开始-结束
第六章软件项目的时间管理
任务(活动)之间排序的依据
强制性依赖关系 软逻辑关系 外部依赖关系 里程碑
You must determine dependencies in
第六章软件项目的时间管理
活动定义
•软件产品
•功能1
•功能2
•功能3
•功能2-子功能1
•功能2-子功能2
•功能2-子功能3
PPT文档演模板
•活动1
•活动2
第六章软件项目的时间管理
项目活动排序
项目各项活动之间存在相互联系与相互依赖 关系,
根据这些关系进行适当的顺序安排
前置活动(任务)---〉后置活动(任务)
PPT文档演模板
第六章软件项目的时间管理
二、国内外软件估算比较
§ 国内软件开发的管理目前正逐步向规范化发 展,但是在开发周期的估算上绝大部分还是 处于手工作坊的状态。
§ 所谓的手工作坊指两个方面,一方面是管理 人员意识上没有认识到估算的重要性 ,另一 方面也没有专门的工具来辅助估算,或者说 没有专门对它进行研究。
40分
50分
5:50至 6:00-
60分
6:00至6: 6:10
10-
至6:
20-
70分
80分
拌凉莱 红烧鱼
炒青莱 鸡蛋汤 闷米饭
PPT文档演模板
第六章软件项目的时间管理
§ 项目时间管理常被引述为项目冲突的主要根 源。大多数IT项目超过了时间估计。
§ 时间管理涉及的主要过程包括活动定义、活 动排序、活动历时估算、进度计划制定和进 度控制。
•1) 学习项目管理前(时间坐标在上的甘特图
) 时间
5:00 至5:
10-
5:10至5:5:20至 5:30至 5:40至 5:50至
20-
5:30 5:40 5:50- 6:00-
6:00至 6:10-
6:10至 6:20-
项目 10分
20分
30分
40分
50分
60分
70分
80分
拌凉莱
红烧鱼
炒青菜
PPT文档演模板
第六章软件项目的时间管理
§ 软件项目的潜在风险对于开发周期的影响在 很多情况下是非常大的,当然好的项目控制 会最大限度的减少这种影响,绝对避免是不 可能的,所以在开发周期估算时项目风险应 该适当考虑,尤其是技术风险和客户风险。
PPT文档演模板
第六章软件项目的时间管理
技术风险
§ 技术风险主要来自于软件本身的技术难度, 如果对于一套成熟的产品,定制开发的技术 风险相对非常小,因为重要的技术已经成型, 客户也很少有新的能带来高难度技术问题的 需求,这种风险可以不予考虑。但是对于完 全重新开发的项目,或是研发类的项目,技 术风险必须特别重视。
PPT文档演模板
第六章软件项目的时间管理
表二
PPT文档演模板
第六章软件项目的时间管理
§ 表二是软件项目的实际开发周期(不考虑系 统实施),从普通意义上说软件项目中包含 的功能模块越多、越复杂,或者说软件越大 开发周期增长的就越快,这个时间绝不是模 块开发时间的简单叠加,因为模块功能数量 的增加直接带来了软模块间相互关联度、复 杂度的成倍增加,这就直接导致了在需求、 设计等阶段需要花费更多的时间,这比单独 考虑一个模块复杂的多。
§ 4、项目经理对开发人员估算的时间进行确认。
PPT文档演模板
第六章软件项目的时间管理
第三节 进度管理的基本概念
PPT文档演模板
第六章软件项目的时间管理
ቤተ መጻሕፍቲ ባይዱ
进度管理的主要过程:
§ 首先根据任务分解的结果(WBS)再进一步 分解出主要的活动,确立活动之间的关联关 系,然后估算出每个活动的历时,最后编制 出项目的进度计划,在项目跟踪控制的时候 以此为基准进行进度控制。
§ 二、模块分配和开发时间估算的步骤:
§ 1、作为项目经理划分好模块后,应先估算一下每 个模块所需要的开发时间。
§ 2、召集所有开发人员,讨论模块分配和开发时间 估算。
§ 3、模块分配完后,开发人员评估自己负责开发的 模块所需要的时间。在此过程中应比较详细的讨论 每个模块的技术实现,以便使时间的估算更加准确。
PPT文档演模板
第六章软件项目的时间管理
进度的定义
▪ 进度是对执行的活动和里程碑制定的工作计 划日期表
PPT文档演模板
第六章软件项目的时间管理
进度管理定义
进度管理是为了确保项目按期完成所需要的 过程.
PPT文档演模板
第六章软件项目的时间管理
软件项目进度(时间)管理过程
活动定义(Activity definition) 活动排序(Activity sequencing) 活动历时估计(Activity duration
PPT文档演模板
第六章软件项目的时间管理
2、估算与项目风险
§ 任何一个项目都或多或少存在风险,软件项 目开发过程中也避免不了这种情况而且有这 类项目自己的特点,最常见的风险有以下几 种:技术风险,项目技术难度很大,花费的 时间超过原先的估计;客户风险,客户需求 不定,增加需求,组织协调不畅;人员风险, 开发人员突然更换、离职;管理风险,项目 经理管理不善、决策失误。
§S:代表软件规模 R:代表风险 P:代表人力 资源 C:代表客户
PPT文档演模板
第六章软件项目的时间管理
四、模块的分配
§ 一、在分配模块时,需要把握的原则和目标: § 1、保证项目整体的进度。 § 2、有助于确保开发编码的质量。 § 3、有助于提高开发编码的速度。
PPT文档演模板
第六章软件项目的时间管理
•030 •10
•040 •15
•Finish•35
•20 •050
•关键路径?
第六章软件项目的时间管理
•3)实施项目管理后--快速跟进法 • (时间坐标在上的甘特图)
时间 项目
5:00至 5:10至 5:20至 5:10 5:20 5:30
10分
20分
30分
5:30至 5:40至 5:40 5:50-
PPT文档演模板
第六章软件项目的时间管理
§ 1、活动定义涉及确定为产生项目可交付成果 而必须进行的具体活动
§ 2、活动排序确定活动之间的关系或依赖关系, 为了应用关键路径分析,必须进行活动排序。
§ 3、活动历时估算对完成各项活动所花费的时 间进行估算。这些时间估算包括实际工作时 间加间歇时间。
§ 4、尽管进度计划制定技术很重要,但是大多 数项目的失败是由于人的问题,而不是没有 画出一幅漂亮的PERT图。
相关文档
最新文档