ODC是Offshore Development Center的缩写,翻译过来叫离岸开发/研发中心。但是,也有人说是Offshore Delivery Center。我们更愿意用Offshore Development Center,因为我们不仅仅是在做交付,我们更愿用一个过程的词,而不是一个结果。
Offshore Development Center,最早先是印度外包的一个模式,有些美国公司在印度建立离岸的研发中心,后来演变成一个业务,也叫ODC。当时也是印度公司提供这么一种服务,就是我帮你建Offshore Development Center,这些人都是我的人,并不是由美国公司直接跑到印度去建的这个center。
我们最早也是借用了这样的一个名字。就是因为美国公司都知道这个ODC是什么意思、模式是怎么做。因为在美国去招人的话,成本非常高。但是如果在印度建立离岸研发中心的话,成本就非常低。这是它的基本原理。
从实际操作上来看,在目前的软件开发市场,ODC其实至少有两种。
“Body Shopping”的弊端
一种称之为Body Shopping,在早期的ODC业务当中,这种服务占很大的比例。其实,这种服务类似于国内市场常说的外派。
外派是在客户现场工作的,客户可以看见你并且盯着你工作。现有团队的管理模式是相同的。他不需要做任何改变,也就没什么风险。所以在国内外包行业中,人力外派是一个比较重要的业务。
海外市场的Body Shopping,虽然客户是见不到程序员的,是离岸,但它在本质上和实际结果上和外派并无区别。它的工作模式是由客户来管理,或者说客户需要花很多的时间管理。比如说,我们是一个五人或者十人的团队,客户可能就花两到三个人去管理这个团队。因为是offshore(离岸),这个团队管理起来就有一个办法。早上,客户把已经想得差不多的工作内容分析好,发给这个离岸团队,然后团队来写代码;到晚上,客户再来检查这代码写得好不好,够不够标准。
Body Shopping,虽然客户与程序员不见面,但是每天的工作基本上都是重复性的。程序员的工作本身不需要去想很多东西,客户也不太信任你的能力。这种模式,客户那边的设计或者需求分析的时间要花很多。甚至后期,还出现了用摄像头或者控制键盘的工具等,监视程序员每天工作了几个小时,每时每刻到底在干什么。
Managed Service
另一种ODC我们叫Managed Service,它是怎么工作的呢?
客户不去做具体的工作,他给每一个程序员的工作描述都非常简单,一句话就是一个需求。这个需求最后要做成什么样子,程序员要自己去研究,自己给出解决方案,自己去实现它,这是一项独立的工作。
我们要求程序员要以敏捷的工作模式,独立完成工作。你要想完成这项工作,就需要做很多背后的工作。比如,你要去了解客户的业务到底是怎么回事,他的软件到底是干嘛的。然后,才能把这一句话的需求做对!
一般情况下,一个团队这样的工作模式,会有非常严格的标准。比如,你做的东西并不是好像跑起来了就可以了,还要有更多细节的要求,包括UI设计甚至字体大小等,所有的细节都要一次性过关。提交的结果一定是完善的,如果你再有第二遍、第三遍的返工,整个团队的效率就会变得很低。
让一个程序员去完成一句话的需求,这种ODC实际上是比较难做的,但也是最有价值的,是我们极力推荐的软件开发模式。