上篇谈到自己程序员成长之经历,也大致谈到了EOM来龙去脉,那什么是EOM呢?
我们发现企业所有活动都可以归结于企业经营,EOM就是从企业经营这个源头着手,对经济生活中的大量企业经营行为进行抽象,并用模型的方式来定义企业经营。(EOM并不仅仅针对企业信息化,它还在经济学、企业管理学等领域有其重要的应用,这里就不再涉及了)
EOM是将指企业或企业经营定义为:企业员工利用企业资源设计出产品(服务),通过业务流程将产品(服务)生产出来,并销售给企业客户,收回销售款项,并向客户提供售后服务,以及企业管理者对此进行全过程管理的活动。其中企业资源、企业客户、企业员工、企业产品或服务、企业业务、企业财务 、企业管理等七大要素是EOM的核心。
EOM示意图:
很多程序员一定会说:我只管编我的程序,我管企业经营干什么呀!企业经营和我有什么关系呀?哥们儿搞的是技术,不是业务,不是管理。
的确,企业经营和哥们没有直接的关系,但是哥们所编的程序却是和企业信息化产物。而企业信息化是企业经营的一个部分,如果没有企业经营,没有企业信息化,程序员可能就会失去工作。从这个道理上来说,程序员和企业经营还是有关系的。
程序员-〉程序-〉企业信息化-〉企业经营。
这是一个从下往上的一种关系。
有了EOM,我们可以从企业经营的源头对企业信息化进行科学的规划,可以对现有的企业信息化进行评判,进而对系统、软件、程序、程序员进行规划和评判。我们依据EOM理论提出了EOMS的构架:
上面说的可能太理论了,还是举一个例子来说明现行做法和EOM之间的差异。
假设企业A开展信息化需要一个报表系统,这个系统上线之后,可以产生统计报表,减轻员工的手工劳动,实现报表生成、管理、浏览的自动化,供管理者使用,提高企业管理水平和效率。
现行做法:企业A提出报表系统的需求,由软件公司组织程序员进行需求分析和开发,开发完成后,系统投产运行,软件公司获得开发费用50万,项目结束。
EOM做法:企业A首先应该按EOM建立企业信息化总体构架,然后针对报表的需求,去寻找EOMS构架中的MIS中的通用系统或专用系统(假定市场已经可提供出EOMS下的各中通用系统和专用系统),并购买,然后通过参数化配置实现系统的客户化。实现了企业A关于报表系统的需求。
两者相同之处:都实现了报表系统功能。
不同之处:
1、 需求
1) 现行的报表系统开发是需求驱动,需求由企业A自身提出,需求水平高低,取决于需求提出者的业务水平和需求提出者所站的层次,而需求提出者很难是行业中最佳的,所占的层次往往限于所在部门的层次,很难站在整个企业层次,更不用说站在行业层次了,所以需求存在天然的缺憾。这种缺憾会导致需求不明、需求调整频繁、需求不断升级的情况出现。
2) EOM是站在企业经营的高度来审视企业信息化的,而且它通过模型的方式抽象出企业经营概念,因此EOM能概括企业各种经营活动。而依据EOM建立的EOMS必然能够满足企业信息化的要求。其中的构架、平台、通用系统、专用系统的设置都能够满足企业经营信息化的要求。所以,企业A提出的报表系统的需求,一定能在EOMS找到相应的解决方案。大家要注意的是EOMS中的报表系统的需求,并不是来源于企业A,而是来源于EOM理论,以及现有企业信息化的成功经验。因此,需求具有理论的依据,更具有科学性和先进性。
2、 信息化整体构架
1) 现行做法:就系统而系统,没有构架之说。企业系统开发由需求驱动,容易造成重复建设和交叉建设。
2) EOM做法:将所有系统都放在企业信息化统一的构架之中。系统开发处于一个有序的管理之下。系统无重复开发,功能和信息能够实现共享。
3、 系统来源
1) 现行的报表系统来自于定制开发。
2) EOM的报表系统来自于EOMS的通用系统和专用系统。
4、 效果
1) 需求满足度
(1) 现行方式需求满足度相对比较紧密,体现了需求当前的满足度。时间一长,需求将发生变化,系统满足度将会降低。
(2) EOM不但能满足现有的需求,企业A没有考虑到的需求都被一并满足,因此EOM还对未来需求,以及同行业的需求都进行了考虑,满足度更加广泛。
2) 软件质量
(1) 由于定制开发软件质量取决于该软件公司的技术实力和程序员的技术水平,而由于需求质量不高,开发时间短,软件公司技术一般只能处于平均水平,程序员只管编成了事,因此软件质量基本上处于一个功能实现,运行不出错这种水平,其内在的软件构架、兼容性、可扩展性、效率、容错、可维护性等都很少涉及。
(2) EOM方式中,由于其需求有EOM理论的支持,需求从抽象到具体反复完善,采用的通用系统和专用系统开发方式。软件不但能实现功能,而且软件质量各个方面都可以得到最大的提高,它对技术要求更高,和定制软件不可同日而语。
3) 程序员
(1) 定制软件的开发人员要求相对要低,只要按需求编出来就行了,程序员什么都能编,不关注系统的业务。
(2) EOM软件的对开发人员要求相对要高,其编程的水平要求比较高,程序员不但在某个技术领域有专长,而且要专业于特定的业务。
4) 价值
(1) 开发费用50万。定制软件的价值,一般等于一个软件的开发费用。
好一点的软件公司通过复用系统来增加系统的市场价值。例如,一个报表系统复用个数为10,单个系统价格为30万(一般复用价格要低于开发价格),则系统的市场价值为300万。
要指出的是,由于系统需求天然的缺憾和系统技术限制,系统的复用个数往往很少,大都在1位数到2位数之间。
(2) EOM通用系统或专用系统从理论上来说开发费用相对定制软件要高,主要是由于程序员价格高,开发周期长。例如,定制软件开发费用为50万,EOM开发费用要200万。假定系统价格为10万,由于是通用软件其可销售的用户数可能达到3位数甚至4位数,所以市场价值巨大。
现行思路:需求提出-〉开发-〉应用系统-〉企业信息化-〉企业经营
EOM思路:企业经营-〉EOM-〉EOM的企业信息化-〉企业信息化总体构架-〉通用系统-〉需求满足。
也许这些还是太理论和太抽象了,可能会把程序员给搞糊涂了。我还是用通俗的话说EOM意义吧:
1、 EOM就是想建立各个企业信息化统一的构架和规划。(注意不是一个企业,而是全部企业)
2、 EOM是建立这个构架和规划下各系统的理论基础,解决了企业信息化应该做哪些系统的问题,也就说解决了程序员应该开发哪些系统的问题(现在程序员只知道需求是什么就做什么)。
3、 EOM下的各个系统基本上是通用系统和专用系统,不同企业的差异通过参数和接口技术来解决。
4、 程序员编制通用系统和专用系统,可以降低企业信息化成本,可以大大提高系统市场价值,可以提高自身的市场价值,避免“IT农民工”的尴尬,可以实现程序员的梦想。
也许有人说EOM想法很好,但是怀疑EOM现实的可能性。EOM真的能解决企业信息化中的各种问题吗?EOM真的能给程序员带来新的机遇吗?如果能带来,程序员如何抓住这个机遇?
这些问题我会将在以后给与展开说明。
如果想进一步了解EOM情况可以看看我的博客《关于EOM(Enterprise Operating Model)企业经营模型》1-13。(这些内容虽然是3年前所写,但是其核心思想没有改变。要指出的是看完这些文章是需要毅力的,有机会我会写出更简练EOM简介来)