当前位置:首页 > 项目管理体系 > 正文

从审计视角构建人民银行自主软件开发项目管理体系

时间:2018-12-20   来源:《金融科技时代》作者:中国人民银行伊犁州中心支行 王忠华
       随着信息技术的快速发展,越来越多的央行业务借助前沿技术实现创新发展,各级人民银行自主软件开发项目规模日益庞大、数量日益增多,加之软件开发产业具有复杂性高、技术更新快等特点,对人民银行内部控制和风险防范提出了全新要求。本文将立足审计视角,对人民银行自主软件开发项目的建设流程及可能遇到的风险进行分析,对构建人民银行自主软件开发项目风险管理体系进行思考,以此进一步促进自主软件开发项目建设质量的提高和信息化投资的有效利用。
       一、人民银行自主软件开发项目流程概述
       自主软件开发项目流程用于直观地描述自主开发项目建设全过程的各个阶段和步骤。按照《人民银行分支行自建信息化项目管理专项审计方案》,人民银行自主软件开发项目建设流程分为组织与计划管理、立项管理、采购管理、安全管理、开发和实施管理、使用效果评价6个阶段。
       (一)组织与计划管理
       需制定信息化项目管理规章制度,内容要涵盖组织管理、开发交付、运行维护等主要环节,要符合人民银行信息化建设和发展的原则。要明确科技部门、项目建设主办部门和其他参与部门职责分工及参与和管理模式。
       (二)立项管理
       对信息化项目的立项流程、立项依据和立项文档进行明确规定,且遵循既定的立项管理流程。项目立项要经过必要的申报、审查和审批,要符合业务发展的需要。同时,需撰写《业务需求书》和《项目任务书》。       
       (三)采购管理
       信息化项目应纳入集中采购管理范围,采购的决策和执行程序要公开、透明。应与供应商签订采购合同,并确保结算方式、金额、内容等与合同条款一致。采购方式和程序要具备合规性。
       (四)安全管理
       应在立项阶段考虑安全问题,开发全过程不允许使用盗版软件。科技部门要对业务部门提出的安全性需求进行分析和审查,并在系统开发中实现其安全需求。接入人民银行业务网的系统要进行安全测试和漏洞扫描,并要通过本级科技部门审核批准。对上级行系统资源造成影响的项目,要报上级行科技部门审核批准。
       (五)开发和实施管理
       自主软件开发应参考《中国人民银行软件开发规范》,开发过程中要遵循《项目任务书》,系统上线前需经过测试,测试文档要完整。具有一定复杂度和使用范围的系统,要编制实施方案、用户手册和系统运行管理规定。项目投产前要经过试运行,并明确管理使用和运行维护责任部门。相关技术文档、开发文档和实施方案等要规范、完整。
       (六)使用效果评价
       信息化项目要按期完成,达到预定目标,确保业务需求的充分实现。项目实施后应能明显提高业务处理的效率和准确性,且风险隐患应得到有效防范。使用部门和操作人员应对开发软件有较高的满意度。
       二、自主软件开发项目建设过程中的风险分析
       合理确定软件开发项目的风险分类标准,是审计自主软件开发建设项目的必需程序,也是关键一环。对软件开发项目的风险控制应贯穿软件开发过程的始终。
       (一)组织与计划阶段
       这个阶段需要关注的风险点主要有两方面。一是管理风险。是否对软件开发建设项目进行组织管理,并向上级行报备;信息化项目领导机构是否对建设项目高度重视,从而确保各项投入得到应有保障。二是质量风险。软件开发建设项目是否建立起相应的组织保障、制度规范等,质量管理标准和模式是否适当、规范。
       (二)立项阶段
       该阶段主要关注的风险点是分析风险。可行性分析是否充分、合理;是否建立了固定的立项流程和审批程序;项目建设目标是否符合业务的发展需要等。
       (三)采购阶段
       这个阶段关注的风险点是成本计划风险。主要是关注因缺乏对采购预算的合理估计而引起的超预算或超标准采购的现象。
       (四)安全管理阶段
       该阶段主要关注的风险点有两方面。一是技术风险。是否因技术难度大或系统复杂程度高等原因导致业务部门提出的安全性需求不能得到满足。二是实施风险。是否由于未进行充分的安全测试和漏洞扫描,导致系统接入后产生安全问题。
       (五)开发和实施阶段
       这个阶段主要关注的风险点有四个方面。
       一是需求风险。产生需求风险的不确定因素较多,包括需求分析不全面、需求分析方法不恰当、需求定义不准确、需求未经过用户确认、技术上暂时不能完成要求的功能等。这些需求方面的不确定因素给自主软件开发项目的进度控制和成本估计带来了较大风险。
       二是设计风险。自主软件开发项目设计是否能满足需求分析阶段确定的功能和目标;系统采取的数据结构和算法等是否稳定、高效;系统模块设计和划分要尽可能满足“高内聚、低耦合”的原则。
       三是编码风险。开发人员在实现系统功能时不得留有“后门”程序;系统功能发生变化时要有严格的审批程序,并事先与用户讨论,获得用户认可。
       四是测试风险。测试要覆盖自主软件开发的全过程;测试计划、用例要全面和科学;终端用户要充分参与到测试过程中,对测试中发现的问题要进行合理解决。
       (六)使用效果评价阶段
       该阶段主要关注的风险点是交付风险,为交付用户使用做准备。用户提出的业务需求要得以充分实现。该阶段需要向用户提交用户手册、测试报告等文档,并准备较为稳妥的试运行方案。在通过用户验收和最终评审后,将软件系统正式交付使用。
       三、构建人行自主软件开发项目风险管理体系的建议
       (一)构建良好的软件开发管理闭环流程
       软件开发是一项系统性工程,不能依赖单一的某个部门负责和实施。因此,要想实现技术与业务的良性互动与融合发展,应建立起参与部门各负其责、协同配合的工作机制,形成规划、立项、开发、测试、集成、运维的闭环流程管理和有效衔接,减少或避免各环节流程中“灯下黑”的现象,逐步完善软件开发参与各方的沟通机制,实现软件开发项目管理、开发测试、运行维护等各项工作的规范化、流程化和自动化,不断满足和促进人民银行信息化建设的需要。
       (二)建立标准化的软件开发全流程体系
       良好的软件开发项目建设管理需要建立涵盖从信息化项目领导机构监督到具体功能编码实现的全流程体系。为提高软件开发质量,国内外许多机构、组织研究制定了软件质量控制的标准(如CMMI标准、ISO系列标准等)。应不断加强对这些国内外先进理论的学习研究,并引入成熟的软件开发管理标准,结合人民银行自身情况,对软件开发过程、管理流程、分工协作进行标准化规范,建立起符合人民银行实际的软件开发标准过程。
       (三)从审计视角持续完善软件开发过程
       各级人民银行在实施自主软件开发过程中,要从审计视角关注动态识别软件开发过程和管理活动中的潜在风险,持续监控软件开发全过程,收集风险点相关信息,逐步积累丰富的风险管理素材,并采取合理措施应对风险,不断增强自身对风险的可预见性。
