软件估算

当前页面:/标签:软件估算

软件造价知识普及2:为何要进行软件造价?

软件项目涉及到费用时会面临很多现实问题,比如: 预算时面临的问题 很多单位在做项目预算时,会根据部门总体费用划分一定比例的费用来进行新项目开发,这是非常不合理的。因为确定软件项目预算的主要因素是软件项目所要完成的工作内容,而不是可用的资金水平。还有些单位会参考以往同类项目的成本金额来做预算,但不同项目存在差异,不能简单参照其他项目的金额。 预算不足,往往导致项目最后无法按期完工,或者功能达不到计划要求,造成项目烂尾或无法正常部署运行,这样的例子举不胜数。 招标时面临的问题 某些单位除了采用上面预算中所采用方法外,还有些会咨询相关专业的朋友,因为朋友不了解项目的具体情况,给出的价格往往差异较大,再说,很多软件专业人员都不知如何科学合理定价。由于招标价格不准确,在面对不同投标价时,往往低价中标不靠谱,高价中标多花钱,甚至流标。 同样,对于投标方而言,不能准确提供投标价格,往往会错失良机。如果低价中标,后期也会面临各种的扯皮和问题。 领导签字时面临的问题 一些单位领导对于报送上来待批的项目往往存在很多担心:为什么是这些费用?这些费用合理吗?如果签字了,以后审计的时候会不会有问题?等等,导致不敢签字,项目迟迟不能推进。 审计时面临的问题 我国定制软件的最大投资方是政府部门。软件项目作为政府投资项目要接受相关部门的监督、审查和审计。2018年,中央审计委员会成立,确定“应审尽审、凡审必严、严肃问责”十二字方针。 审计部门在对软件成本进行审计时,会重点关注成本的决策依据是否乐观、合理。对软件项目所完成的工作内容和相应费用关系的客观合理性进行审查。 从我们近一两年的培训学员情况来看,越来越多从事审计工作的人员前来学习,说明了审计工作已经涉及到具体项目费用的合理性了。 廉政风险 若是由于软件预算缺乏权威依据,是否存在利益输送的问题,往往“说不清楚”,这就很容易给软件项目投资管理的所有相关部门带来潜在的廉政风险。在当前国家治理大环境下,这种情况风险极高,但是如何避免却是个技术问题。 需求问题 软件造价评估中最重要的一项工作是软件规模评估。规模评估的依据是软件项目的功能需求。大多数项目需求在早期是非常模糊的,模糊的需求会导致费用的差异。因此,我们在做评估时,会对模糊功能进行细化和确认,使得功能描述更加完善,评估出的费用更加合理。如果没有经过规模评估,往往会带来开发过程中的多种问题。 规模和工作量评估对开发方来说,可以精准把控资源投入,合理安排人员投入和开发周期,提高开发效率和资源利用率。 如果项目费用事先经过专业评估,上述问题都可迎刃而解。不仅如此,软件造价评估对软件项目的计划、实施、管理和交付不同阶段都有重要意义。更多内容请继续关注后续文章。

软件造价知识普及2:为何要进行软件造价? 2024-07-02T14:33:52+08:00

软件成本造价相关术语和定义

1.1 软件开发成本 software development cost 为达成软件开发项目目标开发方所需付出的各种资源代价总和。 注:资源包括人、财、物、信息等。 1.2 软件开发收入 software development income 因向委托方交付软件开发工作成果所获得的收入。 1.3 直接成本 direct cost 为达成软件开发项目目标而直接付出的各种资源代价总和。 注1:如可直接计入软件开发项目成本的直接材料、 直接人工等。 1.4 间接成本 indirect cost 与达成软件开发项目目标相关,但同一种投入可以支持一个以上项目的联合资源代价总和。 注:如开发管理人员工资、开发设备折旧、停工损失等。 1.5 人力成本 human resource cost 为达成软件开发项目目标所需付出的各种人力资源代价总和。 1.6 非人力成本 non-human resource cost 为达成软件开发项目目标所需付出的人力成本之外的其他资源代价总和。 1.7 成本度量 cost measurement 对软件开发成本的预计值进行估算或对实际值进行测量和分析的过程。 1.8 方程法 equation 基于基准数据建立参数模型,并通过输入各项参数,确定待估算项目工作量或成本估算值的方法。 1.9 类比法 comparison 将本项目的部分属性与类似的一组基准数据进行比对,进而获得待估算项目工作量或成本估算值的方法。 1.10 类推法 analogy 将本项目的部分属性与高度类似的一个或几个已完成项目的数据进行比对,适当调整后获得待估算项目工作量或成本估算值的方法。 [...]

软件成本造价相关术语和定义 2020-03-09T18:01:30+08:00

