长久以来,在企业信息化/数字化的浪潮中,很多人都在做着二选一的艰难选择,或者是一处碰壁再去尝试第二种的无奈之举。其实,在良性的软件开发环境中,如果前两种你遇到问题或者困难,可以试试用专业的公司提供的服务,利用第三方公司提供的软件团队,去实现自己的信息化和数字化。
通常现在国内我们看到的情况,就是一个企业选择外包项目,往往是一些自建团队做不到的,或者是自己的能力各种原因达不到,或者是对于企业信息化不是特别重要的部分,会选择把这个部分外包出去。做一个项目,包给一个第三方的公司,他也会竞价,也会想办法找到性价比最好的供应商。这个方案,对一个企业来讲,如果外包的项目并不是那么重要,那我认为是可以的。
但是,重要的系统,外包是有问题的。因为第三方公司通过外包的项目,在多大程度上能够理解你的业务,而这个东西本身对你来讲又是至关重要的话,其实风险很大的。
你能不能提出一个有效的需求,这个需求能不能为第三方的公司理解,有很多挑战。当你已经有需求了,要不然你已经有了软件团队,你的团队做不了,或者事情太多做不过来,你选择外包。但你的团队有能力做出一份比较专业的需求,然后外包,这是现有的市场里面项目外包的模式,成功的概率会稍高一些。
但是更多的情况并不是这样,而是可能客户还没有软件团队,或者连一个软件的负责人都没有。只是想到了需要一个什么样的系统,大概列几个功能,就找公司去做,这种外包的模式是非常危险的。因为你想的东西跟第三方外包公司能够理解的东西之间是存在巨大落差的。
当然,也许有可能情况正好相反。外包公司做过类似的东西,根据你的需求,套现成的模板,理论上讲,看起来是多快好省。但实际上,在将来会很不好用,或者压根就用不起来,因为它毕竟不是你的东西,我们也不是太建议这种模式。
对一个软件来讲,其实需求本身是最难的。几句话的需求,到最后成品软件之间,存在着巨大的差异。如果是一个有良心的第三方外包公司,他会想办法把这个东西逐步完善,搞清楚需求,最后把它做出来。但是这个过程会很漫长,而且,这个有良心的公司是不是能够一开始把这个工作量就评估得很准确,这要打一个大大的问号。
作为第三方的外包公司,如果一下子不能给你一个报价,可能他就没有机会了。如果给你一个报价,再花时间去了解业务,把它慢慢变成一个详细的需求,这个过程很有可能一开始的报价根本承受不住,其实这里头都是些悖论。
因此,对中小企业信息化和数字化来讲,外包项目不是个好主意,因为那就是一次性的。