版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、0软件开发项目管理1承上启下承上启下 配配置管置管 理理计划计划 合合同同 计计划划 风风险险计计划划 沟通沟通 计划计划 质质量量计计划划 成成本本 计计划划 时间时间计划计划 集成集成 计划计划 范范围围计计划划 项目项目结束结束 项目执项目执 行控制行控制 项目项目 计划计划 项目项目初始初始 人人力力 计计划划 2时间计划时间计划 配配置管置管 理理计划计划 合合同同 计计划划 风风险险计计划划 沟通沟通 计划计划 质质量量计计划划 成成本本 计计划划 时间时间计划计划 集成集成 计划计划 范范围围计计划划 项目项目结束结束 项目执项目执 行控制行控制 项目项目 计划计划 项目项目初始
2、初始 人人力力 计计划划 3项目进度计划项目进度计划4第第3 3章章 软件项目进度计划软件项目进度计划进度管理是软件项目管理中最重要的部分之一。进度管理的主要目标是:最短时间、最小成本、最小风险,即在给定的限制条件下,用最短时间、最少成本,以最小风险完成项目工作。53.1 3.1 关于进度估算关于进度估算n时间是一种特殊的资源,以其单向性、不可重复性、不可替代性而有别于其他资源。如项目的资金不够,还可以贷款,可以集资等n对于一个项目管理者,应该定义所有的项目任务,识别出关键任务,跟踪关键任务的进展情况,同时,能够及时发现拖延进度的情况。为此,管理者必须制定一个足够详细的进度表。q进度是对执行的
3、活动和里程碑制定的工作计划日期表q项目进度的主要过程:首先根据任务分解的结果(WBS)再进一步分解出主要的任务(活动)确立任务(活动)之间的关联联系,然后估算出每个任务所需要的资源、历时,最后编制出项目的进度计划63.2 3.2 任务定义任务定义q任务定义是一个过程,它涉及确认和描述一些特定的活动,完成了这些活动就意味着完成了WBS结构中项目细目和子项目。q进度管理是为了确保项目按期完成所需要的过程.活动1活动2功能1软件产品功能2-子功能2功能2功能3功能2-子功能1功能2-子功能373.3 3.3 任务关联关系任务关联关系q任务定义之后,接下来需要确定任务之间的关系。为了进一步制定切实可行
4、的进度计划,必须对任务进行适当的顺序安排。它是通过分析所有的任务、项目的范围说明以及里程碑等信息来确定各任务之间的关系。83.3.1 3.3.1 任务之间的关系任务之间的关系q项目任务(活动)之间存在相互联系与相互依赖关系,根据这些关系安排各项活动的先后顺序。任务之间的关系主要有4种,如下图所示:q结束-开始:A任务在B任务开始前结束q开始-开始:A任务开始,B任务才可以开始q结束-结束:A任务结束,B任务才可以结束q开始-结束:A任务开始,B任务才可以结束ABAB结束-开始结束-结束AB开始-开始AB开始-结束93.3.2 3.3.2 任务关联关系的依据任务关联关系的依据q确定任务关联关系的
5、依据主要有以下几种:q强制性依赖关系:是工作任务中固有的依赖关系,是一种不可违背的逻辑关系,又称硬逻辑关系q软逻辑关系:是由项目管理人员确定的项目活动之间的关系,是人为的、主观的,是一种根据主观意识q外部依赖关系:是项目活动与非项目活动之间的依赖关系,如环境测试依赖于外部提供的环境设备等103.4 3.4 进度管理图示进度管理图示q软件项目进度管理的图示有很多,如:q甘特图q网络图q里程碑图q资源图113.4.1 3.4.1 甘特图甘特图q甘特图可以显示基本的任务信息,使用甘特图可以查看任务的工期、开始时间和结束时间以及资源的信息。q甘特图有两种表示法,任务排列在垂直轴,时间排列在水平轴。q一
6、种是棒状图,一种是三角形甘特图三角形甘特图棒状图甘特图12甘特图甘特图- -实例实例133.4.2 3.4.2 网络图网络图q网络图是活动排序的一个输出q展示项目中的各个活动以及活动之间的逻辑关系 q网络图可以表达活动的历时q常用的网络图有:qPDM (Precedence Diagramming Method )q优先图法 ,节点法 (单代号)网络图qADM (Arrow Diagramming Method )q箭线法 (双代号)网络图141. PDM1. PDM图例图例开始活动1活动3活动2结束nPDM(Procedence Diagramming Method)网络图称优网络图称优先图
7、法或者单代号网络图。构成单代号网络图先图法或者单代号网络图。构成单代号网络图的基本特点是节点,节点表示任务(活动),的基本特点是节点,节点表示任务(活动),用箭头表示任务之间的逻辑关系。如下图所示:用箭头表示任务之间的逻辑关系。如下图所示:15PDM-PDM-优先图法实例优先图法实例开始(1)需 求获 取(3)项 目规划(2)需 求确 认(4)项 目计 划评 审(5)总 体设计(6)详 细设计(7)系 统测 试(10)集 成测试(9)编码(8)结束(11)162. ADM2. ADM网络图网络图qADM ( Arrow Diagramming Method )也称为箭线法或者双代号项目网络图,
8、q在ADM网络图中,箭线表示活动(工序工作),q节点Node(圆圈:circle)表示前一道工序的结束,同时也表示后一道工序的开始.q只适合表示结束-开始的逻辑关系q有时为了表示逻辑关系,需要设置一个虚活动,虚活动是不需要时间和资源的,一般有用虚箭线表示总体设计需求确认需求获取系统测试集成测试编码详细设计计划评审项目规划12369875417ADMADM图例图例- -虚活动虚活动q图中的ADM网络图是不正确的,因为在ADM图中,代号1和代号2之间只能有一个任务,或者任务A或者任务B。为了解决这个问题,需要引入虚活动,如下图:12AB231AB183.4.3 3.4.3 里程碑图示里程碑图示q里
9、程碑图是由一系列的里程碑事件组成的q里程碑事件:往往是一个时间要求为零的任务,就是说他并非是一个实实在在要完成的任务,而是一个标志性事件,如:软件开发项目中“测试”是一个子任务,”专项测试报告”也是一个子任务,但“完成测试报告”不是子任务,但可增加“完成测试报告”这个子任务做里程碑事件q里程碑显示项目进展中的重大工作完成q里程碑不同于活动q活动是需要消耗资源的q里程碑仅仅表示事件的标记规划需求08/9811/98实施02/995/99提交设计9/0011/00测试19里程碑图示里程碑图示203.4.4 3.4.4 资源图资源图资 源 图05 01 0 01 5 02 0 02 5 013579
10、1 11 31 5时 间 ( 周 )资源(工时)n资源图用来表示项目进展过程中资源的分配情况,资源图用来表示项目进展过程中资源的分配情况,这个资源包括人力资源、设备资源等。这个资源包括人力资源、设备资源等。n下图是一个人力资源随时间分布情况的资源图下图是一个人力资源随时间分布情况的资源图213.5 3.5 任务资源估计任务资源估计n在估计每个任务的历时之前,首先应该对每个任务需要的资源类型和数量有一定的考虑,这些资源包括人力资源,设备资源等n可以采用专家估算法或者找类似项目经验的人来辅助估算。223.6 3.6 项目历时估计项目历时估计q项目进度估算是估计任务的持续时间-历时估计q项目进度估算
11、的基本方法有:q基于规模的进度估算q定额估算法q经验导出模型qCPM(关键路径法)qPERT(工程评估评审技术)q基于进度表的进度估算q基于承诺的进度估计qJones的一阶估算准则q其它策略233.6.1 3.6.1 定额估算法定额估算法T=Q/(R*S)qT:活动持续时间,单位可以是小时、日、周等qQ:活动的工作量,单位可以是人月、人天等qR:人力或设备的数量,单位可以是人或设备数量等qS:开发(生产)效率,以单位时间完成的工作量表示q例如qQ=6人月 ,R=2人,S=1q则:T=3月q例如qQ=6人月 ,R=2人,S=1.5q则:T=2月243.6.2 3.6.2 经验导出模型经验导出模型
12、q经验导出模型:D=a*E exp(b) :qD:月进度qE:人月工作量qa为24之间的参数qb:为1/3左右的参数:依赖于项目的自然属性q如:qWalston-Felix(IBM)模型: D=2.4*E exp(0.35)q基本COCOMO的模型为: D=2.5(E)exp(b),b:0.32-0.3825举例举例q项目的规模E152M, 采用基本COCOMO模型估算的进度 :nD=2.5E 0.35 =2.5*152 0.3514.5 Mn如果:E=65人月,并且a=3,b=1/3q则:D= 3 * 65 exp(1/3)=12月263.6.3 3.6.3 工程评价技术(工程评价技术(PE
13、RT)PERT)q(Program Evaluation and Review Technique)利用网络顺序图逻辑关系和加权历时估算来计算项目历时的技术。q当估算项目中某项单独的活动,存在很大的不确定性时采用。q它是基于对某项任务的乐观,悲观以及最可能的概率时间估计q采用加权平均得到期望值E=(O+4m+P)/6,qO是最小估算值:乐观(Optimistic), qP是最大估算值:悲观(Pessimistic),qM是最大可能估算(Most Likely)。27例如:PERT weighted average = 8 workdays + 4 X 10 workdays + 24 work
14、days 6= 12 dayswhere 8 = optimistic time, 10 = most likely time, and 24 = pessimistic timeq用PERT方法估计历时存在一定的风险,因此,有必要进一步给出风险分析结果。为此,引入标准差和方差q标准差 =(最大估算值-最小估算值)/6q方差 2 = (最大估算值-最小估算值)/6 2q上例中: =(248) /6=2.6728PERTPERT评估存在多个活动的一条路径评估存在多个活动的一条路径q期望值E=E1+E2+.Enq方差 2= ( 1)2 +( 2)2+.+ ( n)2q标准差 =( 1)2 +( 2
15、)2+.+ ( n)2)1/2 12345ACBD29PERTPERT举例举例21432,3,64,6,83,4,6JKL 项活动O,M,PE 2J2,3,63.334/616/36K4,6,864/616/36L3,4,64.173/69/36估计项目总历时13.51.0741/3630标准差与保证率标准差与保证率68.3%95.5%99.7%31PERTPERT举例举例平均历 时E=13.5, =1.07范围概率从到T1 68.3%12.4314.57T2 2 95.5%11.415.6T3 3 99.7%10.316.7项目在项目在14.5714.57内天完成的概率是多少?内天完成的概率
16、是多少?32PERTPERT举例举例-2 +2 -3 -1 +1 +3 68.3%95.5%99.7%ET=E+ =13.5+1.07=14.57P=50%+34 2%=84.2%68.3/2 % =34.2%50%333.6.4 3.6.4 专家估计方法专家估计方法q通过专家依靠过去资料信息进行判断,以估算进度的方法。q如果找不到合适的专家,估算结果往往不可靠或具有较大风险343.6.5 3.6.5 类推估计方法类推估计方法q利用一个先前类似活动的实际时间来估计为了活动时间q这种方法常用于项目早期,掌握的项目信息不多情况353.6.6 3.6.6 模拟估计方法模拟估计方法q用不同的假设实验一
17、些情况,以便计算相应的时间363.6.7 3.6.7 基于承诺的进度估计基于承诺的进度估计q从需求出发去安排进度q不进行中间的工作量(规模)估计q要求开发人员做出进度承诺,本质上是非进度估算q有点:q有利于开发者对进度的关注q有利于开发者在接受承诺之后的士气高昂q缺点:q开发人员估计的比较的乐观q易于产生大的估算误差373.6.8 Jones3.6.8 Jones的一阶估算准则的一阶估算准则q取得功能点的总和q从幂次表中选择合适的幂次将它升幂q如果一个软件项目的功能点FP=350而且承担这个项目的是平均水平的商业软件公司q 则q粗略的进度= 350exp(0.43)=12月383.7 3.7
18、进度计划编制进度计划编制q进度估算和进度编制常常是结合在一起进行的,采用的方法是一致的q项目进度编制的方法有:q关键路径法(CPM)q时间压缩法q资源调整尝试法q关键链路法393.7.1 3.7.1 关键路径法估计(关键路径法估计(CPMCPM: Critical Path Method Critical Path Method )q根据指定的网络顺序逻辑关系,进行单一的历时估算,首先计算每一个活动单一的、最早和最晚开始和完成日期,然后计算网络图中的最长路径,以便确定项目的完成时间估计。q关键路径法属于一种数学分析方法,与其相关的基本术语:q最早开始时间(ES):一项任务(活动)的最早可以开始
19、执行的时间q最晚开始时间(LS):一项任务(活动)的最晚可以开始执行的时间q最早完成时间(EF):一项任务(活动)的最早可以完成执行的时间q最晚完成时间(LF):一项任务(活动)的最晚可以完成执行的时间40q超前(lead):两个任务(活动)的逻辑关系所允许的提前后置任务的时间,它是网络途中活动简固定可提前时间q滞后(lag):两个任务(活动)的逻辑关系所允许的推迟后置任务的时间,它是网络途中活动简固定可等待时间q浮动时间(float):一个任务的机动性,它是一个活动在不影响项目完成的情况下可以延迟的时间量q关键路径:如果一个任务的最早和最迟时间相同,则表示其为关键任务,一系列不同任务链上的关
20、键任务链接成为项目的关键路径41Simple Example of Determining the Simple Example of Determining the Critical PathCritical PathnConsider the following project network diagram. Assume all times are in days.a. How many paths are on this network diagram? b. How long is each path? c. Which is the critical path? d. What
21、is the shortest amount of time needed to complete this project?2345A=2B=5C=2D=716F=2E=1startfinish42q下图代表网络图中的一个任务。为了能够确定项目路径中各个任务的最早开始时间、最晚开始时间、最早完成时间和最晚完成时间,可以采用正推法和逆推法来确定任务名称:工期ES:最早开始时间EF:最早完成时间LS:最晚开始时间LF:最晚完成时间431. 1. 正推法正推法(Forward pass)(Forward pass)按照时间顺序计算最早开始时间和最早完成时间的方法按照时间顺序计算最早开始时间和最早完
22、成时间的方法, ,称为正推法称为正推法. .q首先建立项目的开始时间q项目的开始时间是网络图中第一个活动的最早开始时间q从左到右,从上到下进行任务编排q 当一个任务有多个前置时,选择其中最大的最早完成日期作为其后置任务的最早开始日期q公式:qES+Duration=EFqEF+Lag=ESs44正推法实例正推法实例StartLFLSEFESDuration=7Task A18LFLSEFESDuration=3Task B14LFLSEFESDuration=6Task C814LFLSEFESDuration=3Task D47LFLSEFESDuration=3Task G1417LFLS
23、EFESDuration=3Task E710LFLSEFESDuration=2Task H1719LFLSEFESDuration=2Task F46Finish当一个任务有多个前置时,选择其中最大的最早完成日期作为其后置任务的最早开始日期452.2.逆推法逆推法(Backward pass)(Backward pass)按照逆时间顺序计算最晚开始时间和最晚结束时间的方按照逆时间顺序计算最晚开始时间和最晚结束时间的方法法, ,称为逆推法称为逆推法. . q首先建立项目的结束时间q项目的结束时间是网络图中最后一个活动的最晚结束时间q从右到左,从上到下进行计算q 当一个前置任务有多个后置任务时
24、,选择其中最小最晚开始日期作为其前置任务的最晚完成日期q公式:qLF-Duration=LSqLS-Lag=LFp46逆推图示逆推图示StartLFLSEFESDuration=7Task A1818LFLSEFESDuration=3Task B14811LFLSEFESDuration=6Task C814814LFLSEFESDuration=3Task D471114LFLSEFESDuration=3Task G14171417LFLSEFESDuration=3Task E7101417LFLSEFESDuration=2Task H17191719LFLSEFESDuration
25、=2Task F461214Finish当一个前置任务有多个后置任务时,选择其中最小最晚开始日期作为其前置任务的最晚完成日期CP:A-C-G-HCp Path:1847课堂练习课堂练习q作为项目经理,你需要给一个软件项目做计划安排,经过任务分解后得到任务A,B,C,D,E,F,G,假设各个任务之间没有滞后和超前,下图是这个项目的PDM网络图。通过历时估计已经估算出每个任务的工期,现已标识在PDM网络图上。假设项目的最早开工日期是第天,请计算每个任务的最早开始时间,最晚开始时间,最早完成时间,最晚完成时间,同时确定关键路径,并计算关键路径的长度,计算任务F的自由浮动和总浮动.48课堂练习课堂练习
26、LFLSEFESDuration=3Task GLFLSEFESDuration=4Task A0LFLSEFESDuration=6Task BLFLSEFESDuration=7Task CLFLSEFESDuration=5Task DLFLSEFESDuration=8Task ELFLSEFESDuration=8Task F1.确定以及的长度?确定以及的长度?2.的自由浮动和总浮动?的自由浮动和总浮动?49课堂练习课堂练习-答案答案LFLSEFESDuration=3Task GLFLSEFESDuration=4Task A0LFLSEFESDuration=6Task BLFL
27、SEFESDuration=7Task CLFLSEFESDuration=5Task DLFLSEFESDuration=8Task ELFLSEFESDuration=8Task F44104121219192412202427272424241619191212612440CP:A-E-C-D-GCP Path:27FF(F)=4TF(F)=4503.7.2 3.7.2 时间压缩法时间压缩法时间压缩法是在不改变项目范围的前提下寻找缩短项目时间途径的方法q应急法-赶工(Crash)q平行作业法-快速跟进(Fast tracking:搭接)511. 1. 应急法应急法- -赶工(赶工(Cra
28、shCrash)q赶工也称为时间-成本平衡方法q一旦项目的工作方法和工具得当,可以简单的通过增加人员和加班时间来缩短进度,进行进度压缩。q在进度压缩时存在一定进度的压缩和费用增长的关系,很多人提出不同的方法来估算进度压缩与费用增长的关系,常用的两种方法:时间成本平衡法和平行作业法52时间成本平衡法时间成本平衡法q进度压缩单位成本=(压缩成本-正常成本)/(正常进度-压缩进度)q例如:q任务A:正常进度7周,成本5万;压缩到5周的成本是6.2万q进度压缩单位成本=(6.2-5)/(7-5)=6000元/周q如果压缩到6周的成本是:5.6万53时间成本平衡法时间成本平衡法q例如:q任务A:正常进度
29、7周,成本5万;压缩到5周的成本是6.2万q进度压缩单位成本=(6.2-5)/(7-5)=6000元/周q如果压缩到6周的成本是:5.6万下图给出了各个任务可以压缩的最大限度和压缩成本,请问如果将工期压缩到17,16,15周时应该压缩的活动和最后的成本?开始开始A AB B结束结束Path:16Path:16周周开始开始C CD D结束结束CP Path:18CP Path:18周周开始ACBD结束总成本20万54 任任务务单 位 压单 位 压缩成本缩成本压缩成本(万/周)0.610.50.6开始开始A AB B结束结束Path:16Path:16周周开始开始C CD D结束结束CP Path
30、:18CP Path:18周周开始ACBD结束总成本20万55时间压缩答案时间压缩答案可以压缩可以压缩的任务的任务压缩的压缩的任务任务成本计算成本计算(单位:万)项目成本项目成本(单位:万)185+8+4+32017C,DC20+0.520.516C,DD20.5+0.621.115A,B,C,DA,D21.1+0.6+ 0.622.356平行作业法平行作业法- -快速跟进(快速跟进(Fast Fast tracking:tracking:搭接)搭接)q是在改变活动间的逻辑关系,并行开展某些活动57进度时间参数进度时间参数项目管理:100需求:10 设计:5时间任务设计:558任务超前任务超前
31、(Lead)(Lead)活动A活动B结束-开始Lead=3A完成之前完成之前3天天B开始开始作用:1)解决任务的搭接2)对任务可以进行合理的拆分3)缩短项目工期59任务拆分任务拆分项目管理:100需求:10 设计:5时间任务设计:3设计2603.7.3 3.7.3 资源调整尝试法资源调整尝试法q资源优化配置q通过调整进度计划,形成平稳连续的资源需求q最有效的利用资源q使资源闲置的时间最小化q尽量避免超出资源能力q方法q维持工期不变,资源平衡,使资源强度尽可能平衡q使工期最短,在满足资源约束条件下61资源平衡法资源平衡法 62资源平衡法资源平衡法63资源平衡法资源平衡法64基于进度表估算基于进度
32、表估算n可能的最短进度表n有效进度表n普通进度表65可能的最短进度表可能的最短进度表- -人员人员q人才库中前10%的最拔尖的人,q有几年应用编程语言和编程环境的工作经验,q开发人员掌握了应用领域的详细知识,q目标明确,努力工作,q分享成果,团队和谐q不存在人员调整66可能的最短进度表可能的最短进度表- -管理管理q理想的项目管理q开发人员可以专著于本职的工作q采用矩形员工模式67可能的最短进度表可能的最短进度表- -工具支持工具支持q有先进的软件开发工具q开发人员可以无限制的使用资源q工作环境理想,在集中的工作区域开发q交流工具畅通68可能的最短进度表可能的最短进度表- -方法方法q使用最时
33、效的开发方法和开发工具q设计阶段开始的时候已经完全了解需求q需求不变更69可能的最短进度表可能的最短进度表- -压缩压缩q尽可能的压缩进度,直到不能压缩70可能的最短进度表可能的最短进度表71可能的最短进度表可能的最短进度表72基于进度表估算基于进度表估算n可能的最短进度表n有效进度表n普通进度表73有效进度表有效进度表- -人员人员q人才库中前25%的最拔尖的人,q有1年应用编程语言和编程环境的工作经验,q目标有共同的看法,相互之间没有严重冲突,q采用有效的人员模式q人员调整少于 6%74有效进度表有效进度表- -其它其它q有效的编程工具q主动的风险管理q优良的物理环境q沟通工具方便75有效
34、进度表有效进度表76有效进度表有效进度表77基于进度表估算基于进度表估算n可能的最短进度表n有效进度表n普通进度表78普通进度普通进度- -人员人员q人才库中等以上的人q与编程语言和编程环境一般熟悉q开发人员对应用领域有一定的经验,但不丰富q团队不是很有凝聚力,但解决冲突时,有一定的经验q每年经历人员调整10-12%79普通进度普通进度- -其它其它q编程工具在一定程度上使用q风险管理不像理想那样得力q交流工具容易使用,q工作环境有些一般,不是很理想q进度压缩一般80普通进度表普通进度表81三种进度比较三种进度比较q可能的最短进度简直无法实现q有效进度代表了“最佳进度”q普通进度是为一般项目实
35、用的82项目进度估算的基本方法项目进度估算的基本方法q基于规模的进度估算,q定额计算法q经验导出方程qPERTqCPMq基于进度表的进度估算q基于承诺的进度估计qJones的一阶估算准则q其它策略83项目进度估算的基本方法项目进度估算的基本方法q基于规模的进度估算,q定额计算法q经验导出方程qPERTqCPMq基于进度表的进度估算q基于承诺的进度估计qJones的一阶估算准则q其它策略84项目进度估算的基本方法项目进度估算的基本方法q基于规模的进度估算,q定额计算法q经验导出方程qPERTqCPMq基于进度表的进度估算q基于承诺的进度估计qJones的一阶估算准则q其它策略85估算的其他策略估算的其他策略q专家估算方法 q类推估计 q模拟估算q利用估算软件估算进度q利用企业的历
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论