企业外包软件项目综合管理平台构建研究.doc
企业外包软件项目综合管理平台构建研究 [摘 要 ] 针对企业软件项目外包的特点,分析软件外包项目容易出现的问题,提出企业软件项目管理解决方案。通过构建企业综合应用管理平台,从软件需求管理、开发过程管理、软件配置管理、变更管理和建立企业知识库等方面加强企业和软件系统公司的交流协作,使企业能真正参与到软件开发过程中,提高企业外包软件项目的成功率。 [关键词 ] 外包软件 ;项目管理 ;应用管理平台 将企业 IT 项目的开发、运行管理和维护承包给外部专门的机构负责的做法,称为信息技术外包。也就是社会组织在规定的服务水平基础上,通过合同将一部分或全部信息技术、信息系统和相关服务委托给信息技术承包商,由其提供社会组织所需的信息技术服务。美国 Gartner 公司的调研表明,到 2007 年底,信息技术外包在全球所有信息技术业务中所占的比例将达到 56%,而软件外包又是 IT外包项目的重要内容。企业如何控制项目建设的进度,如何协调参与项目的各方人员,如何应对纷繁复杂的版本管理问题,如何在软件外包过程中处于主动地位,而不 受承包商的牵制,这些都是在企业外包软件管理过程中亟待解决的问题,也是对企业管理人员提出的新的挑战。本文以信息化要求较高的大中型企业作为研究背景,重点探讨软件开发过程中企业对外包软件项目的控制和管理。 一、企业信息技术外包带来的问题 企业信息化建设是一个系统工程,需要企业各部门的协调配合。企业由于没有相应的技术力量能独自承担信息化建设工作,大多采取全部或部分外包给专业的软件承包商 (软件系统公司 )来设计实施。为提高企业信息化的成功率,在信息化建设过程中,企业应该采取积极措施,对整个项目实施进行全程跟踪, 实时控制系统的分析、设计和上线维护等各个过程。可是在实际运作过程中,企业更多只是作为旁观者,往往不能发挥其应有的作用。由此带来的问题可从以下几方面进行分析。 第一,企业本身信息化水平较低。很多企业管理过程中的各种处理流程还是使用手工管理的方式,多采用纸质文档。由于采用手工管理,因此流程中的很多相关信息无法记录下来,追溯困难,以后很难对相关信息进行统计、重用和分析。 第二,企业内部及企业与承包商之间沟通不通畅。项目开发过程中各部门之间缺乏有效的沟通手段,各管理流程之间无法实现流程的自动化操作,流程之间的信息亦不能交互,无法实现自动化的流程管理。由于软件设计人员本身缺乏行业知识,难以准确地捕获用户需求。企业技术人员熟悉企业各项业务流程,却常常很难理解软件设计人员对需求的描述,企业和承包商之间缺乏有效的需求沟通手段。很多时候,出于成本等方面的考虑,外包项目经常分包交由不同的软件公司来实施,造成系统开发团队沟通缺乏,项目集成时间过长。 第三,企业没有完善的软件产品管理体系。企业内部缺乏健全的内部产品版本控制、发布、上线、运营维护、变更的管理体系,软件系统的开发与维护过于依赖承包商 (软件公司 )。承包商只负责 系统的分析设计和上线,对系统以后的升级考虑很少,系统难以复用,从而造成软件系统升级费用居高不下。软件测试方面,由于测试的需求不明确或可靠性测试不充分,导致系统在运转一段时间后出现故障甚至崩溃。对发布版本的功能测试不完整,导致缺陷隐藏到系统上线后才发现,系统一旦重载情况下就无法工作。配置管理方面,由于企业没有真正参与到系统的开发中去,对系统版本很难把握,造成系统版本管理不善,导致无法重现历史版本,而且开发人员可以在未经授权的情况下任意修改代码或文档。难以记录、追踪和管理项目的变更,难以实现量化管理。 最后 ,企业缺乏对系统运营维护中的需求变更的管理及知识库的积累。企业所掌握的文档与代码常常不符,造成系统的后期维护和系统扩充困难。系统上线运行后,企业对需求变更没有有效的管理手段,同时对系统相关问题和解答没有一个经验、知识的积累和管理机制。 这些问题导致的直接后果就是企业无法监控外包软件的质量和进度,无法追踪项目开发各阶段的信息,无法估算项目时间和成本,无法评估项目组人员的工作量,无法记录和追踪需求、产品、文档、流程的变更过程。整个项目对企业基本属于黑箱操作,企业无法实施有效的管理。 二、解决方案 针 对上述软件外包过程中出现的问题,需要企业在加强软件项目流程管理的同时,建立一个完整的项目管理基础架构,用以管理系统开发及以后运营维护中的所有软件应用资产,形成标准化、规范化的项目过程及流程管理。 目前,常用的软件项目管理体系有国际标准 ISO9000: 2000(ISO-15504)、软件能力成熟度模型 (CMMI)、项目管理知识体系指南 (PMBOK)等。对于企业信息系统建设项目, CMMI 有较好的针对性,它体现了软件组织和其他组织在软件开发管理方面的最佳实践,因此选用 CMMI 2 和 CMMI 3 作为主要的管理系 统基础,同时借鉴 PMBOK 和 ISO-15504 的部分内容,依照软件项目管理过程构建适合企业的项目应用管理平台,对外包软件项目实行统一规范管理。 (一 )软件项目管理过程 由于软件过程不可见,软件产品建设不同于其他的产品制造过程。企业对信息化建设项目的管理必须依照软件开发流程的特点来实施管理。软件项目管理过程如图 1 所示。 项目初始过程是项目启动阶段,重点进行业务需求规格的制定,获取业务需求规格评审表。项目计划过程是项目过程定义的阶段,通过项目过程裁剪,对项目时间、项目成本、项目质量、项目风险、人员计划等进行全面的认定。项目实施过程包括软件工程过程、同行评审过程、软件质量保证措施、软件建构管理等一些过程。变更控制过程包括项目范围变更、项目时间变更、项目成本 变更、项目质量变更、风险跟踪和变更的控制。项目结案是项目收尾和交付使用的阶段,并提出产品运营维护方案。 (二 )企业应用管理平台的构建 该应用平台根据软件工程过程管理和实施方法论,结合企业在外包项目中的作用和地位,以问题为中心统一规划设计,其架构如图 2 所示。在外包项目中,企业是客户、用户,同时也是产品开发管理组的重要成员。企业积极参与产品设计,和开发项目组在需求和项目目标上始终保持一致,是项目成功的关键因素之一。 架构中各个平台各司其职,核心应用管理平台作为管理框架基础,负责外包项目产品管理、运行 维护、成本管理等管理事务,同时提供变更控制流程的定义和管理,并且在适当的时候,建立标准、完善的项目明细管理体系,实现项目策划、跟踪、质量、成本及风险等方面的管理职能 ;在核心管理平台的基础上增加外围协作机制,并针对外围协作的审核机制构建外围协作管理平台 ;在有效的产品管理的基础上,针对文档管理增加文档审核、修改、发布、文档检索等功能,构建文档管理和发布平台 ;同时为整合上述 3 个平台,并提供安全防范和授权机制,建立企业级的应用 /信息门户平台,所有的管理以门户平台作为入口,通过单点登录,实现企业对外包软件项目管理的各 项职能。 1. 核心应用管理平台 核心平台作为企业项目管理的基础,主要实现应用维护、产品管理等基本功能,同时提供变更控制流程的定义和管理,实现企业内部应用管理,为外围应用协作平台提供基础,保护企业核心资产。同时,核心平台为内部人员协作提供了统一的框架。 需求管理的重点在于控制需求定义和变更,通过制定统一的维护过程、项目变更控制流程和产品发布制度保证系统的稳定性。此步骤将建立组织级和项目级的需求管理制度,尤其是对需求的定义、变更等环节,最终建立组织级的需求知识库。具体内容包括明确项目管理的目标和范 围,明确组织级需求的引入、定义、检索、变更和重用的步骤和规划,明确项目级需求的引入、定义、检索、变更和重用的步骤和规程,并始终坚持使用统一建模工具、语言,统一需求定义文档标准,统一术语词典。 产品管理功能由企业专人负责,主要控制出库和入库介质、版本和权限等,具体工作内容包括产品 (半成品 )管理和标识、出库入库登记、废品报废处理等。 项目计划管理是实施项目管理的重要环节。对于外包软件项目的管理,企业通过建立组织级和项目级的计划管理体系,明确项目管理的目标、范围以及与企业其他管理制度结合的方法,建立计划的 申报、审批制度,规范计划申报工作,消除不合理现象,杜绝作假 ;建立计划监督和跟踪制度,明确责任人,逐步建立符合企业实际的项目估算模型,以指导企业以后的项目管理。 成本管理和风险管理是在其他管理制度基础上管理深度的提高,目的是监督和建立项目成本管理和风险控制机制,做到成本、风险的可视化。成本管理的具体内容包括建立管理人员的成本管理意识,建立项目的预算、审批、监督、控制等制度,尤其是建立针对项目变更产生的成本变更的分析方法和体系。风险管理依赖于其他的管理手段,风险管理的具体内容包含明确风险管理制度的适用对象、适用范围,明确风险防范机制和风险申报处理程序等。 核心平台采用成熟的配置与变更管理工具,搭建基础应用平台环境,并提供自动化的流程处理功能。使用配置与变更管理工具,可以较好地处理外包项目开发过程、需求管理、产品管理、版本管理等各项事务,为实现外包应用开发需求与分析模型的管理,采用数据建模工具和模型协作共享管理工具。 2. 外围协作管理平台 企业通过外围协作平台与承包商进行沟通协作,外围协作平台构建基于例会制度、统一的信息交流制度和开发技术交流制度等。在项目建设过程中,有大量信息需要及时传递给企业的有关人员,例如项目进度信息、项目进展情况,以便管理者能尽早发现问题,提供相应的支持。一方面结合项目特点和企业组织结构,分析信息的产生、传输、接收和反馈的途径,进而确定信息传递方式 ;另一方面根据信息传递要求对工具平台进行完善,使其成为信息产生、传递、处理的有效途径。 通过外围协作平台,企业除与承包商进行沟通外,还需提供实时的对产品、数据等的审计 ,以确保产品开发过程的“安全”。审计工作主要依靠检查表,检查表的内容示例如表 1 所示。 3. 文档管理与发布平台 文档管理与发布平台负责文档的集中统一管理 ,统一文档生成、审批、修改和发布。具体工作内容包括确立文档提交流程和文档管理流程,如文档存放、文档编号、文档审批等程序的标准化,以及有效文档的发布和文档库的建立与管理等。 4. 项目管理门户平台 项目管理门户平台是应用管理系统统一的项目管理访问入口,依靠项目管理门户平台,通过口令设置、权限设置等使所有的访问安全有序。 三、结束语 针对企业由于软件项目外包出现的企业信息化系统设计缺陷、维护困难等问题,提出构建企业软件项目管理平台方案,规范企业对承包商和软件项目的管理。该管理方案以软件项目管理过 程为基础,同时整合相应的项目管理工具,对企业应用系统的开发和维护提供高效可靠的管理,同时提供了企业和软件承包商的沟通平台,并支持不同行业用户、不同项目管理的需求。该管理平台方案适用于发包企业对软件项目的管理,具体实施需要企业管理层的支持协助。