软件项目管理(6)
软件项目管理(6)
1、编制软件项目进度计划
进度计划需要完成的工作包括:估计每项活动的工期;确定整个项目的预计开始时间和要求完成时间,在项目总体时间段的基础上计算每项子任务和活动必须开始和完成的最早时间,必须开始和完成的最迟时间,确定项目活动的关键路径等。
制定项目进度计划的一个关键工作是要估计每项活动从开始到完成所需的时间,即工期的估算。
项目的工期估算和预算分摊估计可以采用以下两种办法:
1)自上而下法
2)自下而上法
在编制项目进度计划时,为了清楚地表达各项子任务之间进度的相互依赖关系,通常采用图示的方法。
一般采用的进度计划表示工具有:
1)甘特图
又称线形图或横道图。是一个二维平面图,横维表示进度或活动的时间,纵维表示工作内容。
甘特图的优点是标明了各项任务的计划进度与当前进度,能动态的反映软件开发进展情况。缺点是难以反映多个任务之间存在的复杂的逻辑关系。
2)网络图
网络计划是在网络图上加注工作的时间参数等要素编制成的进度计划。
网络计划由两大部分组成:网络图和网络参数。
网络图是由箭头线和节点组成的用来表示工作流程的有向、有序的网状图形;网络参数是根据项目中各项工作的延续时间和网络图说计算的工作、节点、线路等要素的时间参数。
有两种网络计划方法:
1)计划评审技术(PERT)
2)关键路径法(CPM)
项目进度含有以下项目信息:
1)各子任务计划的开始时间和完成时间;
2)各子任务完成的标志;
3)各子任务与工作人数、子任务与工作量之间的关系;
4)完成各子任务所需的资源情况。
2、里程碑计划
里程碑计划是以在项目中,某些重要事件的完成或开始时间点作为基准所形成的计划,是一个战略计划或项目框架计划,以中间产品或可实现的阶段性成果为依据。
1)里程碑计划编制方式:
(1)编制进度计划以前,根据项目特点编制里程碑计划,并以该里程碑计划作为编制项目计划的依据。
(2)编制进度计划以后,根据项目特点及进度计划编制里程碑计划,并以该里程碑计划作为编制项目计划的主要依据。
(3)里程碑计划编制
2)软件项目的八个里程碑节点:
(1)项目立项
(2)项目启动
(3)需求分析
(4)系统设计
(5)软件编码
(6)软件测试
(7)系统试运行
(8)项目验收
3、采购计划
应包含以下主要内容:
1)硬件平台的系统配置要求;
2)设备到货、完成硬件平台搭建的最迟完成日期;
3)网络环境完成的最迟日期;
4)硬件设备故障解决的工作流程;
5)软件基础资源环境和系统开发平台的最迟完成日期。
4、软件项目成本
涉及以下方面:
1)项目规模成本估算;
2)项目工作量成本估算;
3)项目所需资源成本的估算。
在项目估算中,经常采用经验公式来预测软件项目计划所需要的成本、工作量和进度。
1)标准值估算法
该方法主要使用各类程序开发的标准生产率来估计总工作量,标准生产率根据以往的开发经验导出。通常影响程序开发生产率的主要因素包括以下几个方面:
(1)系统运行结构和处理方式,软件系统类型;
(2)所采用的软硬件开发环境和编码使用的程序语言;
(3)系统实现的难易程度;
(4)聘用的技术人员的水平和成本;
(5)开发范围和内容,软件规模与工作量的大小。
由几个经验丰富的软件工程师分别做出估算,每个人都估算程序的最小规模(a)、最大规模(b)和最可能的规模(m),分别求出这三种规模的平均值A、B、M,再使用下式计算程序规模的估算值:
(A+4M+B)/6
然后使用开发该类程序的标准生产率和适当的修正系数估算开发工作量:
开发工作量=修正系数×(程序长度/标准生产率)
其中,标准生产率的单位常常是每人日可以开发的程序长度(行数);
修正系数反映其它因素对开发工作量的影响。修正系数的计算为:
修正系数=1+0.1×n
式中,n为符合下列条款的量化因子:
(1)目标系统方面
修改文档不完全的程序
需求中有不明确的或尚未决定的内容
软件系统规模较大
系统接口不明确或接口复杂
联机实时系统
系统需要复杂的安全措施
(2)项目管理和人员情况
中途改变项目经理
项目组工作不协调
项目组中新手或初级人员比例较高
需要培训程序员
项目经理的项目管理能力不足
项目经理没有应用领域经验
系统分析员没有应用领域经验
系统设计人员没有应用领域经验
程序员没有应用领域经验
项目启动阶段准备工作不成分
(3)用户情况
(4)开发环境方面