2007-8-10 作者:葛志春 编辑:眼镜丢了 点击进入论坛
摘要:在2003年9月,我参与了“福建省毕业生就业公共网(http://www.fjbys.cn)”项目的建设。在项目中担任项目经理的一职。该项目作为“数字福建”的重点工程,受到了省、省人事厅和“数字福建”领导小组领导的高度重视。系统以省人事厅为依托,面向全省各级人事部门,大中专院校,中介机构、用人单位和毕业生。集就业指导、宣传,人才交流,就业手续办理,宏观管理于一体。堪称我省至今为止,最大的电子政务项目之一。本文结合作者的经验就项目管理的成本作了翔实的论述;并就项目过程中采取的有关成本管理的措施、方法作了介绍。最后,列举了该项目成本管理方面的一些不足之处。
一、项目概述
1、项目背景
随着我省高等教育和高(中)等职业教育的快速发展,我省毕业生数量每年以25%的速度快速增长。毕业生总数逐年增加,就业压力逐年加大,就业形势越来越严峻,毕业生就业工作日益繁重;依靠传统的手工操作已经不能适应新形势、新任务的要求。毕业生就业工作关系到全面建设小康社会的实现,关系到改革开发稳定、和谐的大局,关系到人民群众的根本利益,关系到高等教育事业的健康、持续发展。因此,重视毕业生就业工作,加强毕业生就业工作的信息化具有重要的现实意义。
为了进一步加强我省毕业生就业服务体系建设,加强我省人才资源的宏观管理与合理配置,为我省广大用人单位和毕业生提供便捷的人事人才服务;在省、省人事厅、“数字福建”领导小组的高度重视和支持下,作为2003年度“数字福建”重点工程之一的“福建省毕业生就业网”(下简称:就业网,http://www.fjbys.gov.cn),于2003年9月正式启动了。
2、项目主要目标
就业网项目总投资150万元,要求在2004年5月1日前全面竣工并投入使用。
3、项目范围概述
系统要求采用先进的技术,以省人事厅为依托,以因特网为载体,大中专毕业生就业创业为导向;面向全省各级人事部门,大中专院校、广大人才中介机构、用人单位和毕业生;连接国家教育部、人事部、兄弟省市就业主管部门和高等院校;构筑一个大容量、宽辐射的全省毕业生就业创业服务平台。为我省广大毕业生和用人单位提供全面、便捷、快速的人事人才服务网络;为我省大中专院校提供集学生学籍管理、就业管理相关等相关工作的网络办公自动化平台;为各级人事部门提供集毕业生就业创业指导、咨询宣传,就业相关手续办理,毕业生就业交流监控、宏观管理、决策支持于一体的功能全面的电子政务运用平台。预计系统建成后将成为我国第一个面向全省的、大容量、宽辐射、跨区域的毕业生就业创业管理电子政务运用平台。
4、项目过程概述
通过公司的项目经理竞争上岗机制,我获得了公司领导与业主的信任,有幸赢得了该项目的项目经理职位,全面主持项目的开发管理工作。
在省、数字福建、省人事厅领导的大力支持下,业主、监理公司的全力配合、支持下;我与项目组全体同志们一起齐心协力,并肩奋斗,经过近8个月的努力;项目终于在2004年4月15日全面验收,正式投入使用。项目花费总成本近100万元。项目比计划提前了近15天,为公司挣得利润近50万元。
就业网项目的成功得益于领导的重视和所有项目干系人的齐心协力。同时也得益于有效的项目管理;特别是有效的项目成本管理。在这里笔者就该项目中所采取的有些方法措施作简略的介绍,希望各位读者批评指正。
二、软件项目成本管理概念
项目成本是指项目从设计到完成期间所需全部费用的总和。项目成本管理就是在整个项目的实施过程中,为确保项目在批准的成本预算内尽可能好地完成而对所需的各个过程进行管理与控制。项目成本管理主要包括:资源计划编制、成本估算、成本预算和成本控制四个过程。资源计划编制是根据项目工作分解结构(WBS)的确定完成项目所需的资源种类和数量。成本估算是完成项目所需资源成本的近似估算。项目预算是根据项目WBS将成本估算分配到各单项工作上。成本控制就是对项目成本预算的变更。
软件项目管理是面向软件行业的项目管理;具有一定的行业特殊性,但软件的成本管理方法和其他行业项目的成本管理方法基本上是一致的。只是软件行业在成本管理中人力资源成本占据了较大的比重;在许多中小型软件项目中常常将其他资源的成本忽略不计。
三、就业网项目开发成本估算
成本估算是项目成本管理的一项主要内容,是项目成本预算、成本控制的基础。成本估算方法主要有专家估算法、自上而下法、自下而上法等。
毕业生就业网项目成本的有效控制得益于成本的正确估算。就业网项目的开发成本估算主要采取了以下措施:
1、采用了MS-Project项目管理工具
根据公司的项目管理经验,我们采用了MSProject项目管理工具作为就业网项目的项目管理工具。Ms-Project能够有效帮助我们对项目范围、项目进度、项目人力资源、项目成本的有效管理。除此之外,Ms-Project还提供了丰富的报表分析工具,能够灵活的分析项目的成本、进度、挣值。
在就业网项目中我们的许多工作都依赖于Ms-Project才得以高效的完成。
2、完整的WBS
项目的工作分解结构(WBS)是项目管理的基础,也是项目成本管理及估算的基础。只有建立了完备、无遗漏的项目WBS才能够确保项目成本估算的准确性。
在项目启动之处,我们对项目的需求作了深入细致的调研分析;并在Ms-Project的帮助下建立了完整而基本无遗漏的WBS。
3、正确的项目资源估算
项目资源估算也是项目成本估算的重要输入之一。在项目估算之前必须明确项目所需资源的种类和数量;以及项目资源的单价。
项目总成本=∑(项目任务总用时x项目资源数量x项目资源单价)+一次性使用资源成本。
在就业网项目中我们采用了专家意见法和Delphi法;规划定义出了项目详细资源规划表分别定义了项目所需资源的种类,所需数量、单价。并通过Ms-Project加以管理。
4、自下而上的项目成本估算
其实项目成本估算的方法很多,有专家判定法、自上而下法、自下而上法、参数估算法等。另外结合上述方法还可以采用PERT技术和Delphi法。
结合项目实际与Ms-Project的便利性。我们主要采用了自下而上的方法,对于风险较大的任务我们还采用了Delphi法及专家判定法。在估算项目任务的成本时,我们将WBS的每一个任务分给领域专家作工作量评估;要求每一项任务必须控制在1人周以内。对于超过1人周的任务,要求专家作原因分析,并提出分解方案。
这次项目成本评估我们所花费的工作量比较大,但却为我们后来的项目成本控制、项目管理打下了很好的基础。让我们项目团队的同志们真正体会到了项目管理的益处。
四、不足与展望
目前就业网系统运行稳定,到目前为止已经成功的完成了2界(近30万)毕业生就业管理及派遣工作。并于今年7月份获得了省项目科技进步二等奖。
但回顾过去,确也可以发现许多不足之处。如:
1、为了更好的完成项目需求的收集,我们召开了6次全省项目干系会(每次会议近300人)。但我们由于经验不足,在项目成本估算时,没有充分考虑到会议的费用管理;导致费用严重超出预算。
2、由于项目需求的变更,导致有些模块推倒重来。但我们没有充分考虑到这些问题,导致项目成本预算的超支。
3、除此之外,还存在许多的不足;这里不在逐一枚列。
在以后的工作中,我将继续努力学习、总结经验;继续为我国电子政务建设、企业信息化建设作贡献
如何估算软件开发成本?
---------------------
在现存的各种项目中,软件项目的成本估算是比较难的。而且不透明。欢迎项目经验丰富的兄弟姐妹们参与讨论,要求如下:
--------
基本要求
--------
- 软件成本包括那些内容? 为什么估算? 分别用什么方法估算?怎么估算?
- 在软件开发的什么阶段进行成本估算,为什么?
- 如何衡量软件的复杂程度?
- 对于软件的保修,和超出保修期的成本用什么方法估算?在什么阶段估算?
--------
可选要求
- 各国家的行情如何?价格以man-hour为单位,估算的方法是什么?
- 对于项目中因变化产生的费用,如何管理和处理?
- 其它任何相关内容
软件开发成本估算主要指软件开发过程中所花费的工作量及相应的代价。 不同与传统的工业产品,软件的成本不包括原材料和能源的消耗,主要是人的劳动的消耗。另外,软件也没有一个明显的制造过程,它的开发成本是以一次性开发过程所花费的代价来计算的。因此,软件开发成本的估算,应是从软件计划、需求分析、设计、编码、单元测试、集成测试到认证测试,整个开发过程所花费的代价作为依据的。
软件开发成本估算的经验模型
Putnam 模型
1978年Putnam提出的,一种动态多变量模型。
L = Ck * K1/3 * td4/3
其中: L-----------源代码行数(以LOC计)
K-----------整个开发过程所花费的工作量(以人年计)
td-----------开发持续时间(以年计)
Ck----------技术状态常数,它反映“妨碍开发进展的”,取值因开发环境而异,见下表
Ck的典型值 开发环境 开发环境举例
2000 差 没有系统的开发方法,缺乏文档和复审
8000 好 有合适的系统的开发方法,有充分的文档和复审
11000 优 有自动的开发工具和技术
从上述方程加以变换,可以得到估算工作量的公式: K = L3/(Ck3*td4)
还可以估算开发时间: td = [L3/(Ck3*K)]1/4
COCOMO模型(constructive cost model)
这是由TRW公司开发,Boehm提出的结构化成本估算模型。是一种精确的、易于使用的成本估算方法。
COCOMO模型中用到以下变量:
DSI-------源指令条数。不包括注释。1KDSI = 1000DSI。
MM-------开发工作量(以人月计) 1MM = 19 人日 = 152 人时 =1/12 人年
TDEV-----开发进度。(以月计)
COCOMO模型中,考虑开发环境,软件开发项目的类型可以分为3种:
组织型(organic): 相对较小、较简单的软件项目。开发人员对开发目标理解比较充分,与软件系统相关的工作经验丰富,对软件的使用环境很熟悉,受硬件的约束较小,程序的规模不是很大( <50000行)
嵌入型(embedded): 要求在紧密联系的硬件、软件和操作的条件下运行,通常与某种复杂的硬件设备紧密结合在一起。对接口,数据结构,算法的要求高。软件规模任意。如大而复杂的事务处理系统,大型/超大型操作系统,航天用控制系统,大型指挥系统等。
半型(semidetached): 介于上述两种软件之间。规模和复杂度都属于中等或更高。最大可达30万行。
估算公式:
基本COCOMO模型估算工作量和进度的公式如下
工作量: MM = r*(KDSI)c
进度: TDKV = a(MM)b
其中经验常数 r, c, a, b 取决于项目的总体类型。
COCOMO模型按其详细程度可以分为三级:基本COCOMO模型,中间COCOMO模型,详细COCOMO模型。其中基本COCOMO模型是是一个静态单变量模型,它用一个以已估算出来的原代码行数(LOC)为自变量的经验函数计算软件开发工作量。 中级COCOMO模型在基本COCOMO模型的基础上,再用涉及产品、硬件、人员、项目等方面的影响因素调整工作量的估算。详细COCOMO模型包括中间COCOMO模型的所有特性,但更进一步考虑了软件工程中每一步骤(如分析、设计)的影响。
基本COCOMO模型
通过统计63个历史项目的历史数据,得到如下计算公式。
总体类型 工作量 进度
组织型 MM = 10.4*(KDSI)1.05 TDKV = 10.5(MM)0.38
半型 MM = 3.0*(KDSI)1.12 TDKV = 10.5(MM)0.35
嵌入型 MM = 3.0*(KDSI)1.20 TDKV = 10.5(MM)0.32
FunctionPoing的目的是基于软件需求产生软件规模的估计。功能点是基于应用软件的外部、内部特性以及软件性能的,一种间接的软件规模的测量。功能点与软件成本具有重大的成本估计关系(CER :Cost EstimatingRelationship )。功能点可以作为经验统计参数化软件成本估计公式和模型的输入,以对软件的成本进行估计。功能点方法被广泛的认可在信息系统、数据库密集型、4GL 应用系统开发的规模测量。
进度计划是从时间的角度对项目进行规划,而成本估算则是从费用的角度对项目进行规划。这里的费用应理解为一个抽象概念,它可以是工时、材料或人员等。
成本估算是对完成项目所需费用的估计和计划,是项目计划中的一个重要组成部分。要实行成本控制,首先要进行成本估算。理想的是,完成某项任务所需费用可根据历史标准估算。但对许多工业来说,由于项目和计划变化多端,把以前的活动与现实对比几乎是不可能的。费用的信息,不管是否根据历史标准,都只能将其作为一种估算。而且,在费时较长的大型项目中,还应考虑到今后几年的职工工资结构是否会发生变化,今后几年原材料费用的上涨如何,经营基础以及管理费用在整个项目寿命周期内会不会变化等问题。所以,成本估算显然是在一个无法以高度可靠性预计的环境下进行。在项目管理过程中,为了使时间、费用和工作范围内的资源得到最佳利用,人们开发出了不少成本估算方法,以尽量得到较好的估算。这里简要介绍以下几种。
1.经验估算法
进行估计的人应有专门知识和丰富的经验,据此提出一个近似的数字。这种方法是一种最原始的方法,还称不上估算,只是一种近似的猜测。它对要求很快拿出一个大概数字的项目是可以的,但对要求详细的估算显然是不能满足要求的。
2.因素估算法
这是比较科学的一种传统估算方法。它以过去为根据来预测未来,并利用数学知识。它的基本方法是利用规模和成本图。如图所示,图上的线表示规模和成本的关系,图上的点是根据过去类似项目的资料而描绘,根据这些点描绘出的线体现了规模和成本之间的基本关系。这里画的是直线,但也有可能是曲线。成本包括不同的组成部分,如材料、人工和运费等。这些都可以有不同的曲线。项目规模知道以后,就可以利用这些线找出成本各个不同组成部分的近似数字。
这里要注意的是,找这些点要有一个“基准年度”,目的是消除通货膨胀的影响。画在图上的点应该是经过调整的数字。例如以1980年为基准年,其他年份的数字都以1980年为准进行调整,然后才能描点划线。项目规模确定之后,从线上找出相应的点,但这个点是以1980年为基准的数字,还需要再调整到当年,才是估算出的成本数字。此外,如果项目周期较长,还应考虑到今后几年可能发生的通货膨胀、材料涨价等因素。
做这种成本估算,前提是有过去类似项目的资料,而且这些资料应在同一基础上,具有可比性。
3.WBS基础上的全面详细估算
即利用WBS方法,先把项目任务进行合理的细分,分到可以确认的程度,如某种材料,某种设备,某一活动单元等。然后估算每个WBS要素的费用。采用这一方法的前提条件或先决步骤是:
①对项目需求作出一个完整的限定。
②制定完成任务所必需的逻辑步骤。
③编制WBS表。
项目需求的完整限定应包括工作报告书、规格书以及总进度表。工作报告书是指实施项目所需的各项工作的叙述性说明,它应确认必须达到的目标。如果有资金等,该信息也应包括在内。规格书是对工时、设备以及材料标价的根据。它应该能使项目人员和用户了解工时、设备以及材料估价的依据。总进度表应明确项目实施的主要阶段和分界点,其中应包括长期定货、原型试验、设计评审会议以及其他任何关键的决策点。如果可能,用来指导成本估算的总进度表应含有项目开始和结束的日历时间。
一旦项目需求被勾划出来,就应制定完成任务所必需的逻辑步骤。在现代大型复杂项目中,通常是用箭头图来表明项目任务的逻辑程序,并以此作为下一步绘制CPM或PERT图以及WBS表的根据。
编制WBS表的最简单方法是依据箭头图。把箭头图上的每一项活动当作一项工作任务,在此基础上再描绘分工作任务。
进度表和WBS表完成之后,就可以进行成本估算了。在大型项目中,成本估算的结果最后应以下述的报告形式表述出来:
①对每个WBS要素的详细费用估算。还应有一个各项分工作、分任务的费用汇总表,以及项目和整个计划的累积报表。
②每个部门的计划工时曲线。如果部门工时曲线含有“峰”和“谷”,应考虑对进度表作若干改变,以得到工时的均衡性。
③逐月的工时费用总结。以便项目费用必须削减时,项目负责人能够利用此表和工时曲线作权衡性研究。
④逐年费用分配表。此表以WBS要素来划分,表明每年(或每季度)所需费用。此表实质上是每项活动的项目现金流量的总结。
⑤原料及支出预测,它表明供货商的供货时间、支付方式、承担义务以及支付原料的现金流量等。
采用这种方法估算成本需要进行大量的计算,工作量较大,所以只计算本身也需要花费一定的时间和费用。但这种方法的准确度较高,用这种方法作出的这些报表不仅仅是成本估算的表述,还可以用来作为项目控制的依据。最高管理层则可以用这些报表来选择和批准项目,评定项目的优先性。 以上介绍了三种成本估算的方法。除此之外,在实践中还可将几种方法结合起来使用。例如,对项目的主要部分进行详细估算,其他部分则按过去的经验或用因素估算法进行估算。
对于几种估算方法误差的统计:
1 需求分析层次估算:会有正负50%的误差
2 功能分析阶段估算:正负25%的误差
3 详细设计层次估算:正负10%的误差
因此,在定价前,需要做更多细致的分析和设计。