论国内ERP产品的稳定性
目前国内ERP软件供应商越来越多,各式各样的产品层出不穷,眼花缭乱,国内ERP产品也占了软件市场的近半壁江山,发展势头非常强劲,但部分产品在质量上也存在很大隐患,无论小的产品还是上规模的产品,都存在同一个问题,那就是产品的稳定性,无论软件供应商发展到什么程度,产品的质量对一个企业来讲是致关重要的,所以如何保证产品的质量也就是企业所关心的核心问题,只有在保证质量的前提下才能做到以客户为中心,在这里根据我的一些体会,就客户关心的产品质量问题分别做一下阐述。一、软件不稳定给客户带来的影响
众所周知ERP软件更新换代比较快,软件的质量问题也一直备受关注,不停的升级,不停的打补丁,导致软件稳定性比较差,新产品发布后,客户往往是试用的对象,由于系统的不稳定,给企业带来了很多麻烦,如核算数据不准确影响报表的正确性;出入库不严格,车间多领料,造成仓库多发或少收的现象,导致企业仓库数量及应收、应付账款不准确;账实不相符,不能正确提供制订计划用的参考数据等等,更为严重的是系统性能低甚至瘫痪,导致不能开单,造成业务停滞,业务人员无法正常工作等,所以稳定性对软件来说是第一位的,不稳定是致命的缺陷。
二、客户如何考察软件的稳定性
产品之所以称为产品就是在于它的通用性,虽然不能完全适应于某个行业,但它可以涵盖企业的大部分业务,企业实施ERP周期一般不会太长,所以在时间紧任务重的情况下,要有重点的验证软件的性能,可针对本企业的流程对软件做单元测试、压力测试及全面测试等,客户在没有使用软件前是很难测试ERP的稳定性的,上线前期一般都比较忙,前一个月无论甲方还是乙方都要投入不少精力做支持,期间一部分原因就是ERP的不稳定或BUG,通过这一个月的应用,客户往往才能真正了解ERP软件的质量,关键还是企业愿不愿意投入成本去做这个事情。
考察软件的稳定性是一个长期持续不断的过程,贯穿整个软件的生命周期,企业从系统上线、试运行到正式运行,甚至完全甩掉手工账,这期间软件的稳定性都是一个不容忽视的问题,前期验证软件稳定性的最常用方法就是软件原型测试,由于ERP系统是信息集成系统,所以在测试时,应当是全系统的测试,各个部门的人员都应该同时参与,这样才能理解各个数据、功能和流程之间相互的集成关系。找出不足的方面,提出解决企业管理问题的方案,以便提出对软件的改进措施,然后再模拟运行,在基本掌握软件功能的基础上,按企业的业务流程模拟操作,选择有代表性的业务,将各种必要的数据录入系统,按企业日常工作中经常遇到的问题,组织项目小组进行实战性模拟,根据期间发现的问题及需求,由项目小组制定解决方案,问题的范围一般有软件BUG、流程不完善、误操作、客户需求等等。经过一段时间的摸拟运行后,根据企业提出的一些问题结合项目小组制定的解决方案来制定相关的工作准则与规范,因为软件的应用与企业的管理是相辅相成的,误操作、重复录入数据等都会引起数据的准确程度,导致软件的不稳定,所以制订严格的管理操作流程,防止因误操作而导致数据方面的问题也是很重要,ERP不单单是一个工具,也融合企业的一些管理思想在里面。
三、导致软件不稳定的原因
将这个问题分为两大部分(外部与内部因素)进行描述:
外部因素
1、竞争对手
众所周知,任何一家软件企业都有自己的竞争对手,俗话说:“你想不到的问题总会有人替你想到,这个人就是你的竞争对手”,所以企业除平时研发自己的产品外,还要时刻关注竞争对手的动向,研究竞争对手的产品,从这一点上可以看出,国内很多ERP产品有些在功能上是完全相同的,就连思路也是大同小异,很少有创新的东西,一家出来后,不出一年,另一家也会出来,产品更新换代非常快,结合公司人员因素,产品不稳定就会暴露出来。
2、客户需求
客户需求的提出也是多种多样的,在软件使用过程中,由于业务的变化及对软件的熟悉程度,原来的一些功能可能满足不了客户的需要,迫使客户提出很多易用性或完善性的需求,可以参考我原来写的两篇文章《ERP开发模式-如何看待客户的需求》和《ERP开发模式-如何应对客户的需求》,这些需求处理不好将来就是软件稳定性的一种隐患,但有些软件也是迫于各方面因素不得不处理的,所以需求的控制及如何处理好需求对软件的稳定性起着至关重要的作用。
3、项目压力
项目是任何软件公司赖以生存的根本,现在国内大部分的软件企业,都是作项目起家,根据项目逐渐提炼,最终形成公司的产品,所以说产品的很大一部分改动源于项目,只要项目上有需求,都要想办法解决,这也是很多软件企业的宗旨,但这种现象也造成了不可估计的损失,产品越改需求越多,越改越乱、越改越不稳定,不仅导致项目周期拖延,还对产品造成致命的冲击,最终越陷越深。
内部因素
1、分析设计阶段
分析设计阶段对软件后期的发展起决定性作用,搭建系统架构就在此阶段完成,包括需求规格说明书、详细规格说明书、数据结构等文档的编写,在企业里一般分析设计人员由资深的软件开发人员兼任,但往往这部分人跟客户交流的机会少,一年也出不了几次差,缺少一线项目经验,理论知识有,实践中的有些东西理解的还是不深,设计出的软件也是参考了很多竞争对手的资料或实施、售前人员反馈的需求及平常自己的一些经验而来,在开发阶段可能问题不大,但在客户使用后,进入维护阶段就经不起考验了,使用一段时间后,最终推倒重来。
2、开发阶段
开发阶段最常见的问题是没有设计文档就写程序,等程序写完后再补设计文档,估计很多软件公司都是这种模式,这样往往造成代码冗余,严重者往往会推倒重来,做无用功,所以开发阶段能否按照分析设计阶段编写的文档严格执行很关键,能否理解设计者的思路也很重要,这个阶段的工作直接会影响到产品的发版及以后的维护工作,另外此阶段的单元测试也很重要,不愿测自己写的程序也是开发人员的通病,尤其是白盒测试,关系到数据的准确性。
3、测试阶段
发版前的测试一般由专门的测试部门来完成,开发人员辅助处理测试出的问题及指导测试工作,但测试人员水平有高有低,往往有些测试人员对软件功能不熟悉,无从下手,测试出的问题也都是低级题,只能做到黑盒测试,有时产品发版测试周期短,测试人员等测试完成了也就熟悉产品了,所以在新产品发版前要做好培训工作,组织测试用例等,另外平常需求的增加也需要通过测试人员测试。
4、维护阶段
产品交付客户使用后就进入维护阶段,这个阶段最重要的就是控制客户的需求,产品的稳定性与需求的增加有直接关系,另外修改问题时要细心、要全面考虑,避免修改问题再来的新问题,还要注意程序的公用性,人员流动性强也是产品不稳定的一个因素,新人维护老产品也是很多软件企业面临的一个问题。
总之,所有问题的重点还是在于沟通、交流,有些问题可能会找到变通的处理方法,另外对软件的改动也一定要找到最佳的处理方式,这样才能保证软件的稳定性。
[ 本帖最后由 Kingson 于 2007-11-5 21:03 编辑 ]
页:
[1]