我为什么不接外包

2022-09-24

互联网产品和可量化的传统商品不一样

传统产品比如农村打一口井,让木匠做一个课桌,房屋装修铺地砖,都是很容易量化的,也已经有了经过历史形成的默契,会有一定分歧的可能,但不太容易出现很大的分歧。而互联网产品是逻辑化的东西,可怕的是这种逻辑化还不是固定的逻辑化,很容易波动。所以几乎不可能形成不变的量化。

供需双方价值衡量标准不一致

再就是需求方对一个互联网产品的价值衡量标准可能会与研发差异很大。导致这种差异的情况很多,研发人员的技术能力,需求方对互联网的认识,自己所处的市场环境等都可能成为因子。

比如一个商城产品,需求方可能根据自己的认知预估价格为 5 万或 50 万。不同的研发的人员根据自己的能力看到的产品相关技术的深度也不同,也会得出不同的心里价位,认为 5 万能做出来的研发人员,能做出来吧?能。能用吧?估计也能?认为 50 万能做出来的研发人员,他们可能考虑的技术深度可能更高。这里就不展开代码质量和技术细节了。举个例子,可以看一下 12306 火车票这款产品的研发史,官方宣称一期花费了 3.3 亿元,就算去掉其他开销因子,算到真正花在产品研发上的也绝对不算低,又说明了另外一个事实,有钱没人也不一定能做好一个产品。

产品本身质量可以天壤之别

对同一个产品,不同的研发人员开发出来的质量可以差异很大,无论你是需求方还是研发人员,随着你的认识更深,这种差异远比你心中想的还大。

千万不要小看这一点,其实针对大部分应用型互联网产品,表象的功能实现从逻辑上讲并算不上复杂,可以说只会增删改查的研发人员进行实现,基本上都能做出来,但是逻辑严谨性,代码质量,可维护性,深层技术点的攻破,迭代所需复杂度等,这一系列的问题才是真正的问题。不说深的,只说一个逻辑严谨性,就足以制造出很大的差异,这关系到基本上能不能用的问题。

经过这些年,我认识到一个事实,把复杂问题简单化的这种能力很稀缺,真的很稀缺。你可能会说,我的需求就是做出来就行,后期也不需要维护迭代,我只能说丢掉天真吧,用钱打水飘玩不如煎饼果子里多加个鸡蛋。

沟通成本极高,持续的精力和时间消耗,但是报酬基本不变

往往找外包的需求方对互联网产品了解比较表面,很了解的基本也不会选外包的形式了。所以问题就来了,需求方只知道要做一个某某类型的产品,但是具体逻辑细节基本上都是稀里糊涂。

我是这么认为的,在大部分产品研发流程中,研发人员其实是体力劳动,准确的说产品研发有两个逻辑,一个是业务逻辑,一个是技术隐式逻辑,业务逻辑能保证产品正常运行,技术隐式逻辑能决定产品的代码质量,是可维护性,是迭代复杂度,是未来可用性的保证。

所以这里有一个业务逻辑严谨性谁来保证的问题,往往研发人员都不是提需求的一方,所以我说大部分研发人员实际上是体力劳动者,所以并不要觉得自己相比工地搬砖的工作是脑力劳动者。目前互联网公司流程里有一个角色,产品经理或者项目经理,这就不展开这个角色了,只是大家赋予这个角色的责任太少了,后期专门做视频展开这个角色应该承担的复杂性,远比你所以为的更复杂。

而大部分外包形式,都是研发人员帮着梳理业务逻辑,前面说了这个逻辑严谨性会造成很大的差异,而如果是标准的拥有自己研发团队的互联网公司,这种逻辑严谨性的缺陷可以通过时间进行一次次小迭代进行弥补,而外包模式就不可能了。因为这种逻辑不严谨的缺陷会导致需求不停的沟通和修改,持续的精力和时间消耗,但是不要忘记,往往外包的收益都是打包一口价,而不是像标准互联网公司每月发工资,也就说会有付出和收获的不平衡,这就导致了会有一个熔点,一旦达到了这个熔点就崩了,所以想想你身边的外包模式有多少没有尾款的例子。这里其实没有甲方或乙方谁对谁错的问题,这只是客观存在的事实。

需求方和研发对需求的争论

需求是由研发人员来落地的,而大部分需求方普遍对互联网产品了解不够全面,研发对需求提出讨论时,可能需求真的对研发落地有困难,也可能是嫌麻烦为了省事,需求方并不知道合理还是不合理,如果不采纳建议,技术会不会不高兴而糊弄呢,毕竟是一锤子买卖,虽然这种行为不太厚道,但是存在可能性。虽然说研发人员是体力劳动者,但是也存在需求方只站在自己的认知角度去思考问题。所以试想如果不是一起扛过枪一起嫖过娼的团队,怎么能最优的消化这种分歧?

互联网产品需要持续技术维护

互联网公司的开发模式,只要项目不死,那就需要一直保持着持续迭代的过程。这期间随着市场变化,产品调整,研发人员将会不停的接受新的挑战,需要学习新的知识以应对。而随着公司体量的越来越大,用户越来越多,需求越来越多,对软件质量,开发技术的挑战也越来越多,逼迫开发者需要对技术进一步深入研究以应对!所以这里建议从事研发工作的朋友一定要选好自己的路。

我找的是专业外包公司怎么样

我经常隔三差五收到海外的外包公司找研发人员的推广邮件,大概就是了解你能做什么后,他们有项目了就派给你,具体就不展开了,一般我是直接 Report Spam。

可想而知,这种一锤子买卖,要想利润就一定要快,做完一单抓紧下一单,有多大概率会考虑质量,更不必说维护,迭代,架构设计等细节。这种以量为主的商业模式,在高需求量下,你是研发你还会踏下心来把质量放在第一位吗?

滴滴打车的例子

产品最初是找外包软件公司做的。程维觉得两个月要把产品做好,现招团队是来不及的。他找到的公司要价 15 万元,被他砍到 9 万元。对方向他信誓旦旦保证,功能肯定全都实现。程维先付款 30%,做到一半的时候付款 50%,做完验收再付 20%。结果那 20%永远没付出去。

拿到软件,他到交委演示嘀嘀打车,叫 10 次车,能响 6、7 次。不响的时候,大家就盯着该响起来的手机,沉默 10 秒钟。程维尴尬地把话题岔开。他学乖了,第二次再给人演示的时候,就带上两部手机,哪部响就拿哪部出来。

软件外包的同时,他也招聘工程师。工程师一看代码,就说这个水平太差了,基本没法用。他找的工程师,都拒绝了他。这个漏洞多得跟筛子一样的外包产品让嘀嘀打车的技术部门擦了一年的屁股。程维说:一分钱一分货,我们对创业者的建议是,宁可慢一点,建立起靠谱的团队后再去做,磨刀不误砍柴工。

但是试想,慢一点,时间也是钱啊,没办法,现实,即如此。

给找外包的老板的建议

可以先找找有没有能满足你需求的 SAAS 产品,据笔者了解,通常对标准型的互联网产品,海外基本都有类似的 SAAS 服务,订阅付费即可,乍看起来每月都需要付费,但实际上成本和时间精力远比你找外包开发低。实在想自己做产品,认清自己的擅长点,不擅长的点找其他擅长的战友,一起扛枪,一起嫖娼,并肩作战,各司其职。

给接外包的研发的建议

珍重! 珍重! 珍重! 珍重!