第四章 IT系统的建设和管理
在大型企业内的信息化建设和管理中,有许多行之有效的方法和做法,也有很多失败的教训。前人的经验非常值得吸取和借鉴。
4.1 大型企业IT建设的决策过程
大型企业中,信息化建设工作的决策过程需要遵守一定的规程。
IT规划
首先要完成IT总体规划并得到公司的批准,用来指导今后几年内的IT工作。这个过程是一个企业认识信息化建设的重要性,分析本企业的各种需求,分析如何利用IT技术来提高本企业的生产和管理水平,选定总体目标,实现精细管控,准备资源,完成人力、物力和思想准备的一个必要的过程。经过这个过程,大家统一了认识,下定了决心,工作就比较好开展了。
年度计划
在大型企业中,每一个财政年度开始之前IT部门负责提出一个年度工作计划及财务预算,包括下一年度的主要工作、各个项目、资源分配、时间计划、分项预算和汇总等。这个预算需要在公司充分讨论和批准之后,才能够开始执行。
没有列入年度预算的项目,如果必须增加进来,需要经过公司领导层的特别批准,才可以获得经费和资源。一些企业在半年的时候对IT建设工作进行总结,同时对预算完成情况进行评估,必要时会调整下半年的工作计划和预算。
项目立项
每一个具体的项目都需要经历一个从立项到验收完成的完整过程,其中立项过程是最主要的决策过程。不同的企业中IT项目的立项过程不完全相同,这与该企业的IT部门和人员的组织方式、业务部门与IT部门之间的关系等许多因素有关。但是,无论是业务部门对IT项目立项,还是IT部门来立项,或者双方联合立项,都需要完成:
分析业务对于该IT项目的总体需求和紧迫性、项目可行性分析、可供选择的技术方案调查、市场调查等,形成《立项分析报告》;
完成项目定义:确定项目所有人(Owner)、用户、目标、功能、技术特点、技术架构、环境要求、其它相关问题等;
工作量估算、硬件采购的估算和财务预算,确定此项目建设对于人、财、物的需求;
将上述内容形成立项报告,并以简单扼要的方式书写一份《公司内部请示报告》,特别说明此项目是否已经列入本年度财务计划,供相关业务部门、财务部门、CIO、CEO等人审批。
项目审计
在大型企业中,每一个财政年度可能需要执行很多IT项目。对于这些项目的执行情况和效果,需要总结和评价,需要根据一定的程序完成业务评审、技术评审和财务评审工作。
4.2 IT项目的组织
各个企业内,由于组织机构设置的不同,IT项目的组织方法也不尽相同。其中比较关键的问题是业务部门和IT部门在完成IT项目时的相互关系。
对于大多数IT应用项目,业务部门是需求方,是项目拥有者(Owner)和主要使用者。例如,财务部门需要财会系统,办公机构需要OA系统,人力资源部门需要HR系统,市场部需要CRM系统,生产部门需要ERP等多种应用系统。
此外,像数据中心的建设、基础设施和网络建设、网络安全系统、数据备份系统等,与业务部门没有直接关系,这些项目是IT部门根据总体需求自行组织的项目。
对于那些业务部门使用的IT应用系统,在建设过程中业务部门可以发挥下述作用:
提出总体需求:包括系统定义、主要功能、所支撑的业务和操作、项目的目标、使用范围、期望解决的问题等;
梳理业务流程:对于将要实现到该IT系统内的业务进行梳理,形成条块化、流程化、规范化的操作流程,然后再描述为流程规范、功能设计文件和流程图等;
提出非功能性需求:例如,用户数量、数据存储的容量、处理能力、速度要求、安全性等方面的需求;
与技术人员一起确定功能细节,包括数据属性、逻辑关系、操作习惯、易用性等等许多方面;
与技术人员一起完成系统测试和试运行工作;
组织推动系统的实施和推广。
IT部门则主要完成下述工作:
收集和整理总体需求:将业务部门提出的需求整理归类,成为定义一个IT系统所必须的若干部分;
参加业务流程的梳理工作:按照设计IT系统的方法,将业务流程梳理、翻译成为便于计算机软件实现的界面、栏目、文字、表格、按钮和切换、数据定义、数据使用限定、工作流、规则、逻辑关系,等等,这是应用系统开发过程中最重要的工作;
IT系统的开发工作:完成繁重、复杂、劳动量巨大的结构设计、数据库设计、模块设计、程序编写、系统建立等无数的工作;
满足非功能性需求:完成软件基础平台、硬件、网络、数据存储和备份、安全防护措施等方面的设计,产品选型、安装、实施等工作;
与业务人员一起确定功能细节,不断地修改和磨合,逐渐达到最佳状态;
完成技术测试,并与业务人员一起完成功能测试和试运行工作;
完成系统实施和推广工作。
从上述分析可以看出,大型业务系统的开发和建设,最好是业务部门和IT部门共同组织。比较典型的组织方式是:
CIO或IT部门的负责人担任项目总监,全面负责一个项目;
由业务部门和IT部门的骨干人员共同组成一个项目领导小组,全程负责项目组织工作;
组织软件开发队伍(通常包括本企业的员工和第三方IT公司的编程人员);
由IT部门中负责基础设施的技术人员组成技术支持小组,负责服务器软、硬件和网络建设方面的配合工作;
一个应用系统如果和其它IT系统有密切的连接关系或相互服务关系,安排各个相关项目的负责人员配合本项目的建设;
指定实施地(区域公司或子公司)的负责人配合本项目的推广实施;
涉及全公司的大规模项目的建设中,公司的主要领导者需要不断关注和支持这个项目,必要时干预和推动项目,协调和组织资源,动员全体员工积极参与。
虽然说,一个应用项目的组织工作最好是由业务部门和IT部门共同组织,但是信息化建设的任务主要是CIO和IT部门的工作,他们是主要责任人。也就是说,大型企业的IT部门应该负责主导信息化建设工作,无论在责任分工上,还是在业绩考核中,IT部门永远是IT项目的第一责任人。
4.3 IT的滚动建设
IT建设工作不是一朝一夕就可以完成的,往往需要连续建设若干年。同时,我们自己每一年能够投入的人力、物力是有限的,因此比较理想的做法是采用滚动建设和逐步发展的方法。
面对繁重的工作
信息化建设中,可能会遇到需要尽全力集中力量建设一两个重要应用系统的情况,但是大多数情况下,来自各个方面对IT建设的需求非常多,应接不暇,IT部门不得不认真考虑如何利用有限的资源来完成大量的工作,这就需要有重点、有舍弃,集中优势兵力各个击破。
克服资源局限
分几个阶段建设IT项目是一个好办法。把总体目标分割成比几个阶段性目标,充分利用当前有限的资源,尽快完成本期建设并投产,及早满足一部分重要需求,然后再逐步扩大、逐步完善。
资源调配和再利用
前一期工作使用过的软硬件设备,在后一期工作中还可以再利用,或者调配给其它项目使用。同时,前一期工作积累的数据和经验为下一期工作中提供了参考,不至于出现因估算不正确采购了规模过小或过于庞大的硬件设备而造成浪费。
避免技术过时
IT技术的发展非常快,平均每3~4年就会出现新一代技术。同时,IT系统也有自己的生命周期,几年或更长的时间之后,也需要更新换代。滚动建设的思维是要适应这种客观规律,比较科学地计划信息化建设的步骤,使之比较合理。
4.4 大集中
“大集中”是指大型企业通过建设多个超大规模的应用系统,在一两个大型数据中心里集中运行,以高度集中的方式把IT系统统一起来。
“大集中”涉及许多技术问题,但是“大集中”的做法远远不只是个技术选择,而是公司信息化建设中一个非常重要的总体战略。我们需要从多个方面来认识大集中的特点。
“大集中”使全公司分布在各地的业务人员都统一使用同一套IT系统来完成他们的业务操作,各地在同一种业务的操作上就具备了完全相同(或基本相同)的操作流程、标准和管理模式。
“大集中”的应用系统统一了工作效率和质量,统一了服务的质量。
“大集中”的系统将先进的生产方式和管理模式迅速推广到全公司,迅速而有效地提高生产能力、效率和管理水平。
通过改进IT系统这样一个点上的工作,可以充分优化全公司的操作流程、规则和方法。
“大集中”的IT系统带来数据的集中,使全公司的业务统计、业务分析、供应链管理、财务操作、资金调配、客户管理、监督核查等许多方面的工作容易起来,这些工作在分散式IT系统的时代不仅费时费力,甚至无法完成;
数据的集中使跨地区业务可以即刻完成,不需要在各地的多个系统间流转,例如银行的跨地区通存通兑;
“大集中”的IT系统为多个应用系统之间的相互集成提供了良好的基础条件;
集中建设和集中运行IT系统使IT队伍的部署集中化,使IT工作集中在一两个点上,不仅提高了工作效率,也精简了人员,节约了开支。
“大集中”方式最重要的一个问题是对于运行可靠性的要求大幅度提高,机房、供电、应用系统、网络设备、网络通信等等各个环节中,任何一个点出现故障和问题,往往影响面很大。
“大集中”不适用于那些业务规模小,分布过于分散,并且各地对同种业务的操作流程差距太大的场合,这种情况下强求统一的必要性不大,系统建设的难度和投入反而可能非常大。
与建设小规模IT系统相比较,“大集中”方式来建设大型或者巨型IT系统,面临的技术问题要复杂许多倍;
IT系统规模的提高,其投入会成倍地迅速提高,大规模设备的价格常常是小规模设备的数倍、数十倍;“大集中”系统的运行往往需要远程通信网络的支持,这笔费用是省不了的;同时,“大集中”对于可靠性的高要求也意味着总体价格的大幅提高。
总之,“大集中”的特点是明显的。一个企业在信息化建设中,是否需要建设大型集中式系统,主要要看是否有这个方面的需求,如果对于若干重要业务系统来讲,集中起来有很大的好处,那么应该坚定地向这个方向努力。
4.5 IT“外包”与“自力更生”
“外包”是把本企业信息化建设的部分工作交给那些与本企业没有隶属关系的第三方公司去做,通过商业合同来约束;自力更生则主要是依靠本企业内的IT队伍来完成信息化建设大多数工作。
“外包”是一种很常见、非常流行的做法,从设计外包、工程外包、人员外包等等,只要自己做不了,或者不打算做的事情,都可以包给别人做。
IT外包的内容可以是:做IT规划、需求整理、技术设计、项目管理、软件编程、推广实施、技术培训、技术支持、硬件运维、网络运维、系统运维等各个方面的工作,简单讲是IT规划、项目建设和运行维护三大方面的工作。
狭义上讲,“外包”无非希望得到两个结果,一个是自己做得不如别人好,花钱请人来做;另一个是自己可以做,但是请人来做又好又省。在这个意义下,“外包”的主要目的是“少花钱、多办事、办好事”。如果多花了钱,事情还没有做好,就是一个不成功的“外包”。
先说“省钱”,即开销的问题。同样的劳动工作量,假定自己招人来做,其工资福利水平与社会上的IT公司的正常报酬水平是等同的,那么,自己组织人员来做,比“外包”要便宜。因为承包工作的乙方公司除了人工成本还需要赚钱,否则无法维持运行。
“外包”的方法只有在工资水平差距比较大的时候才省钱。例如,欧洲公司把IT外包给国际上的IT专业公司,而这些IT公司在印度和中国组织价格低廉的人员来完成工作,这是当前IT“外包”的主流做法。我们中国的大型企业几乎无法通过这种类型的“外包”达到节约开支的目的。
第二种情况,自己无法完成的高难度技术工作是最该“外包”的,也几乎只能通过外包才能完成。当然,还有一种做法是让自己人逐渐学会解决这类问题,这要看一个企业的想法如何。
第三种情况是集中突击性任务,例如大型应用系统的开发建设期间,集中地需要大批人力,等到项目上线之后,人力需求就逐渐减少。很多企业通过项目外包的方法来完成项目建设。
第四种情况,把个人电脑、局域网络等通用系统外包给第三方公司帮助维护,由于可以找到比较低廉的劳动力来完成这个工作,采取这种做法的公司比较多。
“外包”将IT系统的建设或运行维护交给了乙方公司,从此将依赖于这些公司,因此存在很多问题:
很多IT公司的寿命短暂,并且人员流动很大,实事上难以长期依赖。往往一个IT系统还没有完成开发,乙方公司已经换了好几拨人了,无法保证高质量的系统开发或运行维护。如果乙方公司萎缩或倒闭了,问题就更大了。
对于半路接手的情况问题,新接手的乙方公司难以全面地了解情况,对于大型软件和硬件系统,无论乙方公司的技术力量多么强大,承包下来都是一个难以完成的任务。
对于非标准的、专业性比较强的大型业务系统,很难找到合适的、了解这些业务和系统的公司来维护,几乎是不可能“外包”的,或者即使“外包”出去,无法达到预期的效果。
全面“外包”是IT专业公司的所鼓动的一种商业模式,他们期望从客户那里挣到更多的钱。一些企业把IT系统外包给第三方公司之后,被动地被那些IT公司牵着鼻子走,国内外的部分大型IT公司擅长做这样的事情。
对于大型企业,全面“外包”可以形式上实现,但是费用代价非常高昂,效果难以达到最佳。
因此,我们可以看到,国内不少大型企业采取“自力更生”的方式完成信息化建设,例如各大银行都拥有庞大的IT队伍,自己完成绝大部分工作。
也有若干大型企业保持着中等规模的IT队伍,他们也会大量地把规划、项目建设、运行维护方面的工作“外包”给第三方完成,但是,他们的原则是:在完全不依赖第三方的条件下,自己的队伍可以完成一切工作,可以解决绝大多数问题,只是人力不足。他们对于第三方公司的使用只是为了补充自己队伍在人员数量上的不足,但是关键技术自己完全掌握,队伍的稳定性也由自己来控制。这些企业有比较大的主动权,他们的经验说明,在“自力更生”的基础上,适度使用外援,是比较成功的方式。