质量管理系统(QMS)-6.自己开发,外包还是购买产品?

企业在明确要上质量管理系统(QMS)后,必然要面对的一个问题是自己开发、委托第三方外包公司开发还是购买软件产品,每种方式都有优缺点,这其中的关键是要看自身行业的特点、企业的现状、开发能力以及未来的规划。

 

首先我们来看一看开发一个软件所需要的主要流程:

 

Figure1 软件开发流程

 

对于软件项目开发的每一个阶段,都要由有专业知识与技能的人员来完成。

 

同时,软件开发在技术和管理两方面的复杂程度,与业务复杂程度、软件规模密切相关。越是业务复杂、规模大的软件,开发所用到的技术,时间以及人力成本就会成指数型上升。

 

Figure2 软件规模分类表

能够实现质量管理中的常用功能(来料检验,过程检验,出货检验,首件检验,巡检,不合格品管理,纠正预防,客户投诉,评审管理,文档管理,量具管理,质量追溯,报表分析)的质量管理软件,规模大概在150K行代码以上,属于大型以上软件。

 

那么我们就三种选择方式分别进行分析。


 

先说一说自己开发

 

在国家新基建、鼓励企业数字化的大趋势之下,软件行业无疑是一个新兴的领域,这就决定了必然会有很多新的机遇。就像40年前的办企业,20年前买房一样。伴随着很多新诞生的专业软件企业,还有像阿里、百度等互联网企业,电信联通等企业,以及博世、戴尔、美的、格力、三一重工等为代表的传统制造业都已经或正在成立数字化工厂、软件等项目,给自己用的同时,也希望作为产品推广到其他客户。帮助企业自身提高的同时,还可以拓展业务,或者更换赛道。

 

我们不否认,企业自己开发对某些行业是十分必要的,是有充分理由的。

 

ERP从1972年开始,到现在已经有48年的历史了,单单是在www.g2.com上搜索,相关ERP产品就有2100多个,但是还有企业在自己开发,为啥? 原因很简单,现有的产品不能满足企业的需求。如果企业不想完全从头开发,那么,只好在现有产品基础之上,进行一些特殊需求的二次开发以满足企业自身需求。

 

但其实二次开发也不是万能的。

 

首先,企业管理软件,是对企业管理的抽象总结,简单直白的说法是,先有企业实践,后有管理软件,而不是倒过来。对于新兴的行业,新兴的管理方式,往往没有现成的系统。二开也是在有一定基础之上的二开,就像改装汽车一样,不能在马车的基础之上改装。

 

同时也面临着有时候二次开发费用过高的问题,那还不如从头开发来的划算,还以改装汽车为例子,可以在轿车的基础之上改装越野赛车,但是不能在大客车的基础之上改装。

 

自己开发的好处有:

  • 更了解本企业实际情况,适应本企业的需求。

 

  • 本企业拥有源代码,可以持续不断改进。

 

  • 通常(只是通常)企业自身不会开发大型软件系统,小型系统成功概率高,尤其是对企业特别重要,但又不复杂的需求,会极大改善企业运行效率。

 

还是老掉牙的套话,有一利必有一弊。


 

  • 要做事就得有人,而且可能需要好多人。生产企业不是软件企业,程序员通常更希望加入专业做软件的公司,薪水对程序员是重要,但未来的成长也很重要,程序员不仅会考虑现在的收入,也会考虑将来的收入,如果不能开拓视野和增加技能,招人与留人是一个大问题。如果是开发大型系统,首先就要雇佣IT和业务两个方面都比较牛的领军人物,然后再由他雇佣其它人员,这些都是成本,而且不便宜。还有,在软件开发好以后,是否还需要为了开发这个软件时所招聘的所有人?后续如何进行安置?


 

  • 不是所有的功能都能开发出来。虽然开源的组件越来越多,但有些系统还是需要自己开发,没有历史的积淀,成本难于控制。


 

  • 性价比不高。特别是针对大型的复杂系统,除非是企业不得不自己开发的系统,如淘宝,京东,滴滴等,有些系统真的没有必要自己开发。

 

自己开发,说白了不符合社会化大分工的原则,可以有,但不会是主流,可以起到辅助的作用。最主要的原因是没有复用。

 

如果该企业期望不仅为自己企业开发软件系统,以后还能卖给其他企业,的确有这样的成功案例,如达索,但这样的成功案例太少了。

 

你可能有疑问,我们自己开发的软件,我们自己用的非常好,还可以用我们的工厂给他们展示,为啥客户不买单呢?

 

不利的因素是适合自己企业的软件,如果要拿出去卖的话,其实最匹配的就是卖给自己的竞争对手,因为业务模式比较接近,但是哪一个竞争对手会买自己的软件呢?如果是跨行业推销,比如一家电机企业自己开发的质量管理系统向食品企业推销,您觉得甲方会有什么感觉?

 

还有,软件公司的成本不仅仅是开发软件的费用,这是一个系统工程。举个例子,街坊邻居都说你的包子味道好,大家都赞不绝口,但不等于说你开一个包子铺就能赚钱,这还是在你是包包子达人的假设前提下,如果连包包子都不会,情况就变得更加艰难了。

 

第二种方式是外包开发


 

外包公司主要以IT人员为主,很难有足够行业专业知识的业务人员与客户就需求进行深入沟通。大部分是鹦鹉学舌式的转述。


 

将自以为理解的客户需求转述给IT人员,IT人员再将自以为理解的需求转换成代码。那么,不断转述过程中,信息到底被正确理解多少,只能看运气。

 

Figure 3 客户需求转化效果