什么是软件规模估算?

一.什么是软件估算 软件估算是软件量化管理的重要部分。随着科技和社会的快速发展,软件应用领域在不断扩大,同时,越来越多的软件功能越来越复杂。如何更好更快开发出更多更复杂的软件是摆在软件从业者面前的重要问题。 软件估算包括:软件规模估算、生产率估算、工作量估算、软件成本估算、开发周期估算、缺陷估算、风险估算、资源估算等。 软件估算一直都是非常复杂的事情。项目变更、开发团队人员变化、需求改变、工作能力大小等都会导致估算结果的差异。据有关统计,延期的软件项目中,约有超过60%的项目是因为软件估算没有做好。不是技术水平达不到要求,而是估算结果与实际情况有重大差异或者没有进行估算导致的。所以说,软件估算是非常重要的,准确的估算结果是软件项目成功的重要保障。 失败的项目最常见的六个原因: 如上图中所示,六个原因中的任何一个都可能导致项目失败,很多时候是多个原因同时出现。做好软件估算可以完善上述原因中的不足部分,解决大多数上述问题。 二.软件估算面临的问题 软件估算虽然非常重要,但在实际中面临一些实施困难,主要表现在如下方面: 1.规模越大的软件,复杂性越高,面临的问题就越多,越难以估算; 2.需求不确定性,导致估算结果容易出现较大偏差; 3.陌生领域的项目,复杂性和认知性差,不确定性增大; 4.估算人员的水平、经验、对估算项目的理解能力等可能会对估算结果产生一定影响; 三.软件规模估算 软件规模估算是软件估算中的首要环节,是其他估算项目的基础。软件规模估算定义了软件的客观大小,而且不因为测量的人员、方式、时间的不同而变化。 对于甲方(发包方)而言,软件规模估算决定了项目的预算、招标金额,为费用申请提供了科学依据。 对于乙方(开发方)来说,软件规模估算可以帮助乙方确定投标金额,还能确定需要投入的资源及开发成本的评估等。 不识别规模的情况下,项目管理的三个重要目标无法提升:效率、质量和成本? 效率 = 总工时/软件规模 质量 = 缺陷加权总数/软件规模 成本 = 单位成本 * 软件规模 合理地对软件项目进行规模估算,能够更加精准确定项目开发所需的资源、费用、周期等。所以说软件规模估算是其他估算内容的重中之重。 软件规模大小决定了软件的成本及开发资源的投入。由于估算活动的不确定性,软件规模是最难确定的因素,虽然不能百分百准确,但从国际到国内,软件规模已经成为衡量软件开发的一个非常重要的指标。 依据合理的方法对软件规模进行估算,相较于拍脑袋、拍大腿等的“六拍法”,可以提供更加科学合理的估算结果。 四.常见的估算方法 1. 经验法(专家法,包括PERT法、DELPHI法) 根据管理人员以往的项目或领域的经验,对未来的工作量进行估计。 2. 类推法 将本项目的部分属性与高度类似的一个或几个完成的项目进行比对,适当调整后获得待估算项目的工作量、工期或成本估算值的方法。 3. 类比法 将项目的部分属性与类似的一组基准数据进行对比,进而获得待评估项目的工作量、工期和成本估算值的方法。基于基准数据通常以50百分位数为参考而非均值。 4. 方程法 根据一个相对稳定的公式对未来的工作量进行估计。基于基准数据建模,可以与行业和企业数据相结合。 5. 交叉验证 估算过程中宜采用不同的方法分别估算,并进行交叉验证。 如果不同方法的估算结果产生较大差异,可采用专家评审的方法确定估算结果,也可以使用简单的加权平均方法。 五.软件规模度量的发展 软饭规模度量的发展经历了长期的过程。 最初,采用物理的度量方法:测量纸带的长度,或者汇总程序的字节数。这种方法在早期阶段,程序功能比较单一、开发语言相对固定的情况下,对软件规模度量提供了一定的参考价值。 后来,发展到了技术度量过程:比如代码行、函数数量、数据库、模块、类的数量等。这些方法是属于特定历史时期的产物,在那段时期,这些方法都对软件规模度量的发展起到了巨大的推动作用。也正是这些方法的出现,体现出了其中的优劣势,使得软件规模度量发展到了“功能”的阶段。 功能的规模体现在:用例数、功能点数、故事点数、页面数、窗口数、按钮数等。这其中,最得到普及应用的是功能点方法。 上纪70年代中期,IBM委派工程师Allan Albrecht和他的同事共同研究软件测量和度量分析方法。经过一年多的研究,Albrecht和他的团队发布了名为“功能点”的度量方法第一版。 [...]

什么是软件规模估算? 2020-03-07T18:18:18+08:00