"为什么阿里到今天仍然坚持用自有人员开发,而不是用人力外包" 博客分类: 原创 人力外包开发成本
最近在找工作。投了不少阿里的职位,昨天看到阿里准备开始招聘外包了 。
这个事件引起我很大的兴趣。
"为什么阿里到今天仍然坚持用自有人员开发,而不是用人力外包"。
IT企业核心代码,或者关键代码由自有人员开发,这没疑问。
问题是通常情况下,核心代码规模有限,大部分代码并不需要太高能力的人即可完成。
我总结华为的策略:核心产品代码自己写。其余项目或者大规模编码,则在IPD流程下,由外包人编写。这样带来的好处是:代码质量可度量,开发成本低。
但这样也有缺点:对SE(注重业务能力)的要求太高。SE因为无法指望下游人员(开发和测试人员都是外包,对业务不熟悉)能对自己的方案进行检视,所以要考虑的事情太多,一点点考虑不到,bug就会留到线上(IPD只能保证代码质量,但拿业务没办法)。 好在华为有强大的销售人员,客情关系可以弥补一些。
而阿里有所不同:代码上线就直面亿万用户,bug造成的损失通常是无法弥补的。完全照搬华为的开发模式,估计不行。
但我觉得,开发成本是必须要降下来的。华为模式不行,不代表无路可走。现在正值阿里扩张阶段,可能并不关注开发成本问题。不久将来,增长降速之后,"高效低成本"是必然要走的路。
那么如何在保证系统稳定性和开发质量的情况下,降低开发成本?
1:降低开发成本,一个容易的办法就是使用能力低,价格也低的开发人员。 代码质量则由开发规范来保证,所以第一步就是固化开发规范(指严格执行开发规范,但流程本身可裁剪,这一步要作到"代码质量可度量")。
2‘:因为开发规范的严格实施必然降低产品需求响应的及时性,增加迭代周期。互联网公司都是在生死竞速,迭代周期、市场需求响应速度是必须保证的(这与华为有些不同)。因此,敏捷的开发模式、持续集成和自动化测试是技术保证,做不到这一点就很难降低开发成本。
3:约束bug影响范围: 新代码上线,只是在有限范围内生效,比如只有阿里内部用户才可见。这样即使代码有问题,影响范围也仅限内部人员。技术上的实现,我曾在一遍资料中见到过(现在找不到了,后面补充)。
4:建立持续稳定的人力供应商。华为已建立人力供应商白名单,将人力合作限定在有限的几个外包公司,好处显而易见。
===================
对3的补充:约束代码上线影响范围的技术实现:
就只有这个内容了,没有更详细的内容介绍了。