对加拿大电子通用信息管理系统(eClMS)开发的审计背景审计目标\范围\时间\风险和方法审计标准审计发现的问题和建议背景加拿本自然科学和工程研究学会(以下简称NSERC)及社会科学和人类研究学会(以下简称SSHRC)共同开发了电子通阳信息管理系统(以下简称eCIMS),目的在于提高这俩个学会对电子及纸质存档的管理,希望实现存档信息生命同期的自动化管理,同时加强对下属机构信息的收集项目在2004年下半年进入关键时刻,预计自2005年12月1日开始试运行,至2005年3月31日结束。4个月试运行的目的是为了审查系统的完善性,发现人员培训、系统维护及支持等方面存在的不足,两个学会将根据试运行结果决定是否全面采用该系统。试运行之前,两个学会组织了针对eClMS系统开发的联合审计项目审针目标、范围、时间、风险和方法审计目标:独立客观的评价所采用的管理控制体系是否有助于eCIMS项目的成功审计范围:管理标准、流程以及实务审计时间:该审计自2004年11月实施,对截至报告提交日的项目管理风险和技术风险.项目管理风险和技术风险项目管理风险包括功能范围界定不当、成本时间超支、用户需求不符等风险;技术风险指包括系统功能、可用性或性能较差,软件维护困难,系统内控设计不当,技术选用不当及系统实施困难等风险(参见下列审计标准)审计方法:与相关人员就联合服务和软件领域的有关问题询问,如:CASD(联合管理委员会),双方高级管理层、CIM、eCIMS项目组、ISD、NSERC执行委员会、NSERC和SSHRC学会管理委员会、目标用户等;察看相关文件,如项目计划书,项目工作计划、项目文件、项目状态报告、信息管理战略计划、委员会会议纪要,预算以及eCIMS功能描述审计标准根据内部审计师协会的《信息管理、系统开发和系统控制报告》、软件工程协会的《外购软件集成软件经验总结卜并参考加拿大审计署《开发系统审计报告》和《开发系统:最终评价》,确定以下审计标准两个学会内部应有适当的项目管理、变更管理和控制的授权1.管理层全程参与整个项目生命周期2.管理层负责提供项目所需的充足的人力和财力3·管理层负责审批项目计划,其中包括项目目标、功能范围、开发方法、风险管理策略、交付标准和里程碑及相关的检查控制点4·管理层建立变更管理策略及时与相关人员沟通突发事件建立一个涉及多职能的综合领导小组全面指导和监控项目确立eCIMS项目目标针对项目目标,与两个学会及时沟通、交流为达成目标,清除相关障碍总结项目进展状况巩固已取得的成就并在此基础上持续改进将变更理念植人企业文化5.管理层应根据项目计划监控项目进展,分配资源,发现偏差,及时调整计划;确定系统性能和功能的最低要求两个学会的用户均应充分参与需求分析1.用户参与提出系统的功能范围,从机构整体角度确定用户何时介入项目以及参与顺序,分析阶段确定软件功能和内控需求,在正式推广前验收测试2·用户参与选择所采用技术并验证其可用性和可控性适当的项目管理1.管理如下风险,功能范围界定不当、时间成本超支、用户需求不符;2·向管理层定期提交项目报告,监控项目进展并及时调整偏差,提醒管理层关注项目实际进展与预期的差距信息系统部(ISD)的充分参与1.辅助技术选择并进行技术风险评估,参与商业风险评估,并与用户一起设计适当的内控软件(对内部进行控制)2·从技术角度辅助系统实施3·参与确定系统性能计划和性能需求充分的质量检测1.全过程质量检测2·评估辅助系统开发的内部控制和相关外部控制机制,确保系统满足机构的内控和安全要求恰当的系统开发方法采用可靠的系统开发方法指导、管理开发团队工作1.项目启动阶段应进行成本效益分析,并完成项目审批;2.分析阶段应定义用户需求、开发规程、数据要求和技术标准3.设计阶段应设计具体开发步骤、数据结构,并进行数据格式转换4·开发阶段应规定具体开发流程、文档管理办法、用户测试流程;上实施阶段应完成最终用户培训、项目验收等方面内容审计总体评价eClMS的项目管理有很多值得借鉴的地方,如明确提出项目计划书,得到高级管理层的关注以及优先支持;吸纳专家意见;建立项目计划和项目测试计划;实施初步风险评估;明确角色分工、交付标准、合理安排时间、分配资源;编制项目进度表着手拟定项目报告;成立指导委员会负责项目整体管理;建立用户测试小组;设有沟通计划;通过外购软件集成和有限测试方法来降低项目固有风险等但项目仍需要在以下方面加以提高1.建立合理的监督机制和责任流程2·合理计算、报告、管理系统开发的成本和时间进度3·关键用户全程参与系统开发过程4·应拟定恰当的系统开发方法及评价标准审计发现的问题及建议一、合理的监督机制和责任流程为辅助高级管理层完成项目监控、资源分配和变更管理,应建立一套合理的监督机制和责任流程。尽管高管层自项目启动即纳人其中,并参与项目进程的具体管理与审批,但对合同签订和资源分配等重要事项没有提出需要审批的要求,也没有指定专门部门进行用户管理治理和责任该项目设立了eClMS指导委员会;审计认为:尽管指导委员在引领项目进程中扮演了重要角色,却未能定位在治理的层次上开展工作eClMS指导委员会在项目计划中,详细描述了项目目标、范围、里程碑、审查控制点以及项目管理、控制方法,细化了项目内容、资源需求;拟定了系统开发管理体系;进行了初步风险评估,并确定了风险转移办法;通过编制角色分工表明确各利益相关者的职责;完成2004一2005年度时间、成本估算尽管两个学会对信息管理模型的制定和执行有所监督,但对项目计划的执行却没有起到监管作用,没有要求也没有收到重要事项的请示报告,比如:合同签订、资源分配等变更管理2004年4月,项目组已经认识到新系统可能遭遇用户的抵触,但高管层并没有及时倡导和开展变更管理以降低该风险。当学会应对项目突发事件时,有效的变更管理策略更为重要,这包括:建立跨部门整合领导小组来发起和指导eClMS系统的推广;设计eClMS系统蓝图,并经常与员工沟通交流;逐步实施有效变更;在整个机构范围内推广变更理念等内容建议NSERC和SSHRC应联合建立eClMS治理委员会(成员包括高层管理者),负责制订战略目标,整体把握项目进展,接收有关合同签订和资源分配的请示报告,指导变更管理策略的建立和实施,并定期向学会汇报工作进展二、合理计算、报告、管理系统开发的成木和时间进度项目成本和进度管理仍需改进。透过历时2年的程序开发、相对仓促的项目经理任命、11月份将要实施的不完善的测试计划,以及不断追加的项目成本,可看到成本超支、进度超时的风险急剧上升。没有对项目总成本和时间安排进行事先估算,也未及时向管理委员会报告实际成本支出及项目进展情况eClMS面临着功能设计不当、用户需求不符、时间成本超支三种项目管理风险功能设计不当eClMS功能设计不当包括两种可能:一是系统功能不能满足用户需求,二是开发了冗余功能。项目组打算采取公认的有限测试方法来确定系统功能是否满足要求用户需求不符该系统同时面临用户不满的风险。为减少更新系统所产生的影响、保持纸质信息和电子信息的延续性,该系统延用了目前学会使用的文件分类方式。由用户多年使用经验发展而来,方便用户迅速找到老文件,顺利通过计算机管理。有限测试也有助于降低滚风险,但该测试仅限于CASD的管理层执行分支,因而削弱了其有效性成本和时间超支指导委员会既没有事先估算项目总成本和时间进度,也未及时向管理委员会报告实际成本支出及项目进展情况。而且,项目计划中已经指明:如果人力不足将导致项目延期和质量降低eClMS项目当局实施4个层次的项目监控。前三个层次为每日、每周、每月发现问题并阐明问题解决情况和项目进展状况,第四个层次是每季对项目计划进行回顾,并做必要修改。但如前所言,项目指导委员会的角色定位不当导致其难于充分发挥作用建议项目经理在里程碑时点计算已耗成本和时间,并估算后续阶段的成本和时间。成本应包括开发成本和维护成本项目当局应定期向指导委员会报告项目进展情况,并提醒委员关注时间、成本、进度偏差eClMS指导委员会在做决策时应综合考虑累计已耗时间、实际成本以及总成本三、关键用户全程参与系统开发过程eClMS规定:信息管理工作小组负责对系统设置提供建议和指导。但该小组仅在有限测试阶段(2005年2月)介入项目.项目管理层、用户小组、学会员工以及信息管理等各有关部门正就项目进度展开积极交流,希望通过沟通引起信息管理人员和潜在用户的关注,但仅限于单向沟通,没有向用户咨询如系统功能范围界定、工作流程设计,系统功能和内控需求定义、测试及验收等方面的建议用户参与外购软件集成外购软件集成能降低项目成本,且易于获得和升级,是公认的可较好降低系统开发风险的举措。项目决定对外购软件不作任何改动,直接集成于在线连接系统。这既减少了开发成本又可以从软件提供商处获取较多的技术支持但外购软件集成方式也带来如用户参与不足等相应风险。如果用户没有同管理层一起参与系统开发,系统就难于满足用户需求,而且用户对新系统会产生抵触情绪。另外,如果用户没有参与系统输入、处理、输出的控制设计,系统的机密性、准确性及信息的可用性也难于保障另外,外购软件集成可能会对用户工作流程和方法提出新要求。有时现行流程可能比系统所采取的工作方法更先进,在这种情况下可以要求开发商相应修改产品。在决定哪种工作流程能够且应该被修改的过程中,用户参与也是非常重要的。对于此项目来说,这个过程由于涉及到两个学会,因此难度更大用户参与有限测试eClMS有限测试将范围限制在CASD的管理层执行,这样易于管理且效率较高,但不能代表全体用户,尤其是程序领域的用户.另外,设定得有限测试评估标准也不能完全代表用户整体建议测试阶段增加用户参与度,用户代表多元化,包括程序领域项目经理在定义、检测和验收系统的功能设置和内控要求中,明确用户职责四、怡当的系统开发方法及评价标准eClMS项目使用了两种公认有效的方法来降低风险,一种为商业软件,一种是有限测试。项目设置了一名专职ISD(信息系统部),职责包括:起草项目计划;培训项目小组成员;向CIM递交计划;拟定项目测试计划并评估项目风险;质量检验;执行并评估测试项目;负责项目当局和eCIMS项目小组的沟通;在全学会范围内发布并配置eClMS系统ISD负责维护产品和开发环境;提供系统技术支持;对CIM提供非技术事项支持;对IT安全政策和实务提供意见和指导。通过有限测试,加强了ISD在开发过程中的角色。为保证其有效性,ISD实施的措施需要恰当的系统开发方法来保证系统开发方法是指:如何在不同的系统开发阶段,将用户需求转化为程序功能的一系列实现步骤一个优秀的系统开发方法可以为开发团队指明方向,保证项目工作质量;同时,因具有弹性而可以根据项目情况灵活调整。一个较差的方法,会导致较多的操作、程序或用户错误,对机构资产和运行带来巨大的风险系统开发方法和外购软件集成使用外购软件集成还有以下风险:内部开发人员对程序不熟悉,增加了技术支持和维护的难度;由于开发商不能持续经营导致缺乏后续支持服务开发商提供的文档不适于ISD和机构员工学习和使用等。外购软件集成的开发项目需要特定的管理流程,不能采用传统方法进行需求分析或者概要设计,只有在进行充分分析后才能做出是否减少或省略具体步骤的判断。对系统进行参数设置或客户化也需要遵循特定的流程系统客户(二次开发)属于系统设置、集成安装的一部分,应详细记录该过程,谨防项目文件缺失。客户化同原始开发一样需要关注程序编码、开发语言,具体参数设置必须与机构使用的外部和内部程序兼容系统开发方法和有限测试应使用真实数据来测试系统,以便在全面应用之前弥补用户培训、系统维护哦术支持等方面的不足。按照规定,CIM需每日对系统记载的历史/新信息的准确性和有效性进行测试,评价系统性能目前测试计划中采用的评价标准不够全面。全面的评价标准应涉及系统本身的运行效率、系统功能抛理数据能力、输出报告状况等,具体衡量指标包括:成本收益率、信息标准、软件功能是否满足用户需要、软件与外部及内部系统是否兼容、是否符合文档管理标准在测试开始前,应