为什么要度量软件规模?
前一天我们带大家了解了软件成本、今天来讨论下“软件成本“和”软件规模“之间的差别,以及度量软件规模又能带来什么?
软件成本是从财务角度进行量化,软件规模是从软件的固有属性进行量化,我们重点分析的是从软件固有属性进行量化。在正常情况下,软件成本和软件规模紧密相关,但两者并非严格的线性关系,后绪文章小编会单独分析软件规模效应的影响。直观地说,软件规模度量就好比给人测算身高、给房子测算面积、给大象测量体重。
一、软件规模度量的特性
1.软件规模度量能够量化软件的大小
通过定量、定性等度量方法,能够实现对软件规模的大小,进而计算软件项目的研发周期和研发成本,为软件预算编制、招投标、价格谈判、项目管理、提高开发效率等提供帮助。
2.软件规模度量不是软件开发固有的活动
软件开发的固有活动包括需求分析、设计、编码、测试等,并不包括软件规模度量,度量的成果不会作为产品或服务的一部分交付客户。
3.软件规模度量是有成本的
软件规模度量需要投入开发团队人员、项目管理人员、质量保障人员的时间,以及企业管理人员的时间,还可能会有工具和基础设施的投入。
二、软件规模度量能够解决的问题
场景一:在制定项目预算、确定招投标价格方案等活动中,由于缺失科学、统一的软件度量标准,导致制定的项目预算或招投标价格不合理,进而造成预算浪费或预算不足,或是恶意竞标、低价中标、流标等现象频频发生。
场景二:在项目实施过程中,由于缺乏成本控制的科学依据,也经常出现项目进度滞后、费用远远超出最初预算等情况。
场景三:在企业推行工程化管理或精益管理过程中,由于缺乏软件开发效率、软件交付能力等模型数据,很难为企业制定合适的项目实施计划,进而无法动态跟踪成本、工作量、进度等情况。
场景四:在企业管理中,很难对企业的开发能力、工作效率、软件缺陷数量进行量化考核。
三、软件规模度量带来的新问题
1.增加了项目成本或第三方评估费用,无论由甲方或乙方或是第三方对软件功能规模进行度量,都会带来人力成本的消耗,增加了项目研发成本。
2.容易引导不正常的利益驱动,如果度量结果和绩效等直接挂钩后,容易带来不正常的利益驱动。比如,某企业根据度量软件代码行数来计算员工的生产效率和工作量,或是甲方根据代码行数来计算乙方的研发费用,都必然出现的结果就是,带来了大量冗余代码、无用代码等。
3.可能影响软件的使用体验或软件质量,软件研发企业(乙方)在追求软件功能点规模的时候,可能会牺牲软件的用户体验,进而影响软件的质量。比如,某企业采用功能点方法度量软件,原则上软件功能规模与开发实现方式无关,但在实际工作中,程序开发人员可能会为了多计功能点的利益,损失软件的用户体验或软件质量,换取较大的软件功能规模。
软件度量是软件造价、量化管理、精益管理的必走之路,但应尽可能降低带来的不利影响,持续研究和改进软件度量方法,建立健全各类标准体系和操作指南。
免责声明:本文章系转载,版权归原作者所有。对转载、分享的内容和观点保持中立,也不对内容的准确性、可靠性或完善性提供任何保证,因转载众多无法确认真正原始作者,如涉及作品版权问题,请及时联系我们,我们将作删除处理以保证您的权益!