软件项目成本管理概念

  • 格式:docx
  • 大小:51.60 KB
  • 文档页数:36

软件项目成本管理概念

第一篇:软件项目成本管理概念

成本管理是软件项目管理的主要内容之一,分析了目前软件开发成本管理过程中存在的问题,提出了将进度和成本联系起来考虑,使工作量和实际成本匹配的方法。结合现有的估算方法,设计成本管理系统并将其应用于软件项目管理平台中,旨在改善软件开发中成本超支的现象,为企业提高效益。

关键词软件项目管理平台 成本估算 成本控制

随着信息技术的飞速发展,软件产业在国民经济中扮演着越来越重要的角色。对软件开发实施有效的管理是决定软件产业发展的至关重要的因素。在软件项目的开发过程中,项目管理日益受到人们的关注。软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。成本管理是软件项目管理的一个主要内容,就目前发展来看,成本管理是软件项目管理中一个比较薄弱的方面,许多软件项目由于成本管理不善,造成了软件造价的成本上升,软件质量得不到保证。针对这些现象,文章提出了一种新的成本管理方法,并将其应用于正在研究中的课题--软件项目管理平台的开发当中,以便于开发有效的软件项目管理工具,为企业节约成本,提高经济效益。成本管理概述

项目成本管理包括确保在批准的预算范围内完成项目所需的各个过程[1]。软件项目成本的管理基本上可以用估算和控制来概括,首先对软件的成本进行估算,然后形成成本管理计划,在软件项目开发过程中,对软件项目施加控制使其按照计划进行。成本管理计划是成本控制的标准,不合理的计划可能使项目失去控制,超出预算。因此成本估算是整个成本管理过程中的基础,成本控制是使项目的成本在开发过程中控制在预算范围之内。

1.1 成本管理的过程

软件项目成本管理就是根据企业的情况和项目的具体要求,利用公司既定的资源,在保证项目的进度、质量达到客户满意的情况下,对软件项目成本进行有效的组织、实施、控制、跟踪、分析和考核等一系列管理活动,最大限度地降低项目成本,提高项目利润。

成本管理的过程包括[1]:

l 资源计划,包括决定为实施项目活动需要使用什么资源(人员、设备和物资)以及每种资源的用量。其主要输出是一个资源需求清单。

l 成本估算,包括估计完成项目所需资源成本的近似值。其主要输出是成本管理计划。

l 成本预算,包括将整个成本估算配置到各单项工作,以建立一个衡量绩效的基准计划。其主要输出是成本基准计划。

l 成本控制,包括控制项目预算的变化。其主要输出修正的成本估算、更新预算、纠正行动和取得的教训。

1.2 软件开发成本管理过程中的主要问题

(1)项目成本预算和估算的准确度差。

由于客户的需求不断变化,使得工作内容和工作量不断变化。一旦发生变化,项目经理就追加项目预算,预算频频变更,等到项目结束时,实际成本和初始计划偏离很大。

此外,项目预算往往会走两个极端:过粗和过细。预算过粗会使项目费用的随意性较大,准确度降低;预算过细会使项目控制的内容过多,弹性差,变化不灵活,管理成本加大。

(2)缺乏对软件成本事先估计的有效控制。

在开发初期,对成本不够关心,忽略对成本的控制,只有在项目进行到后期,实际远离计划出现偏差的时候,才进行成本控制,这样往往导致项目超出预算。

(3)缺乏成本绩效的分析和跟踪。

传统的项目成本管理中,将预算和实际进行数值对比,但很少有将预算、实际成本和工作量进度联系起来,考虑实际成本和工作量是否匹配的问题。

1.3 成本管理方法的改进

目前常用的软件项目管理工具都侧重于某一方面的功能,如微软的Project2000侧重管理、规划任务,并在项目执行过程中跟踪这些任务,偏向于进度安排与跟踪控制;RUP侧重于用户需求的描述;PVCS侧重于软件变更管理。这些软件项目管理工具都在不断的完善其功能,虽然也有成本管理的功能,但总的来说大多数都不能用来进行软件成本估计,缺乏事先成本控制,不能和估计数据自动化协调,不能自动化地利用历史数据库中的数据。当前的项目管理工具并不能满足成本管理的需要。

针对以上成本管理过程中出现的问题,以及目前软件项目管理工具的不足,文章提出了一种改进的管理方法,将进度和成本联系起来考虑使工作量和实际成本匹配的方法。并且结合已有的成本估算方法,同时将过程数据库引入到软件项目管理中,给出成本管理系统的原型设计。系统采用先进的估算方法解决了成本估算准确度差的问题,工作量和实际成本匹配的方法进行成本的绩效分析和跟踪使得项目成本能够控制在预算范围之内。

回答人的补充2009-06-29 22:28成本管理系统的设计

2.1系统总体设计

虽然目前已有不少项目管理软件,但一般只是管理软件进度和跟踪监督,和软件估算是项目独立的,而且目前还没有成型的软件项目成本管理软件,我们以为指南,研究软件开发过程中的特殊性,结合现有的软件成本估算技术和一般行业的项目管理技术,以进度、人员、成本,变更为中心,提出了软件成本管理的具体实施方案。并以此为基础对系统的功能进行分析和设计。图1是系统的基本体系结构图。结论

该文讨论了目前已经有的一些软件项目管理系统的不足,不能把预算、工作量和实际进度联系起来考虑做到有效的成本管理,本文提出了改进的成本管理方法,可以对成本管理进行准确的估算、有效的控制,并且给出了系统的设计。但由于软件项目管理本身的复杂性,虽然本文所提出的方法有助于成本管理中估算

