"为什么阿里到今天仍然坚持用自有人员开发,而不是用人力外包"

最近在找工作。投了不少阿里的职位,昨天看到阿里准备开始招聘外包了 。

这个事件引起我很大的兴趣。

 

"为什么阿里到今天仍然坚持用自有人员开发,而不是用人力外包"。

IT企业核心代码,或者关键代码由自有人员开发,这没疑问。

问题是通常情况下,核心代码规模有限,大部分代码并不需要太高能力的人即可完成。 

       我总结华为的策略:核心产品代码自己写。其余项目或者大规模编码,则在IPD流程下,由外包人编写。这样带来的好处是:代码质量可度量,开发成本低。

       但这样也有缺点:对SE(注重业务能力)的要求太高。SE因为无法指望下游人员(开发和测试人员都是外包,对业务不熟悉)能对自己的方案进行检视,所以要考虑的事情太多,一点点考虑不到,bug就会留到线上(IPD只能保证代码质量,但拿业务没办法)。 好在华为有强大的销售人员,客情关系可以弥补一些。

      而阿里有所不同:代码上线就直面亿万用户,bug造成的损失通常是无法弥补的。完全照搬华为的开发模式,估计不行。

      但我觉得,开发成本是必须要降下来的。华为模式不行,不代表无路可走。现在正值阿里扩张阶段,可能并不关注开发成本问题。不久将来,增长降速之后,"高效低成本"是必然要走的路。

 

      那么如何在保证系统稳定性和开发质量的情况下,降低开发成本?

 

1:降低开发成本,一个容易的办法就是使用能力低,价格也低的开发人员。 代码质量则由开发规范来保证,所以第一步就是固化开发规范(指严格执行开发规范,但流程本身可裁剪,这一步要作到"代码质量可度量")。

 

2‘:因为开发规范的严格实施必然降低产品需求响应的及时性,增加迭代周期。互联网公司都是在生死竞速,迭代周期、市场需求响应速度是必须保证的(这与华为有些不同)。因此,敏捷的开发模式、持续集成和自动化测试是技术保证,做不到这一点就很难降低开发成本。

 

3:约束bug影响范围: 新代码上线,只是在有限范围内生效,比如只有阿里内部用户才可见。这样即使代码有问题,影响范围也仅限内部人员。技术上的实现,我曾在一遍资料中见到过(现在找不到了,后面补充)。

 

4:建立持续稳定的人力供应商。华为已建立人力供应商白名单,将人力合作限定在有限的几个外包公司,好处显而易见。

 

 

 ===================

对3的补充:约束代码上线影响范围的技术实现:

写道
通过Gatekeeper系统,工程师们可以方便地控制多少用户能够访问特定的新功能,筛选的条件可以是地区,也可以是年龄,在遇到问题是也能迅速关闭某个功能的入口。在Gatekeeper的帮助下,工程师们能方便地进行A/B测试,藉此迅速收集用户的真实体验,对产品做出调整。不要忘了,在Facebook,是工程师来选择自己做什么的,那么工程师们肯定是选择把东西做出来,看看用户的反应,而不是坐在会议室里和一堆人开会去猜测用户想要什么。

 

 就只有这个内容了,没有更详细的内容介绍了。

来源:http://www.linuxeden.com/html/news/20131024/144870.html

你可能感兴趣的:(原创)