造价师/评估师培训:010-82146681
联盟会员/机构评定:010-82146682
业务合作咨询:010-82586972
E-mail:bscea@bscea.org
功能点评估方法在江苏省联社的应用与研究
江苏省农村信用社联合社产品研发部副总经理 李健
如何进行银行软件规模估算,一直是困扰银行管理层和项目管理团队的难题。规模估算是否准确,决定了项目成本、计划和资源安排的合理性。长期以来,国内外按照代码行、模块、文件大小等多个角度去衡量软件规模,但效果都不尽人意。上世纪80年代,国际功能点用户组(IFPUG)提出了功能点方法,从用户的视角去计算软件的功能点,用于指导软件工程项目规模评估,取得了不错的应用效果。该方法2006年左右在国内应用推广,不同行业都有了相关的实施案例。
江苏省联社和辖区农村商业银行,作为当地最大的金融机构,承担着全省农村商业银行的科技服务职能,每年要开发和维护大量银行软件项目。为提高服务能力,江苏省联社在使用功能点评估方法进行软件规模评估和确定项目工作量方面进行了多年探索。
功能点评估方法在江苏省联社的应用情况
苏省联社自成立以来,一直采用的DELPHI法进行项目规模估算和工作量评估,在一段时间里为推动项目管理工作做出了一定的贡献。但随着时间推移和管理工作的不断深入,各方面对工作量评定方法都提出了新的要求。为此,在综合各方面意见的基础上,借鉴软件行业的实践经验,江苏省联社提出基于功能点分析方法改进项目规模和工作量评定工作。
经过调研和学习,江苏省联社在2009年正式发布了基于传统功能点方法的《功能点计算方法指引》,用于指导应用软件项目规模和成本度量工作。指引以IFPUG发布的功能点计数实践手册(4.2.1版)为基础,参照国际软件基准标准工作组(ISBSG)公布的银行业软件基准数据,结合当时综合业务系统、支付系统和网银系统三大系统特点,制定了详细的评估方法。
2011年10月,江苏省联社新一代综合业务系统项目群整体切换上线,将原有前后台一体、竖井建设、网状互联的各系统全部重建,按照基于ESB总线的SOA架构新开发了一套完整的银行系统。为适应新系统变化,省联社在2012年对原功能点评估方案在五个方面进行了大幅优化。
1.新一代主要系统都建设了统一的开发平台,在功能点评估和工作量估算过程中,增加了可重用性的调整。
2.综合柜员系统由于硬件更换成本和周期受限,保持了图形与字符两种版本。两个版本统一计算功能点,通过效率系数转换工作量。
3.新一代系统新增了ESB总线、数据平台等非直接面向业务使用人员的系统,无法直接从业务角度计算功能点,增加了从系统服务角度计算功能点的计数方案。
4.调整了数据通讯、复杂处理、重用性等14个调整因子。并对报表等具有较大相似性的功能点增加了相似功能调整环节,合理将功能点和工作量联系起来。
5.在基于功能点模型评估法基础上,增加经验评估法,结合两种评估方法,赋予不同权重,综合评估结果。
经过半年多的试行,省联社正式发布了《项目及问题单工作量评估办法》,进一步提升了办法的科学性和规范性。省联社研发管理中工作量、效率和质量三项关键指标都得以量化。以功能点评估方法为基础的工作量核算方案,在江苏省联社产品研发内部绩效管理、外包公司考核、蓝领合同执行等方面都发挥了极其重要的作用。
江苏省联社软件研发工作根据工作范围,主要分为项目和问题两大类,现在项目已全部采用功能点评估方法进行评估。
图 2013年以来功能点评估方法核定的工作量
同业应用情况
功能点评估方法是目前业内应用最为广泛的软件研发成本评估方法,尤其在金融行业被大量采用。中国人民银行、中国银行、交通银行、招商银行、光大银行、邮储银行、国家开发银行、平安银行、广发银行、南京银行、河北农信和黑龙江农信等都进行了大量研究实践。
跟江苏省联社同类型的河北省联社,为解决软件成本评估的科学性与透明性问题,于2018年下半年启动了基于功能点方法软件研发成本评估体系建设工作,解决两个重要问题:一是解决之前纯粹依赖开发人员经验法评估项目成本可能导致的不科学、不准确的问题;二是解决之前仅由开发部门评估工作量可能导致的其他相关部门对评估结果不认可、不理解的问题。目前河北省联社已初步完成体系构建,正在结合具体项目开展评估实践,试点项目工作量评估结果得到了产品研发、业务需求、财务管理等相关部门一致认可。
江苏本地主要金融机构之一的南京银行,为解决项目单一来源采购产品定价问题,提升项目精细化管理水平,自2017年起分两期开展了软件研发成本评估体系建设工作。目前,已构建了一套科学的软件研发成本评估体系, 可以科学地评估软件研发成本。同时,实现了项目精细化管理,并于2018年正式通过CMMI-L4认证。
应用情况分析
近年来,一方面由于基于功能点的成本度量方法持续发展升级,另一方面随着省联社各项业务快速发展,系统架构与技术实现复杂度不断提升,方法在近年应用过程中逐步暴露了一些局限性,主要表现在三个方面:
1. 功能点计算方法复杂,透明性不强。传统功能点方法较复杂,掌握难度较大。该方法对项目需求的细化程度和人员技术要求较高,使得项目成本度量工作局限于在技术部门内开展,透明性不强。
2.模型调整因子难以适应当前业务和技术现状。传统功能点方法采用的评估模型主要涉及“数据通讯”、“分步数据处理”、“最终用户效率”等14项通用系统特征调整因子,其中部分调整因子无法调整以适应当前业务和技术现状,亟需引入新的技术方法进行优化。
3.基于功能点的软件研发成本评估方法在非功能需求方面具有一定的局限性。该方法可以很好的解决软件功能性需求研发成本评估,但不适用于非功能性需求成本评估。通常,我们所指的非功能性需求主要是指软件性能、UI美化渲染等需求,这类需求大概占项目总需求工作量10%左右,行业内主要依靠经验法估算其研发成本。
4.系统局部功能点调整,尤其是功能点后处理逻辑调整的评估方法还有待研究。
应用建议
结合功能点评估方法发展状况和江苏省联社10年以来进行功能点评估的实践经验,未来建议重点从以下两方面取得突破。
1.规模化后一定要借助专业工具。借助专业工具有利于更好地开展成本评估工作,工具的优势主要体现在三方面:一是引入行业标准。专业工具在设计时通常会引入国家工信部、国标管委会等权威机构发布的行业标准,有利于提升评估工作的专业性。二是简化评估工作。专业工具引入了行业基准数据和通用模型,大大简化评估工作内容。三是固化评估流程。借助专业工具固化标准评估流程,建立并持续优化各系统基准生产率数据,有利于减少人为因素对评估过程的影响,有利于提升评估的规范性和透明度。
2.引入专业服务长期合作,持续改进。引入专业服务有利于专业人才培养、方法快速落地和评估结果准确性保证,与行业互联互通,保证评估方法朝正确的方向持续改进。
从调研和了解的情况看,开展成本评估体系建设的单位基本都引入了专业服务。专业服务在人才培养、方法导入和过程管理方面都会起到显著作用。人才培养:功能点方法实践性较强,评估人员在正式评估前和实践过程中,需接受专业培训和指导,促进大家对方法正确理解、迅速达成共识;方法导入:银行系统的复杂性和需求的多样性,专业服务可以有效借鉴同业优秀实践,使得方法快速落地并取得实效,也有利于发现共性问题、持续改进方法和过程;过程审核:规模数据是量化管理的基础,需建立有效的计数审核机制,引入第三方审核,有利于提高评估结果可信度,保证基础数据的质量。(以上内容转自 金融电子化 微信公众号。)