管理软件如何兼顾通用与个性
管理软件的价值到底在哪个环节体现,设计、研发、产品化、实施上线,还是投入使用?这个问题不仅是软件开发商需要考虑的,也是软件用户需要考虑的。笔者认为,管理软件的价值体现在从设计之初起始的全生命周期内。
“设计→开发→产品化→应用→优化→再设计”,这是一个不断优化、不断完善的过程,只有注重每个环节,才能确保管理软件与企业管理需求完美融 合。因此,管理软件的价值缔造需要软件开发商与企业共同努力才能实现,本文介绍的正是这样一种由软件开发商和企业共同参与的管理软件系统建设方法——四级 开发模式。
从传统软件分类 到四级开发模式
从软件开发商的角度看,传统的软件包括两类: 一类是针对企业业务需求定制的软件系统,另一类是通用的商品化软件产品。
定制软件这种方式的优点是能最大程度地从企业实际业务管理需要出发,开发出适合本企业个性特点的管理软件系统; 缺点是开发费用高、实施周期长,并且由于软件没有经过长时间的运行使用,存在可靠性、稳定性不足等风险,为此企业不得不配备一个技术过硬的团队随时维护软 件,这对企业的信息化管理部门提出了更高的要求。另外,在这类定制开发的项目中,往往会出现编码不规范、技术文档管理混乱等现象,当软件需要再改造的时 候,技术人员很可能读不懂原始代码,又无从可查,造成企业信息化投资的浪费。
商品化软件的优点是在开发过程中融合了优秀的业内管理经验,并且随着市场的应用成熟度提升与积累,软件不断优化、升级、换代。但是,这类软件无 法解决企业的个性化业务需求。每个企业的管理模式、运营模式都不可能完全复制,正如每个企业的业务流程都不尽相同一样。因此,不同的企业对管理软件的应用 需求是不同的。这种需求的不同既可以体现在不同的行业上,如医药流通企业选择业务管理系统时对GSP管理模块会重点考察; 需求的不同也体现在行业内部,如大中小不同规模的同行业企业对管理软件的需求就会存在很大差异。更值得关注的是,企业在应对激烈的市场竞争时,其经营也在 不断变化,这就使得企业的管理软件要具备随需应变的能力,而商品化软件对这方面的响应明显要迟钝得多。
显然,不管是定制软件还是商品化软件,都有无法跨越的鸿沟。因此,业内一些专家一直都在探索一条介于定制软件和商品化软件之间的模式,比如平台 化软件的提出、比如SOA架构的引入。但是,具体以何种模式让软件开发商与企业共同参与其中并没有标准。笔者所在的时空软件经过十余年的探索,积累了一套 四级开发模式。这种模式可以兼顾软件成熟稳定与满足企业个性化需求的双重需要,并在几千家企业中得到成功实践。
四级开发模式解析
四级开发模式是指在软件基础平台公共化的基础上满足企业个性化需要,适应企业功能扩展需求的一种方案。具体如下:
第一级,基础技术平台开发。软件开发商技术研发部门完成管理软件的底层技术架构,涉及开发语言、操作系统、数据库等。在这一级,就要在开发团队 中植入“用较少开发资源适应最多客户”的思想,既要搭建一个公共性的平台,也要设计开发一系列的平台工具,使开发简单化、普遍化。简单化就要求平台工具易 学易用,普遍化则要求不仅软件公司的技术人员用得好,还要使软件用户的技术人员会用、用得好。
第二级,行业级解决方案研发。软件开发商集合行业专家、信息化专家针对不同行业的特点应用基础技术平台提供的工具形成行业级通用解决方案,这是 管理软件的基本模型。在这一级,会设计出很多可复用的功能颗粒,最后根据不同用户的需要,整合颗粒就可实现基本需求。这里的“颗粒”有大有小,也就是说, 功能颗粒既可以是单一功能,也可是一组功能的集合,具体视功能的关联性而定。例如,管理软件中组成业务流程的最细小功能有很多种,我们把它叫做服务颗粒, 通过这些服务颗粒的不同组合就可以实现流程的个性化,例如采购管理由采购决策、采购计划等功能组成,这些可以看成是粗的功能颗粒,然后采购计划又有更多的 细小功能,这些就是最底层的细颗粒。这些颗粒在软件中的具体体现可以是业务报表、应用表单、各类方案等,但不管如何展现,这些颗粒都应该是数据化的。数据 化的概念就是这些服务颗粒存储在数据库中,而非编程语言开发。各个服务颗粒都是独立的,这样有利于新增功能扩展。在应用部署时,可以将不同的服务颗粒整 合,提高程序的伸缩性和扩展性。
第三级,服务商项目化。针对企业个性化管理需要,结合企业未来发展规划,项目的实施团队在行业级解决方案基础上,应用基础技术平台提供的规范工 具实现项目需求。在这一环节,一般是由软件开发商的实施团队(或其授权的有资质的实施团队)与企业的信息化部门共同完成。这一点很重要,首先只有企业的员 工才能更深刻理解企业的管理需求,其次也只有企业的员工能将业务性的语言转化成技术性的语言传递给软件实施的乙方,帮助乙方理解企业的管理特点、存在哪些 管理瓶颈。在乙方深刻理解的基础上项目化会更成功,也才能真正通过软件工具实现提升整个企业的管理水平的目标。同时,共同参与的过程也是知识转移的过程。
第四级,用户个性化。服务商项目化后,管理软件就可在企业内正常运转。但是,企业是动态发展的。这时需要管理软件也能迅速地“动”起来,以满足 企业管理过程中“变化”的需求,比如流程的修改、功能的修改等。这些“变化”可通过参数设置实现,比如为满足不同用户需求而设计的开关,类似业务流程中是 否走某流程的选择; 也可以在不改变程序的基础上通过修改打印格式、报表格式、资料属性、权限设置等进行个性化设置; 还可以借助基础技术平台提供的开发工具对软件程序进行修改(当然,这是基于一定准则的)。只要基于开发标准,软件开发人员、实施技术人员甚至客户本身的技 术力量都可以整合进来,而且能够在现有基础上进行有创新性的工作。
从通用的基础平台到形成行业解决方案的四级开发过程
四级开发模式中,第一级和第二级需要在软件开发商内部完成,面向客户输出的是具有行业特性的基本产品模型; 第三级的项目化成果是向客户输出的可运行的软件系统,一般甲乙双方会在《技术服务协议》中就项目范围进行约定; 第四级是软件系统的灵活性、适应性、开放性、重用性的集中体现阶段。
值得提醒的是,四级开发模式的成功应用既是软件开发商不断积累行业经验的过程和行业解决方案优化的过程,也是用户建设适合企业个性化需求的信息化建设过程。因此,需要甲乙双方的共同参与、共同努力,才能真正实现管理软件的价值。