软件需求对ERP实施同样非常重要。众所周知,ERP的先进管理理念需要通过软件实现,软件是贯彻管理理念的载体。但是企业本身就是一个复杂系统,企业又随着国家、地区、行业和规模的不同而千差万别。因此,无论如何也不可能有一个软件能适应所有的企业,也不可能有一个软件恰好适合某一个企业。尽管软件开发商为了适应不同的行业和不同的企业的要求,将ERP软件设计成一种“可配置”的产品,但是对一个具体对象而言总是有一些特例。相关研究表明,即使最好的软件产品也只能满足企业70%的需求[16]。ERP实施面临的这些复杂因素给软件需求分析技术提出了新的挑战。
事实上,企业实施ERP系统的动机往往源于对现行业务系统不满意,试图改造业务系统中存在的问题。如:现行系统与当前情况不符合、出现新的商机或者可能节省时间、资金和资源等。也就是说,企业实施ERP系统一方面是利用ICT(Information&Communication Technology)技术代替人工操作,实现业务的自动化和电子化,更重要的是对业务过程进行优化,改造现行业务系统,提高企业竞争力。
Markus比较系统的分析了企业实施ERP系统动机,他认为ERP是企业IT(软件、硬件、数据库和通讯系统)的全面改造,几乎彻底重构了业务系统,实现了业务流程和信息的全面集成[19]。企业实施ERP系统既有技术上的原因,更有业务上的动机,具体见表 1。
而且,由于ERP系统规模庞大、复杂性高,所以传统的“从零开始”的开发模式已经无法满足企业快速实施快速使用的迫切要求。现代ERP实施主要采用购买-修改商品化ERP软件包的方式(Buy-and-Adapt),帮助企业提高实施效率。因此在需求分析阶段必须考虑到尽量重用商业软件包的问题。
基于对ERP实施的动机和软件重用的考虑,现代ERP软件需求分析方法与传统的需求分析方法相比有几点不同之处:
(1) 将业务过程和业务数据建模作为需求工程的驱动力,以及获取、交流、验证企业知识和业务需求的关键方法[14]。ERP系统是一种面向过程的企业信息系统,以业务过程为主线在整个企业范围内进行集成,所以业务过程是ERP需求工程的驱动力。另外ERP系统又是一种数据密集型的软件系统,各种各样的表单、单据、报表成为业务过程处理的主要对象。不同的企业数据的格式都不尽相同,因此数据建模是ERP需求工程的另一种驱动力。业务过程建模和业务数据建模为ERP软件需求分析提供了原始的业务需求。
(2) 高层次的重用预定义的需求制品,如参考模型和模板。ERP软件开发商通过多年的项目实践,总结和积累了丰富的管理经验,称其为企业管理的“最佳实践”(Best Practice),如SAP的Accelerate SAP、Oracle的OBM(Oracle Business Model)等。一方面,重用这些预定义的参考模型可以提高企业需求分析的效率;另一方面,由于软件开发商已经利用IT技术将参考模型固化下来,形成商品化的软件包,所以采用参考模型也可以减少后期开发的工作量。
(3) 业务过程重组/改进。根据Markus的ERP实施动机模型可知,ERP实施的成功和业务过程重组或改进(Business Process Reengineering/Change)是分不开的。业务过程重组这一概念是由Hammer和Champy提出来的,是对企业的业务流程作根本性的思考和彻底重建,其目的是在成本、质量、服务和速度等方面取得显著的改善,使得企业能最大限度地适应以顾客(Customer)、竞争(Competition)、变化(Change)为特征的现代企业经营环境[20]。让一个糟糕的业务过程自动执行,不仅不会改善企业现状,反而可能使问题变得更糟,因为自动化一个糟糕的过程只会让企业以更快的速度失败。只有基于一个优化的业务过程模型,ERP系统才能真正为企业带来效益。
本文将ERP的软件需求分为两类,一类是配置需求,另一类是定制需求。配置需求是指ERP软件产品支持的,只需经过参数配置就可以实现的用户需求。定制需求是指超出ERP软件产品的功能范围,需要通过二次开发才能实现的用户需求。
技术原因 | 解决系统的缺陷 跨功能集成 通过外包减少企业的负担 减少重复操作和输入错误 改善IT基础结构 提高企业的IT能力 降低IT系统运行成本 将多数系统合并成为同一个类型的系统 |
业务原因 | 适应业务发展 改进非正式的、低效率的业务流程 使数据和记录标准化,并从中获益 降低业务运行和管理成本 降低库存成本 降低对客户订货的延迟和错误 系统集成化的IT支持 使不同的编号/命令/编码系统标准化 以“一个面孔”面对客户 获得全球化的“承诺实现”能力 实现流畅的财务合并 改进整个企业范围的决策支持 |