外包比自己开发的优点是,不需要雇佣开发工程师,部分代码是可以复用,性价比有所提高。但也有不足的地方。


 

  •  如果不是专业的乙方,沟通成本大,信息传递失真比如高。乙方开发出来的产品未必能充分实现甲方的需求。

 

  • 开发过程中不断更改需求的概率依然很大,导致项目预算不可控。

 

  • 考虑后期灵活性的概率很小,很多字段没法更改。

 

  • 产品bug比较多。

 

  • 稳定性难于保证。

 

  • 后期升级比较困难。

 

  • 性价比不高。

 

  • 没有相对完备的接口。

 

最终的结论是失败概率大,这个失败概率是与成熟的软件产品相比较而言的,不是绝对的,定制产品也可以做的很好,只是出现以上这些问题相对概率较大,如果要控制好这些问题不是不可能,但最终归结为一个问题,成本。


 

有钱,大部分问题都不是问题,问题是性价比。


 

对于有些灯塔工程,不谈投入资金,只展示功能,意义不大,是耍流氓。


 

甚至有些类型企业,你知道的,钱投入很多,但项目还没做好,这就更不像话了。

 

第三种类型是产品


 

目前市场上逐渐出现一些专业的提供质量管理软件的软件公司。其中有的公司还是以在制造业工作多年的质量管理人员为主,总结各行业的经验与实践,将质量管理知识软件化,开发成软件产品。


 

优点如下:


 

  • 不仅得到了软件,还有行业知识,以及相关经验。这一点我们可以好好说道说道,公司都是理性的,都是以赚钱为目的的,不要说产品型软件公司有情怀,项目型软件公司就没有,只是赚钱的策略和方式不同。项目型的外包公司在前期预研发投入少,以能把客户需求理清楚,产品按期开发完成,顺利交付为目的。

    产品型公司前期不仅投入巨大的研发资金,还有漫长的时间,每过一段时间,几乎都要反思学习,试图抽取项目里面的共性,产品反复迭代是不可避免的,无迭代不产品。

    甲方也很精明,知道软件产品已经开发出来,乙方现有的边际成本很低,可以狠狠地杀价。有些甲方甚至让代理同一家产品的几个代理商都报价,反正产品是一样的,就看谁的价格低就选谁。

    无论那一种情形,对于产品型软件公司为了增加被选中概率和销售价格最大化策略一定是派出资深的顾问,差不多得把看家的本领都使出来用以说明他们为啥设计成这样的产品,对客户的好处是啥,除了讲今天客户面临的问题,还保不齐设想了客户明天会遇到的问题。这不是产品公司心地善良不善良,道德品质高尚不高尚的问题,而是产品公司不得不这样做的问题。

    没有那一个产品会如预期那样完全满足客户的需求,同时,由于产品类型软件相对逻辑复杂,有些二开需求看着似乎简单,实际上是非常复杂,牵一发而动全身,而且,对于以后的运维也会增加负担,所以,乙方一定会使出浑身解数,不仅要把产品的逻辑讲清楚,更会用用配置的方式(少用二开的方式)来满足客户的需求,这样的售前一定是既有丰富专业经验和IT经验的人或团队,以此来作为对抗项目型产品完成听从甲方要求开发模式,给自己添加筹码。

    对于产品公司,只有这样才能把产品卖出去,
    但甲方也因此顺带享受了乙方这个深度行业咨询服务


     
  • 购买前,可以试用,知道产品大致的情况。

     
  • 稳定性相对好些。

     
  • 乙方如果是专业的质量软件公司,通常会提供实施前企业质量管理梳理服务。

     
  • 可以不断升级。

     
  • 专业的乙方,可以和甲方顺畅地沟通,信息传递过程中失真比例小。

     
  • 通常有成熟的接口。

     
  • 性价比高。

     
  • 成功概率高。

 

缺点如下:


 

  • 如是不专业的软件产品,失败风险也很大。

     
  • 可能需要二开。

     
  • 有些二开,如果改动过大,价格有时候也会很高。

 

 

 

综上所述,对于有足够的专业业务人员以及专业IT人员的公司,可以进行一些规模可控系统的开发和维护,或者在现有产品基础之上进行一些二次开发。对于大多数公司来说,选择市场上现有发展成熟的软件产品,无疑是最安全,同时也是性价比最高的选择。而对于自己没有能力开发,市场上又没有符合要求的现成产品的情况下,只好选择外包开发。

 

除了这些,还要多说几句。


 

在选择供应商时,需注意如下问题。


 

  • 供应商说了很多高大上的名词,听不大明白。让供应商用普通的语言解释清楚,如果还是听不明白,那是供应商自己也不明白或者在瞎吹牛,不是您的问题。比如,大数据,要供应商直接说承受多大的数据量/价格,不要用形容词,要用数字。

     
  • 供应商可以用PPT展示,但不能不展示系统,最好可以试用一下系统,想要知道梨子的味道,最好自己尝一下,录入一些数据,操作一番。

     
  • 企业上质量管理系统,不单单是购买软件,更是一个很好的时机梳理企业质量的现状和优化本企业质量管理的流程。

     
  • 注意观察乙方人员的专业素养,如果没有在工厂里面工作过,没有从事过质量管理,很难相信他们会能与甲方顺利地沟通,并且充分理解甲方的需求和痛点。

经验丰富的专家团队,依托一套成熟的服务体和工作流程为客户提供高质量的软件系统顾问咨询,系统实施和售后维护等一系列服务,全面满足客户的需求。诚信经营,用心服务,在为客户创造价值的的过程中,不断提升企业自身的价值。

专注于企业质量信息化服务

Our Clients Are Our First Priority

主页    云质观点    质量管理系统(QMS)-6.自己开发,外包还是购买产品?