与控制问题的解决,但仍然不可能做到非常好,如果能将成本和进度、质量联系起来取得三者之间的平衡,势必对软件企业的项目管理有很大的实用价值 第二篇:软件项目成本组成

一、策划与环境建设

同传统项目一样,软件产品开发也需要经历立项过程,也就是经过调研论证决定项目“上马”后,才能开始策划软件的开发、建设开发环境。

软件产品虽不像传统产品那样需要建工厂、盖厂房而“大兴土木”,但软件产品开发和研制同样需要建设适合软件技术人员工作的“生产环境”和“生产车间”,只不过软件开发的“生产车间”比较特殊罢了。

软件产品的策划与环境建设阶段需要展开必要的调研、建设软件开发环境、购买必须的工具,当然也就需要有相应的成本支出。

1、调研费用

调研是软件产品立项前必须开展的工作,是软件立项和软件产品策划的依据。调研内容有客户调研和市场调查,客户调研目的是确定产品需求和产品功能,并进一步分析市场规模。市场调查主要用来分析当前同类型软件产品面世情况,对面世的产品调研其市场分布如何,软件产品的功能特点、差异、优劣及发展趋势;如果没有同类产品面世,则通过调研需要重点分析市场需求和市场规模。

调研规模和调研方式存在很大差异,一旦明确了调研方式、规模、范围和参与的人员组成,则调研费用就可以基本确定下来。

2、环境建设费用

经过调研分析一旦确定新软件产品立项,就需要落实开发队伍,进行产品开发的环境建设和前期准备。环境建设内容由工作场地建设和网络环境建设组成。

一、场地建设

场地建设是软件开发环境的基础,是软件人员开展开发工作的基本场所。需要提供工作场所租赁和工作环境建设等费用。

二、开发环境建设与系统集成

软件公司最主要的环境就是要有适合软件开发需要的开发环境,建设软件开发所必须的网络系统。有以下建设内容: 网络工程建设:服务器、交换机、防火墙、UPS电源、工作站等硬件设备采购与安装调试,网络布线工程。

系统集成:网络操作系统、工作站和终端操作系统、数据库系统、软件防火墙和病毒防护软件采购与集成。

辅助工程:根据企业规模和需要,进行多媒体会议室、企业网站、企业办公系统建设。

3、工具购置费

“工欲善其事,必先利其器”,在软件产品开发前也必须采购所需要的各类工具。软件开发所需要的工具有很大差别,工具的选择和确定由项目组根据产品特点和要求确定,不同工具的价格可从提供商获取。工具的选择依据是由所要开发的软件决定的,不仅要考虑工具功能,也需要从工具的性能价格比和客户承受能力考虑。一个典型软件产品所需要的工具有以下几种:

开发工具:就是用来开发软件的工具,是软件开发不可缺少的部分,发工具都有自身优势也有其不足,采用不同的开发工具会影响软件的开发成本和维护成本,例如用Java是用Delphi开发成本数倍以上。

操作系统:这里说的操作系统是将来的软件产品或客户所要求的操作系统,所以,如果软件项目要求的环境不具备时,须另行采购所需的操作系统并建设一个专用的开发环境。

数据库操作系统:这里指软件产品所需要的数据库系统,数据库系统的价格因版本和允许同时进行数据操作终端的不同而异。

测试工具:测试工具是对软件产品进行针对性能测试的软件,是软件质量控制的检测工具,测试工具可以在一定程度上实现测试的自动化、替代部分人工测试、提高测试效率。不是所有的软件产品都能找到合适的测试工具,即使有可用的测试工具,测试环境的建立和规范的应用需要软件企业投入比较大的精力才行,不能完全取代人工测试。软件测试是必须的,不是非要借助测试工具才能完成,不一定都要购买测试工具。

管理工具:软件产品开发具有自身特点,其开发过程的管理又属于项目管理的范畴。借助实用的管理工具不仅可以提高软件开发的规范程度,而且可以提高产品开发效率、有助于项目管理和质量控制。软件开发过程中需要参与管理的内容有各类文档、开发过程中所产生的结果,不同管理工具具有不同的管理目的和作用。常见的管理工具有:

1、进行软件版本控制和管理的版本控制工具;

2、进行数据库定义的数据库建模工具;

3、用于可视化需求分析和系统设计的系统建模工具;

4、以文件形式对产品结果进行管理的文件管理工具;

5、产品开发过程需要的其他应用工具,如文档编写工具、网络计划工具、图形绘制工具等。管理工具也是计算机软件,具有适用的环境和对象,所以就一个具体软件开发过程来说需要哪些管理工具存在很大差异。

安装程序制作工具:当软件尤其产品化软件的开发完成,需要通过安装工具将一个完整的软件产品打包压缩制作成安装程序,这样当软件发布客户购买后即可运行安装程序,引导客户一步一步的完成软件的安装和配置。

第三方软件:几乎所有的软件都需要有其它软件的支持才能运行,除了系统本身提供的软件外,一些软件需要从第三方购买的具有特定功能的软件“半成品”。这些“半成品”犹如建筑屋“积木”或“预制构件”,他们具有独立功能可接口,利用这些“半成品”可以方便的迁入到自己的软件成品中,从而降低开发成本、提高开发效率和产品质量。

硬件工具及配套设备:软件运行所用到的硬件工具和配套硬件设备也是必须的。硬件工具是通用性质的硬件,例如票据打印机、手写板,这类硬件购买过来即可安装使用;而配套设备是需要针对不同的设备进行二次编程、开发接口才能发挥硬件的作用,例如用于安全的加密狗、用于称重的电子磅、用于图像采集的视频采集卡,这需要供应商提供设备二次开发接口和标准。配套设备购买的多少与软件适用范围有关,例如,开发一个手机游戏软件,则需要购买多种款式的手