不懂技术的互联网创业公司是选择技术外包还是雇佣技术团队完成产品

不知道题主为啥邀请我啊,我的还是空白的:)不过,巧合的是,我最近刚写了一篇文章,就是关于外包的,希望能对题主有所启发。 另外,我的公众号叫做 北纬37度 专注于创业,技术思考,和德州扑克。有兴趣的同学关注我哈。全文如下:---------------------------------------------------------------------------------------------------------在笔者最近几年的工作中,总是(大部分时候是被迫)要去做一个选择把整个系统或者其中一部分外包出去开发或者采购。大部分时候,我都是抗拒的。你知道,在一个组织里,如果不是独裁者,是不能简单的拒绝一件事情的。拒绝是需要理由的,而且往往需要和人辩论,这促使我不得不对技术外包进行思考。首先我要定义一下,我这里讨论的技术外包,指的是在IT领域,将一个设想中的软件系统或者已有软件系统中的一个模块给第三方公司去开发,或者采购现有的系统。而人力资源外包(即驻场开发)则不在讨论范围内。
我们不妨先讨论一下外包的好处和坏处。
好处:
一般来说,成本更低。大部分时候,采用外包的成本是更低的。如果要自建团队,现在靠谱的工程师普遍很贵,还得为他们缴纳四金,租赁办公场地以及购买硬件设备和其他福利,以及相应的其他部门人员成本的增加,比如人事和财务。如果项目最终不靠谱,还得计算Cut Off的成本。综合下来,你会发现大部分的外包公司开出的价钱远低于这个成本。
一般来说,更为快速。如果要自建团队,找到靠谱的人需要一定的时间,而且这些人开始开发可能还需要积累经验。而找外包团队或者采购现成的产品,则马上可以开始。
好处不多,但是都颇为关键,还有什么比成本和时间更为重要呢?然而,请注意,我加上了“一般来说”,我不认为这两点好处在任何时候你都能得到。比如,如果你完全不懂IT技术,也不认识靠谱的外包团队,你被人宰一刀,花更多的冤枉钱是完全可能的。比如,外包和你的沟通不畅,双方不能完全理解对方,做出来的系统要一遍又一遍的返工,更快上线也是有很大风险的。比如,为什么外包公司总能开出更低的价钱呢,同样要雇人,同样要缴税,同样要场地,难道他们的管理真的这么厉害,以至于总比人自己开发要便宜?这两点好处能否得到,在什么情况下可以得到,还值得深入讨论,暂且只肤浅举例之。我们再看看外包的坏处和风险:
外包为交付而开发,而不是为长远而开发。你和外包公司之间的合同决定了,外包按合同交付产品,然后通过验收,拿钱。至于以后的事情,则不在关心的范围内。系统有多少坑,内部设计多么不合理,并不关心。只要在外观上,表面上通过验收则可。这完全无可厚非,在商业领域,每个参与者都追求利益最大化。如果外包为长远去设计,那么势必会增加短期内的开发成本,而且他把内部设计得很合理,如果你不懂技术,你也看不到,不会有什么好处。外包这个工作就是通过牺牲长期利益(你的),来使得短期成本(他的)可控。好比小时候,打扫房间,把灰尘扫到看不见的角落以快速完成任务。另外,在激烈竞争的外包开发领域,因为成本,外包公司未必肯花大价钱来招一个靠谱架构设计,这也使得从长远看,系统很糟糕。
外包开发的质量经常达不到你的要求,甚至很烂。如果你把一个项目,比如直播平台放到市场上去找外包,你会发现不同的外包公司报价有时候相差甚远,相差几个数量级都是有可能的。我认为都是合理的,大家对软件交付的理解不一样罢了。拿直播来说,几百万的报价开发一个直播平台是靠谱的,几万块开发一个也是靠谱的。甚至几千块找个学生开发也是可行的。毕竟,直播的服务端技术问题已经被大大小小的服务提供商解决了(包括腾讯,金山,网易等等…),而他们提供的客户端Example甚至已经是一个五脏俱全的直播APP了。如果你总是在寻找更低的报价,你总是可以找到,直到找到那个实习生。质量就可想而知了。此外,即便是大的软件外包服务商,也不可能像互联网公司那样开高薪去招聘最好的工程师,否则他的报价一定要高于其他外包商的。外包说到底是一个关于成本控制的生意。再次,软件开发本身就是不确定性太多的工程活动,需要时时的保持沟通,而保持时时沟通也是外包开发的软肋。


推荐阅读