可能外包的代码质量更好。

在程序员的鄙视链里,大概外包是最最底端的一环。如果你找一个程序员咨询做出一个IT项目的方法,哪怕他毫无办法,他也会加一句说,千万别找外包。

他的理由大概是外包的代码质量很差。

在以前,可能真的是这样。我也见识过拿DedeCMS强撸电商和OpenCart强撸门户的代码……醉得我不要不要的。

感谢移动开发时代的到来,毕竟是全新的平台,之前的随便拿套开源的PHP代码强行二次开发的时代基本上过去了。在我创业开展外包业务这一年来,还没有见到拿套“熟悉的代码”强撸新业务的高人,同行们都兢兢业业地根据不同的平台、不同的硬件小心翼翼地逐步构建项目。

这为交付的代码质量提升注入了可能。

外包公司有几个动力来提升代码质量:1,外包公司希望人员成本降低;2,外包公司希望提升代码重用;3,外包公司希望业务转型。以下来详细说说。

1,外包公司希望人员成本降低。

和其它行业人一样,要降低人员成本,有两条路,一是减少项目的单位人员投入,二是降低人员素质要求。这两条路其实是矛盾的,如果不高人海战术,那就得每个人都高精尖;或者反之。解决这个矛盾的办法是好钢用在刀刃上。少量的高精尖人才不直接投入业务项目,而是构建一个高度可扩展的、高质量的“引擎”,然后由较低素质的人员基于“引擎”开发业务,从而实现人员成本降低。这个“引擎”的代码,如果能够通过外包项目来获得,大概可以省去一个创业团队一年半载的时间。只要一个外包公司,有能力开发出一个“引擎”,大抵就不会出现拿DedeCMS做电商,拿OpenCart做门户这种事。

2,外包公司希望提升代码重用。

除了“引擎”之外,外包公司其实很希望把代码重用提升到业务级别。所以外包公司做久了,慢慢会专业于一两个行业,开始号称“行业供应商”什么的。为什么外包公司要聚焦?因为很多同行业的不同客户提出的业务需求其实是相似的,那么许多业务模块也像“引擎”一样可以重用,这些业务模块往往经过了多个项目锤炼,逻辑周密,配置丰富方便,典型的高质量代码。

3,外包公司希望业务转型。

这是一个必然。外包公司的老板,就像工地的包工头,干的是客户和员工两头讨好两头讨不了好的活,要是遇着点行业波动、员工离职,分分钟没得玩。所以外包公司的老板,都有一颗包藏的“产品心”。只有有了产品,他才能像养儿防老的遗老添了新丁一般放心。这个产品,一般是一个行业适应性很强的、满足行业基本需求的、来自真实项目的一个战略级产品,比如OpenCart。后续外包公司会逐步转向这个产品的二次开发服务、咨询服务,从而达到转型目的。比如我们公司也通过社区型项目初步研制了一个自己的讨论型社区App产品QDiz,春节后也会发布。

综上所述,如果仔细考察,遇到有点追求的外包公司,收获的可能不仅是一个项目的业务代码,里头可能还含有他们的高内聚的引擎、超灵活的业务模块和基本开箱即用的产品原型,这里面的代码质量可能远远超出一个创业团队在生存高压下写出来的代码。

你可能感兴趣的:(移动开发,程序员,代码质量,外包)