同时,要建立起良好的领导机构监督、系统合规实施、内部风险防范、阶段监测预警体系,充分发挥人行各参与部门和监督部门的合力作用(如软件开发部门坚持日常风险监控,领导机构成员定期监督检查,审计部门参与软件测试等)。以多形式、多部门协作的方式,构建分层次、多角度、不间断的软件开发风险管理体系,切实防止不必要的管理系统缺陷及安全问题的发生。 (本文2015年发表于《金融科技时代》)
分享到:
免责声明:

1、PMO评论发布的所有资讯与文章是出于为业界传递更多信息之目的,并不意味着赞同其观点或证实其描述。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请浏览者仅作参考,并请自行核实相关内容。

2、本站部分内容转载于其他网站和媒体,版权归原作者或原发布媒体所有。如文章涉及版权等问题,请联系本站,我们将在两个工作日内进行删除或修改处理。敬请谅解!

延伸阅读:

本站推荐

more >>

活动圈

more >>

公开课

more >>

书刊柜

Copyright © 2019 PMO评论网 版权所有 备案号:京ICP备17062359号-2 如转载本站文章,请注明原作者和原发布媒体

本着互联网分享精神,本站部分内容转载于其他网站和媒体,如稿件涉及版权等问题,请联系本站进行删除或修改处理

客服电话:010-89506650 89504891 非工作时间可联系:18701278071(微信) QQ在线:511524637

新闻与原创文章投稿:tougao#chinapmo.com 客服邮箱:info#cpmta.com(请将#换成@)

PMO评论网微信公众号

PMO评论网微信公众号

PMO评论网微信公众号

PMO大会微信公众号