关于中国银行中国银行软件中心研发成本度量有道

当前位置: 大雅查重 - 范文 更新时间:2023-12-31 版权:用户投稿原创标记本站原创
从代码行到快速功能点
中国银行是国内唯一一家连续经营超过百年的商业银行。软件中心是中国银行信息科技体系的重要组成部分,是总行的直属部门,人数近两千人,承担着全行海内外应用软件的研发和维护支持工作。同时也是实现中国银行总行科技引领战略部署,推进创新发展、转型发展、跨境发展的主要开发力量。
中国银行软件中心主抓这项工作的总监姚丹介绍,软件中心一直重视软件过程体系建设,2009年成为首个通过CMMI4级评估的国内金融软件企业。“软件成本的控制关乎软件研发的质量、过程改进和资源配置。能不能建立一套科学合理的被大家接受的成本度量机制,以工具、数据、度量作为基础来进行管理,关系到企业的生存和发展。所以从这个层面来说进行成本度量分析自然是我们一项重要工作,这是我们引入行业标准的背景。”
漫漫度量路
管理大师德鲁克指出:没有度量就没有控制,没有控制就没有管理。姚丹说:“目前,国内外仍然没有统一的软件规模度量方法。究其原因,是由软件研发工作的固有属性决定的。软件研发本质上是一种智力活动,其过程复杂、非结构化程度高,而人类对自身智力活动的认识还有待提高。软件研发的许多投入不能清晰地确定,而其产出物主要是无形的。正是软件研发的这些属性和特点给予其规模度量工作很大的灵活性,软件规模度量方法百花齐放便成为很自然的事。”会计毕业论文下载
姚丹介绍,早在2005年,中国银行软件中心就启动了相关方法的研究工作,并于2010年形成了软件中心内部的功能点估算方法、建立了配套的管理体系,2011年在全中心范围内推广使用。2012年他们启动了软件成本度量过程改进专题,一方面在内部进行研究改进,另一方面引进外部先进的理念和优化方法。
“之前我们也采用按项目投入人天的度量方法来反映项目的投入量,而功能点方法,很好地解决了如何度量面向业务需求产出规模的问题。以投入产出的度量分析作为过程改进输入,来进一步提高管理的精细化水平。” 姚丹说。
功能点度量是基于需求功能的软件规模度量方法,是度量生产效率的一个关键点。主要负责推进这项工作的中国银行软件中心主任工程师薛勇说:“这项工作由中心EPG组织牵头作为过程改进专题工作,下面有两个主要部门:一个是总体部,主要负责功能点规模估算;另一个是项目管理部,负责工时登记及生产效率,整体工作以跨部门工作组形式推进,工作组直接向我汇报。”
他介绍:“大规模软件开发同样需要度量生产效率。如果只有工作量,缺了规模,效率就没法衡量。从工作量估算的角度,必须先估算规模,然后参考历史的生产率数据建立基线,最后得出工作量及周期。如果没有数据基础,就没有历史数据供参考,只能拍脑门了。”
规模估算有多种方法,中国银行原来采用代码行估算规模,但是发现有局限性,这个规模产生于设计或编码源于:职称论文http://www.328tibet.cn
结束后,作为事后度量还可以,但在项目早期阶段仅凭需求是不太容易估算出代码行的。所以要找到一个方法,能解决事前估算、事中监控、事后度量的问题。2007年,中国银行就开始接触功能点方法,但是当时更多地是根据书本上的理论,试图拿一把尺子量所有人,基于项目建立组织基线,最后发现挑战太大了,大家都在质疑估算结果的准确度,其原因有两个方面:
第一,原始模型的变动因素,比如功能点里面的14个调节因子,看起来像是计算机处于七八十年代早期背景的非功能约束,其理论上最大值对于功能点规模有30%的影响。估算人员可以根据自己的解释,随时对这个刻度进行调整,这就失去了权威性。
第二,当时建组织基线是基于项目的,但中国银行的组织架构形式、人员配备都是基于产品的,项目是动态的,产品团队才是静态的。比如今天是ABC三个产品组合产生的生产效率,明天是DEF产生的生产效率,他们之间没有可比性。另外利用这些数据进行度量管理也存在问题,假如该项目生产率出现了问题,如何知道是ABC中谁的问题呢?
2010年中国银行重新引入了标准功能点的方法,这次重点解决了以上两个问题。首先,根据各个产品系统情况分别自定义14个调节因子系数并相对固化,因为中国银行的项目大部分都是在已有的产品上做增强型改造。只有当非功能特性如系统架构发生了重大调整才允许变动,但是变动的数值及变动的频率要严格控制,这样就把30%的波动减少了。其次,按照整体IT产品系统架构规范确定系统边界,按照产品系统分解功能点,按照产品及项目维度分别建立各自生产率基线,在估算时分别计算并累计总工作量,度量目前确定的方针是产品团队自己和自己比。
“引入标准功能点方法后,我们也遇到了一些问题,如立项之前的快速估算问题。我们在立项之前会根据需求做概要功能分析,架构设计及概要产品设计形成技术方案,然后估算工作量及周期并计算项目成本供立项审批决策使用。但这个阶段时间比较短,不可能等所有需求分析完成才开始。需求分析是我们立项后的第一个实施阶段,标准功能点在需求分析后形成。另外,对标准功能点的理解和掌握是否准确,估算及评审人员的相应技术资质如何解决,已有估算数据是否准确都是问题。还有,即使是那14个标准的调整因子,我们都是坐在‘井’里面自己琢磨的,同业怎么搞,行业标准、国家标准到底是什么,我们能不能和行业标准对标,这也是我们需要重点解决的。” 薛勇说。
试点应用 柳暗花明
参与行业标准《软件研发成本度量规范》的试点应用,采用这个标准推荐的快速功能点方法,薛勇认为:“通过和协会的合作,我们请协会的专家对中心现行标准进行了评估和改进,对历史评估数据进行了抽样检查,找出存在的问题,补充了适用于立项前的快速功能点估算方法,基于以前标准功能点累计的数据对快速功能点估算的加权因子进行了测定,对人员进行了培训及CCEP技术认证,基本解决了我们遇到的问题。”
“目前我们正在按照完善后的标准执行。快速功能点估算方法在规模估算上分别针对新建和增强型产品作了适当简化,通过基于标准功能点建立的生产率历史数据的套算关系,解决了立项前时间短、需求尚未详细分析情况下的快速估算问题。在立项后的需求分析阶段,我们仍然采用标准功能点进行估算规模,并以此作为度量的规模数据。每年我们会分析两者差异,套算简化系数及对应关系。”薛勇介绍,“在生产率度量方面,我们重点根据同一产品并行任务的稳定性及沿时间轴的变化趋势找出生产工艺及过程改进的问题,提升生产效率。这是我们在大规模软件开发模式上扩展管理半径,进行精细量化管理的基础。”
“在协会专家及我中心共同努力下,通过现场调研诊断、方法优化及导入培训、历史数据审查分析等一系列活动,我们取得了适用于项目不同阶段的规模估算方法、中国银行软件中心工作量估算模型等一系列成果,同时有一百多名员工通过CCEP认证,为后续工作的开展奠定了良好的基础。2013年,这些成果将在中国银行软件中心内部全面推广应用,我们也将在此基础上,对应用情况进行跟踪、验证,持续优化调整,并逐步建立软件中心的基准数据库,强化中心的量化管理能力。同时,我们认识到,对于软件产品,除了功能方面的需求以外,还有相当比例的非功能需求。比如说金融软件产品在安全性、可靠性、易用性、运行效率、可维护性等方面都有较高要求,需要投入相当大的精力去解决,相应的研发工作量投入也会增加。对此方面,我们也将在标准应用中有目的地总结估算和应用经验,研究适用的度量方法,作为功能点方法的有益补充。”姚丹总结说。