软件维护项目管理策略

时间:2022-04-18 11:27:00

软件维护项目管理策略

国内大多数公司在外包软件维护项目过程中,由于信息不对称、软件工作可见性差、人员变动大等原因,普遍存在着无法对外包厂商进行有效管理、工作量无法估算和监控、维护风险大等问题。根据多年的经验,我们针对代码维护频繁、质量要求严格的软件维护项目提出了一种维护项目管理方法,从流程管理上进行有效监控,在提高维护质量的同时从控制工作量的角度控制维护费用,取得了良好的效果。

一、软件维护项目概述

1.项目背景上海证券交易所信息系统是上海证券交易所的核心系统之一,自1996年提出建设,经过需求探索、实施和完善,于1999年基本建成。整个系统覆盖了上海证券交易所信息中心、发行上市部、公司管理部、会员部、交易部、中证指数公司等多个部门的核心业务,与交易系统、监察系统、中登公司结算系统、券商、上市公司、上海证券交易所官方网站、报社等多方建立了复杂的数据接口。系统建成后,由于中国证券市场的迅猛发展和上海证券交易所新业务的拓展以及管理方式的改变等因素,信息系统需要根据业务和管理的变化进行相应的频繁调整,使之能够满足业务的开展。某些新业务的推出由于保密等特殊要求,还需要在限定时间内完成代码的变更上线。根据历史数据统计,整个信息系统每周平均需要进行1次以上的变更。

同时,由于上海证券交易所业务的特殊性,一个很小的差错就有可能引起市场波动,因此要确保系统变更的绝对正确。频繁的系统变更,给管理和系统安全运营带来了极大的挑战。为了适应业务的变更需要,降低运行风险,我们经过多年的摸索和实践制定了一套维护项目管理办法,从维护工作分类、软件生命周期模型选择、维护工作流程、工作量管理、工作汇报制度等方面进行控制,从各方面确保在控制维护费用的同时提高维护质量,确保在预算范围内高质量地完成维护工作,保障信息系统的安全可靠运行。考虑到运维支持的及时性和信息安全性,我们要求外包厂商的维护团队全部驻场维护,按照派出人员数和预计维护工作量两个方面进行合同费用控制。按照实际派出人员数和实际维护工作量进行合同费用最终结算。

2.工作内容在本项目中的维护任务主要为保障信息系统正常运行提供支持服务,配合业务变更对软件系统进行维护等,包括软件功能变更等开发维护、日常运维支持和一些临时性工作需求。根据风险控制等管理需要,我们将软件维护分为以下五类,不同的工作类别采用不同的管理手段。

(1)新增功能:在业务模块中添加新的业务功能或操作。

(2)功能变更:对已上线使用的业务功能进行修改、完善和扩充或变更、下线操作。以上两类一般需要修改源代码,明确需求后,经过严格软件维护项目管理方法上海证券交易所信息echnologyManagement的变更影响分析,按照开发流程实施,经过测试后上线。

(3)辅助性操作:分为数据相关和非数据相关两个部分,不涉及代码的修改,用于支持用户更好地开展工作或者进行开发的辅助工作。数据相关工作主要是配合用户的临时需求进行数据统计、回溯等工作。非数据相关工作包括用户账户开设、培训、应用软件安装等事务性工作。

(4)常规操作:周期性的系统运维工作,包括日常例行检查、日常维护操作等。

(5)应急处理:对各类因系统故障、软件功能缺陷等突发事件处理和应对,确保系统尽快提供服务,以免对业务开展造成影响。

二、软件维护工作管理

按照合同约定,对外部厂商主要从其派出人员和提供工作量两个方面进行控制。派出人员出勤率和人员素质等比较容易考核,在此不做详细介绍。不同的维护工作采用不同的工作量估算和审核过程,一般按照外包厂商项目经理估算工作量、用户项目经理审核工作量、外包厂商编写计划实施并登记实际工作量、用户项目经理审核实际花费工作量等进行审核。新增功能、变更功能时由于工作复杂且周期长,因此采用《维护工作申请单》记录需求和相关的审批流程,详细估算维护工作量,并采用项目日报表逐日记录实际发生的工作量;辅助性操作和常规操作一般单次维护工作量小且周期短,仅用项目日报记录工作量,采用抽查核准的方法评估工作量;常规操作使用《操作记录单》记录操作日志和实际花费时间;应急处理由于事情紧急,一般不预先估计工作量,而采用事后确认的方法记录工作量。下面以占工作量比重最大且审核最严格的新增、变更工作类别为例进行介绍。

参与角色在项目管理中主要涉及以下几类角色:一是用户代表,作为需求方和信息系统使用人员的代表,提出日常维护需求,负责维护需求提出、确认,系统变更后验收和使用;二是用户项目经理,即出资人代表,代表上海证券交易所对项目进行总体协调和管理,负责合同相关事项管理;三是技术负责人,即用户方信息系统的技术负责人,是信息系统的系统管理员、数据库管理员、业务系统技术代表的统称,协助用户项目经理对外包厂商提出的技术方案、工作量进行评估把关和批准,协同评估变更影响分析,批准变更;四是外包厂商项目经理,即外包厂商项目组负责人,与用户项目经理、用户代表、技术负责人等有关人员协调,组织维护组成员高质量地完成维护工作;五是维护组,由外包厂商派出,维护工作实际执行人,在外包厂商项目经理组织下完成各项代码维护和辅助工作。