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業務當中,這種服務占很大的比例。其實,這種服務類似于國內市場常說的外派。
外派是在客戶現場工作的,客戶可以看見你并且盯著你工作?,F有團隊的管理模式是相同的。他不需要做任何改變,也就沒什么風險。所以在國內外包行業中,人力外派是一個比較重要的業務。
海外市場的Body Shopping,雖然客戶是見不到程序員的,是離岸,但它在本質上和實際結果上和外派并無區別。它的工作模式是由客戶來管理,或者說客戶需要花很多的時間管理。比如說,我們是一個五人或者十人的團隊,客戶可能就花兩到三個人去管理這個團隊。因為是offshore(離岸),這個團隊管理起來就有一個辦法。早上,客戶把已經想得差不多的工作內容分析好,發給這個離岸團隊,然后團隊來寫代碼;到晚上,客戶再來檢查這代碼寫得好不好,夠不夠標準。
Body Shopping,雖然客戶與程序員不見面,但是每天的工作基本上都是重復性的。程序員的工作本身不需要去想很多東西,客戶也不太信任你的能力。這種模式,客戶那邊的設計或者需求分析的時間要花很多。甚至后期,還出現了用攝像頭或者控制鍵盤的工具等,監視程序員每天工作了幾個小時,每時每刻到底在干什么。
Managed Service
另一種ODC我們叫Managed Service,它是怎么工作的呢?
客戶不去做具體的工作,他給每一個程序員的工作描述都非常簡單,一句話就是一個需求。這個需求最后要做成什么樣子,程序員要自己去研究,自己給出解決方案,自己去實現它,這是一項獨立的工作。
我們要求程序員要以敏捷的工作模式,獨立完成工作。你要想完成這項工作,就需要做很多背后的工作。比如,你要去了解客戶的業務到底是怎么回事,他的軟件到底是干嘛的。然后,才能把這一句話的需求做對!
一般情況下,一個團隊這樣的工作模式,會有非常嚴格的標準。比如,你做的東西并不是好像跑起來了就可以了,還要有更多細節的要求,包括UI設計甚至字體大小等,所有的細節都要一次性過關。提交的結果一定是完善的,如果你再有第二遍、第三遍的返工,整個團隊的效率就會變得很低。
讓一個程序員去完成一句話的需求,這種ODC實際上是比較難做的,但也是最有價值的,是我們極力推薦的軟件開發模式。