在初创团队时,曾做过一份移动端的启动方案(公共号历史文章有),用比较简单的方式计算了自建和外包的对比方案。
1、自建方案:服务端,ios,安卓各一开发,一leader开发,一ui,一测试,一项目兼产品(流行点说叫做owner)的极简组合,按工时算下来大约80万,三个月。
2、外包方案:内部投入一项目兼产品owner、一服务端开发、一测试,其他都外包,内外加起来大约40万,两个月。
对于非技术背景的老板来说,很难解释为什么1比2好。(技术背景的老板根本不会考虑2,所以必然有这个窘境。。。。。)
有点经验的都知道,外包出来的app,就是“烂,凑合用,以后要重做”的代名词。可是从数据来看,无法得到这个结论,外包便宜,快,而且外包团队的经验比自己招的菜鸟好多了。
可见, 有一些数据看不到的原因在里面,那么就从以往职业经历谈谈,为什么2的结果往往会很烂。
1、外包造成了信息脱节。
互联网是最讲究扁平化的行业,传统行业里任何一个职位都被牢牢限制在有限的影响范围内,而互联网,任何一个底层的实习开发,实习dba,都可能让一个大规模的网站瞬间瘫痪,或更可怕的--埋下长久的深坑,对于做一个app来说,涉及的系统边界问题更多,扁平化的需求更甚。
外包的形式造成中间沟通环节权利过大,没有监督,如果产品如果做的不好,那就是乙方不好,陷入了“足球队成绩不好换队员,而不换教练”的怪圈。
我们经常在网上看到搞笑视频说“甲方要求做一个圆的方型,有什么好抱怨的呢,需求就是这样,立刻就做”,就是暗讽这种普遍存在的自残流程,在外企里这种风气特别厉害。
2、自建形式有无数缺点,比如费钱,自己培养新人,但是有一个根本的好处是,所有人地位是相对平等的。
当需求不合理时,一线开发可以直接反馈到负责人,而不会经过一些奇怪的、各种利益纠葛的中间环节。
很多对于负责人来说“一目了然”必须要改进的地方,往往被拦截在中间,结果顶层负责人投钱投资源,底层干活的拼命加班,最后出来个垃圾,两头都挂了,然后会发现,哎,中间的人还挺滋润的。
3、我们不能和很多博客一样光吐槽,不说解决方案,下面是解决方案。
说起来并不复杂,外包的优点是经验丰富,性价比高,启动快,在一开始,自建团队的新兵是需要外包指导和带领的,但是架构设计和测试验收这些,必须由自有开发leader来主导。
所谓兵熊熊一个,将熊熊一窝,互联网就是这样,如果你所在的创业队伍里没人能站出来区分“哪些我们做,哪些外包,以及后续里程碑”,兄弟,祝你好运。
在掌握架构和验收的基础上,随着项目进展,将外包的工作内容从核心抽出来,每一个里程碑,都要有自有团队的人能多胜任一部分,目标是以介于外包和自建之间的资源投入,达到相对经济和持久的效果。
当然了,把乙方的开发leader直接招来也可以,这些有专业经验的人,对于在甲方呆久了自我认知有问题的团队(比如“要大气”)来说,是很好的鲶鱼,也会是一段比较有趣的经历。
ok,这个方案既然这么简单,为什么杯具还一再上演呢?
首先,这个方案是从老板角度的最优方案,而不是中下间层的最优,对于中间来说无利可图,人一多,层级一多,人性就高于规章,不利于中下层的政策是无法推行的,只有精练的小团队可以操作。(所以大公司都在拆啊。。。)
其次,对于有实力的乙方来说,人傻钱多的甲方太多了,如果在项目进展过程中,有渐渐甩开这家乙方的倾向,他们大可以选其他傻子,真的太多了,至少目前还是供大于求的。
第三,也是最要命的,这个方案需要时间。在浮躁的当下,小公司不知道明年还在不在,在的话不知道还干不干这个业务;大公司不知道组织架构会变成什么样,是不是又并掉了,诸如此类,这类需要长期持续推进的策略,往往就是“理论上”的最优方案了。
实际生活中,有靠谱技术老大就自己做,没有就外包,外包的东西虽然烂,也能做业务,拉到钱就招技术老大重做,没拉到就散伙,ctrl alt del重新启动,多简洁。
写完了。