[摘 要]某企业集团因工作需要, 自行开发了 一套网络版的人事管理信息系统, 然而, 系统实施后并未能满足集团人事业务工作的需要, 需要进行二次开发。 本文从系统开发的生命周期角度进行分析,发现该系统实施失败的主要原因是系统规划、 需求分析、 系统设计三个阶段工作的跨越, 针对发现的原因, 本文尝试为该系统二次开发提出相应建议。
[关键词]管理信息系统; 失败原因
一、 案例背景
A 集团是国资委属下某上市公司的控股企业, 该集团业务覆盖地域广, 下属机构众多且分布在多个省市, 企业员工日常内部流动频繁,人事信息经常处于变动之中, 人事信息维护工作量大。 然而, 由于缺乏联网的人事管理信息系统, 集团公司人力资源部日常无法实时掌握全集团的人事动态信息, 关于人事信息的收集, 一般都要经过下属各级单位进行层层上报, 之后由集团公司人工进行数据汇总来获得, 工作量极大。 同时, 集团的上级总公司也无法掌握全总公司实时的人事变动信息。 为了加强人事基础信息的管理, 总公司委托专业公司开发了一套网络版的人事管理信息系统, 并要求下属各集团公司也要开发网络版的人事管理信息系统, 且开发的系统其数据库结构、 各类代码要与总公司的系统相对接, 以便未来可以实现数据共享。按上级的要求, A 集团的领导安排企业内部的信息技术部门自行开发网络版的人事管理信息系统, 由集团人力资源部配合实施。 A 集团内部各级人事工作人员均希望通过开发的系统, 能够提高日后的工作效率, 理顺工作流程, 减少日常工作量。 然而, 经过一年左右时间的开发, 人事管理信息系统上线了, 虽有远程数据录入、 存储、 查询的功能, 却由于用户界面不友好、 模块功能交叉、操作效率低等原因,无法满足集团内部提高人事工作效率的需求。
系统开发失败的代价是成本、 时间、 效率等各个方面的损失, 为了 利用好已有的开发成果, A 集团计划基于现有系统进行二次开发。下文将分析该系统的开发实施过程, 找出其实施失败的原因, 并尝试为该系统二次开发提出改进建议。
二、 系统开发实施过程
A 集团信息技术部门在接到系统开发工作安排后, 立即着手实施系统开发计划。 部门内部开会进行研究, 指派了 负责开发的工程师,并与总公司相关部门联系取得了数据库的源代码与结构设计标准。 信息技术部门同时联系了 A 集团的人力资源部, 由人力资源部牵头, 召集了全集团下属各个单位的人力资源部相关人员开了一次系统需求研讨会。 参会时, 由于是临时通知, 大部分参会人员对此次会议的目的认识比较模糊, 并没有做充分的准备, 会上主要是告知参会人员集团公司将开发网络版的人事管理信息系统的事, 并要求各单位全力配合, 没有更进一步的细节方面的讨论。 会后, 信息技术部便着手开始进行系统开发, 负责该项目工程师团队在开发过程中常与集团人力资源部的人员进行沟通, 以了解人力资源部门对系统应用的需求。 系统开发过程中, 每有阶段性开发成果, 信息技术部就将开发好的模块开放供用户试用, 要求用户录入数据, 以测试系统是否运行正常, 再调试修正系统。 大约一年后, 系统正式投入运行。
三、 系统开发失败原因分析
关于系统开发项目的失败原因, 国内外学者进行过较系统的研究。Linberg(1999) 的研究认为影响软件项目开发成败的关键因素包括强有力的领导、 组织氛围、 技术要素、 可行的计划、 专业的人员等要素[1]。 Kappelman 等人(2006) 归纳了导致 IT 项目实施失败的首要的 12 个原因, 并将其分为两类, 一类是与人相关的原因, 包括: 缺乏高层管理的支持、 项目管理力量薄弱、 利益相关者参与不足、 项目开发团队的责任心不强、 项目成员缺乏相关的知识和技术、 企业专家工作太忙没时间参与; 另一类是与开发过程相关的原因, 包括: 缺乏书面的需求分析文档和成功的标准、 缺乏项目变更管理的流程、 开发日程不合理、 利益相关者之间沟通不畅、 没有足够的资源、 由于首次开发缺乏既有的开发经验而得不到组织上的支持与相关资源, 因为管理者不知道要投入多少资源进行支持[2]。 Linberg 和 Kappelman 等人的研究对本案例的分析具有较大的参考价值, 但为了准确分析各类导致失败的因素在实际工作中发生作用的过程, 需要将这些因素放入具体的系统开发实施过程中进行分析。 本文采用生命周期法对 A 集团的系统开发过程进行分析, 生命周期法是是一种常用的系统分析设计方法体系, 它将信息系统的开发过程划分为系统规划、 系统分析、 系统设计、 系统实施、 系统运行维护五个阶段[3]。 分析 A 集团的系统开发过程, 可以看出该集团在系统规划、 系统分析方面只做了少量的工作, 系统设计与开发同步进行, 开发与调试、 实施同步进行, 最后投入运行, 可见 A 集团人事管理信息系统开发失败的原因主要是系统规划、 需求分析、 系统设计这三个阶段工作的跨越, 主要体现在以下三个方面。
一是系统规划不足。
系统规划不足的第一个问题是系统定位不清, 体现在系统的战略定位、 功能定位不清晰。 由于该系统开发前上级与下属单位之间的各层管理人员未进行充分沟通, 导致不同层级的管理人员各有各对系统的期望, 始终没有界定清楚项目的范围与最终的质量标准。系统规划不足的第二个问题是在系统开发前未做系统总体结构规划。 该系统是典型的边设计边开发, 导致了项目后期系统修改的工作量大大增加, 资源投入也随着大幅增长。系统规划不足的第三个问题是规划的资源投入不足。 A 集团由于是首次进行管理信息系统开发, 因为缺乏以往的成功案例, 不知道要投入多少资源进行开发, 导致投入该系统开发的技术力量、 时间资源均严重不足。
二是需求分析不充分。
需求分析不充分体现在两方面, 一是系统开发前集团召开的需求分析会并没有实质性的工作成果, 人事工作者作为项目开发的重要参与者的作用没有发挥好。 二是信息技术部的技术人员缺乏系统开发的项目管理经验与技术经验, 没有进行系统规划、 用户需求分析并形成项目计划书的工作经验, 在系统开发前没有采用科学的调研方法详细地调查了解人力资源部日常的业务工作流程及其需求, 在系统开发过程中以设计者主观思维为导向, 忽视了用户的需求。 需求分析不充分是信息系统开发失败的最根本原因。
三是系统功能设计不实用。
该系统在开发前没有进行系统性的功能设计并形成设计说明书。系统功能设计不实用是导致用户最终不肯使用系统的直接原因, 系统功能设计不实用体现在多个方面, 例如, 系统批处理数据的功能差;用户界面功能相似的入口众多, 常令用户找不到准确的数据录入与查询入口; 界面模块功能分类交叉, 人事工作人员在录入一项业务的数据时, 需要在系统中进行多次页面切换, 且这些页面切换被用户认为是根本不必要的。
A集团的人事管理信息系统的开发之所以在这三个阶段发生了跨越, 没有做足这三个阶段的工作, 主要因素可以从 Kappelman 等人的研究结果中对标识别, 一是人员的原因, 系统开发项目管理力量单薄,没有采用科学的项目管理控制措施; 技术力量单薄; 主要的利益相关者, 即企业的人事工作专业人员没有充分地参与系统的需求分析与系统设计工作; 二是开发过程中的原因, 系统开发周期中, 几份关键性的阶段性工作文档没有完整地形成, 它们是系统规划说明书、 系统分析说明书、 系统设计说明书, 并由于企业是首次进行系统开发, 经验不足, 资源投入不足。
四、 系统二次开发工作建议
针对 A 集团系统开发已经存在的阶段性状况, 本文尝试为其二次开发提出改进建议。 A 集团开发的人事管理信息系统由于采用了其总公司系统中成熟的数据库结构, 所以就数据库结构、 数据逻辑本身而言是合理的, 之所以不被用户采纳, 主要原因是用户界面不友好、 实用性差。 基于这两个原因, 建议采取以下措施进行改进:
1、 重新进行用户需求分析, 界定系统功能范围与质量目标。 A集团人力资源部要指派专家配合信息技术部门制定出详细的用户需求分析计划, 采用科学的调研方法, 梳理各项人事业务流程及这些流程涉及到的文件、 工作人员及其权限, 并形成书面文档, 开发前将各项细节与用户进行确认。
2、 精简界面, 优化模块设计。 从有效的管理幅度来说, 同一用户界面的模块入口不宜过多, 系统的模块功能设计需要优化, 以做到功能清晰、 简洁直观为目标, 对用户操作界面进行优化。 模块功能要相互独立, 减少功能交叉项, 减少数据冗余, 优先在最常用的人事信息管理功能上对系统进行优化。
3、 优化数据录入方式。 一是增加批处理数据功能, 方便人力资源部门将大量既有管理数据批量导入; 二是通过工作流程由系统自动更新数据, 尽量减少工作流程与数据修改分开操作的情况; 三是录入数据的界面要以工作事件为导向, 方便用户就一项工作涉及的数据在同一个界面全部录入, 改变原来的根据数据文件结构设计用户录入界面的模式。
4、 重新设计系统业务流程。 人事工作业务网络化是人事管理信息系统最能提升人事工作整体效率的价值所在。 人事工作业务网络化需要高效的业务流程设计, 高效的业务流程设计需要从实地调研中产生, 并需要调整改进企业即有管理模式中不合理的低效率部分, 同时充分研究影响业务办理的各个控制节点及其权限以及工作流。 系统业务流程须经仔细调研后, 最终形成书面文档, 并经用户确认后再进行系统开发, 可以减少系统开发后期因需要修改而产生的大量工作量。
五、 总结
从系统开发的生命周期来看, 成功的系统开发必须做足前期的用户需求分析、 系统规划、 系统设计工作。 前期准备工作的完善将大大降低系统开发项目的风险与成本, 是后续项目开发、 调试直至最终实施运行的胜利保证。 本文以 A 集团的人力资源管理系统开发过程作为研究切入点, 具有一定的研究局限性, 当采取不同的系统开发方式时,或在不同类别的资源受到局限的情况下, 不同的企业系统实施失败的原因有可能是多样的, 需要具体问题具体分析。
参考文献:
[1] Linberg, K. R. , Software developer perceptions aboutsoftware project failure: a case study. Journal of Systems andSoftware, 1999. 49(2): p. 177-192.
[2] Kappelman, L. A. , R. McKeeman and L. Zhang, Earlywarning signs of IT project failure: The dominant dozen.Information systems management, 2006. 23(4): p. 31-36.
[3]姜旭平与姚爱群, 信息系统开发方法. 2004: 清华大学出版社有限公司.
[4]巴巴拉与明托, 金字塔原理, 2002, 民主与建设出版社.