爱吱声

标题: offshore的笨蛋们 [打印本页]

作者: 老兵帅客    时间: 2012-7-26 01:18
标题: offshore的笨蛋们
本帖最后由 老兵帅客 于 2012-7-25 12:20 编辑
% H  g( ~% I0 r+ X( @# Y, o) e9 w5 d; |/ ^: @2 f+ V
刚刚解决了一个performance issue,事情是这样的,我们的一个项目所使用的一个web service是由我们公司印度分公司的员工,我们称之为offshore team,完成的,这个东西在测试服务器上工作没问题,但是发布到生产机以后遇到了严重的performance issue,因为客户的访问请求居然需要六到八分钟才能完成,届时客户界面那边早就time out了。客户要求offshore team解决这个问题,他们找了半天找不到原因,没办法这件事就交给我们来解决了。
- L5 Z1 B- M+ L" }
" O+ z2 U' P, {我找来代码,发现里面居然没有任何log语句,因此你无法通过log信息来发现问题出在哪里,这程序是怎么写的和测试的?没辙,咱自己来给它加上所需要的log语句吧,然后安排重新发布到生产机上去。说到这里有人可能会问,你怎么不先在测试机上测试而直接上生产机了呢,回答是这程序在测试机上没问题,而在生产机上有问题,那唯一的可能就是数据量导致的问题,因此发布到测试机没用,还是直接上生产机吧。
$ D) b$ a; b6 x% P) W
& u* B# @; l7 u  L) j% H! \发布到生产机上,安排客户进行测试,发现问题出在了JDBC语句上,这句话用字段值来搜索所需要的记录集合,数据库表里面对应字段类型是varchar2,而我们的offshore家伙们的对应JDBC PrepareStatement语句居然是setLong,这样每个记录都需要做一次数据类型的转换,这么干数据量小的时候没事,一旦大到了一定程度,这性能能不完蛋嘛。
* E! Q4 a3 G4 ~) v/ C+ M! r" s' Z3 F" @! T$ ^2 G# f! u; H3 \
发现了问题,解决方案也就简单了,在java程序里面预先转换好数据类型,然后把setLong改成setString,再把程序重新发布到生产机上去再测试,这回好了,从原来的需要六到八分钟减少到不到一秒钟,完事了。/ I) ~. m5 \9 @3 `( T- x

3 l* x6 z+ r# h) Zoffshore team这帮家伙水平也忒次了,居然不懂得要尽可能减少数据转换次数这个基本常识,从而导致了这次的性能问题。出了问题自己还没办法解决,只好求助加拿大这边的人来帮忙,这样的out sourcing有什么实际意义呢。
作者: 机器猫    时间: 2012-7-26 02:24
我现在也成天干给offshore team擦屁股的事。
作者: MacArthur    时间: 2012-7-26 02:49
OutSourcing唯一用处就是给那些愚蠢自大的Business Leader们一个机会,来显示显示他们也“懂得IT潮流”。。。
, `0 @6 p2 `" y7 {9 U  r# ^8 \' U1 y2 D
仅此而已。。。 2 x7 J6 t3 p# e0 F7 E" D: m
2 z# z+ h5 N( S4 o# p! ?

3 i) u. f1 I2 r1 V3 j! G
5 `/ }7 _9 o0 j& ^* U* o" U, }
作者: 老兵帅客    时间: 2012-7-26 03:01
MacArthur 发表于 2012-7-25 13:49 " T8 B1 ?* k5 H
OutSourcing唯一用处就是给那些愚蠢自大的Business Leader们一个机会,来显示显示他们也“懂得IT潮流”。。 ...

- j6 N) U; d( H2 f1 X; j" }他们的主要用处是在统计报表上面告诉高层,我们通过out sourcing节省了多少多少开支,现实中就算了。8 e  ?0 T4 _. c7 K% W

* J! E: E" N$ Y我们的客户已经明确表示,在以后的项目中不再考虑offshore的人员了,原因就是他们的表现太差,仅靠本地人员来救驾,那还不如直接用本地人员算了。
作者: 老兵帅客    时间: 2012-7-26 03:02
机器猫 发表于 2012-7-25 13:24 " ?$ d; a* T6 [8 f( ^
我现在也成天干给offshore team擦屁股的事。
; N* X: l( b3 Q  D
嗯,同病相怜啊
作者: 明月回春    时间: 2012-7-26 08:53
其实软件这个行当不适合外包,尤其是offshore的那种。除去成本与能力之类原因,软件产品本身的质量控制没有直接的手段。因为他本身并不是有形有质的。你能对硬盘质检,但是检测硬盘中的软件代码质量,却要几乎从头到尾读一遍代码。这个成本很高,而且也依赖于检测人的自身水平。, O# w4 y) Y* d7 {( I
目前的质量控制只是一种过程控制,而且注重形式。所以,有可能生产出来一堆华丽而规范的垃圾。。。
作者: 库布其    时间: 2012-7-26 09:14
成本上来说,offshore team 主打 + 本地人员擦屁股 < 本地人员全部搞定 就可以。
0 f3 R- @9 {4 z1 N0 D
8 B, ^/ p2 K) ]: Y各种个案都有。我算是在中国的offshore team吧,有很好的工程师,也有差一些的工程师。总体来说比美国的差,但是搞个一年半年,抢美国工程师的饭碗没问题的。
作者: 老兵帅客    时间: 2012-7-26 10:02
明月回春 发表于 2012-7-25 19:53 : D4 h, w! T! {7 p* X( W
其实软件这个行当不适合外包,尤其是offshore的那种。除去成本与能力之类原因,软件产品本身的质量控制没有 ...

/ h( e/ s0 w7 U: q" h说的很对,问题是我们的offshore team出来的东西连华丽都没有,就剩下垃圾了。# l9 K4 T: R; G' {  ~

( f$ o) T: O( C我们这个项目一共用了三个web service,原来打算都让那边的人来做,结果有一个半年做不出来,被我们这边的一个家伙一个礼拜搞定,还一个被我彻底重写了,就剩下现在这个貌似还行的,现在发现还是不灵啊。我今天收拾的这个有多复杂呢,实在是很简单,就是一个用JDBC写的sql select语句啊,连这都搞不定,算什么呢。
作者: 假如十八    时间: 2012-7-26 10:02
写过几次sql的半吊子路过。。。
作者: 老兵帅客    时间: 2012-7-26 10:04
库布其 发表于 2012-7-25 20:14 6 K; U; k$ {3 J( M9 _
成本上来说,offshore team 主打 + 本地人员擦屁股 < 本地人员全部搞定 就可以。
- Q  `$ ~3 ]" ?# j8 Y
/ E1 K3 P, [9 O各种个案都有。我算是在 ...
" y# v( ?! u: j  F' c" Y2 {
国内的软件工程师要比印度的强多了,但是问题在于两点,一个是时差问题,正好是背靠背,再一个就是语言问题,我们要求直接能电话谈工作,这个就很难了。
作者: 老兵帅客    时间: 2012-7-26 10:05
假如十八 发表于 2012-7-25 21:02 ( s/ p4 W# ^( b! C: G& J5 f
写过几次sql的半吊子路过。。。

" O' d% H; Z: Q2 E1 S% A0 b1 Z# G. y数据库专家啊,崇拜。。。。。。
作者: 假如十八    时间: 2012-7-26 10:09
老兵帅客 发表于 2012-7-26 10:05 2 T. H' [! A' u- I( F
数据库专家啊,崇拜。。。。。。

# ~2 C: v$ B: S别逗了。。。我就会写个select。。。那种从sysobjects里面抽字段名玩来玩去的事儿我是不会干的~
作者: 四处张望    时间: 2012-7-26 10:25
假如十八 发表于 2012-7-26 10:09 5 F2 U# d- U+ j1 i6 e3 m: _
别逗了。。。我就会写个select。。。那种从sysobjects里面抽字段名玩来玩去的事儿我是不会干的~ ...

0 K. L- ~4 F5 T+ v, D! B  }9 \我做了十几年了,帮主说得sysobjects我都不知道是啥
作者: hotlemontea    时间: 2012-7-26 10:28
很多美国公司已经开始insource回来了吧
作者: 老兵帅客    时间: 2012-7-26 10:29
hotlemontea 发表于 2012-7-25 21:28 , r/ T& }0 y( H7 `' x
很多美国公司已经开始insource回来了吧

, r3 |: d/ K! o; k0 G7 X6 x美国不清楚,加拿大已经在往回收了。
作者: 草蜢    时间: 2012-7-26 12:21
Whatever happened to load test in Staging environment?
作者: 库布其    时间: 2012-7-26 12:58
老兵帅客 发表于 2012-7-26 10:04 6 R" A2 R+ I  ?
国内的软件工程师要比印度的强多了,但是问题在于两点,一个是时差问题,正好是背靠背,再一个就是语言问 ...
( R: Z/ ~; V% Z& L8 M
时差有利有弊。
( `6 K  Q& x& ^( U% T我就说个利吧。全球都有用户,出了事情总会有人第一时间接手开始搞,等这头该休息了,一个mail出去后面爬起来上班的继续搞。
0 v% H* q9 A) g8 A$ s( }  `3 D, Z* }3 H; r( _
语言在我们这里基本还可以,磕磕绊绊把问题搞清楚说明白,还是没问题的,基本没有只懂哑巴英语的人。。。其实哑巴英语的,赶鸭子上架几次,也就开口了。开口了,就不怕说不明白了,十几年的英语教育,还是有些作用的。
0 v+ V+ n7 V$ P3 U4 H, y! L6 C7 ?: B" [. p( a1 Z, P" X
最后的权衡,估计还是人力成本为大头。同样级别同样能力养一个美国工程师,大概在中国能养2-3个同样级别能力的。
作者: 晨池    时间: 2012-7-26 13:10
难道他们不做大量数据的测试吗?测试机上跑完了就完了,那测试也应该有Performance Testing,应该能检测到大量数据时候出问题的情况的呀,应该能预料到会有大量数据的情况下吧。这不能说Offshore team出问题。。。是Offshore testing team出问题
作者: 四处张望    时间: 2012-7-26 13:53
晨池 发表于 2012-7-26 13:10
2 h# d. {: t, L# W$ R! d9 z难道他们不做大量数据的测试吗?测试机上跑完了就完了,那测试也应该有Performance Testing,应该能检测到 ...
4 p7 }. F  R3 P# x* t
功能测试很可能做,性能测试吗,哇哈哈。
作者: 老兵帅客    时间: 2012-7-26 18:35
四处张望 发表于 2012-7-25 21:25
* V( H. y! @8 c* ^我做了十几年了,帮主说得sysobjects我都不知道是啥
8 x5 M+ P, v1 A8 _. }
俺也不知道
作者: 老兵帅客    时间: 2012-7-26 18:37
草蜢 发表于 2012-7-25 23:21
* V+ c# f; X2 F1 i: |5 tWhatever happened to load test in Staging environment?
) r9 b+ S5 o% J8 N* |8 K
测试服务器最多只有三百万条记录,因此没事,但是到了生产机,那里有七千万条记录,就完蛋了。
作者: 老兵帅客    时间: 2012-7-26 18:40
库布其 发表于 2012-7-25 23:58 ! F, ^" r" B7 k3 f6 T$ x/ L6 @
时差有利有弊。; I) u8 A+ H7 Z: @5 }
我就说个利吧。全球都有用户,出了事情总会有人第一时间接手开始搞,等这头该休息了,一 ...

8 n9 u1 ^3 J! p8 c: V不是那么讲的,软件out sourcing做得最厉害的是北美,你和它背靠背了,时差就成为严重的问题。
5 F9 D* y! t. P5 T, g0 R4 X
, I3 V3 j" h5 w% P6 c) }$ }. P. G语言问题更严重,我们这里的人来自各大洲,什么口音都有,我不相信国内的技术人能够普遍做到和这些人无困难电话沟通。
作者: mark    时间: 2012-7-26 18:45
明月回春 发表于 2012-7-26 08:53   |* |) ^. C. E8 v; [# K  r) V
其实软件这个行当不适合外包,尤其是offshore的那种。除去成本与能力之类原因,软件产品本身的质量控制没有 ...
& }: ?* `( ~" W/ H2 H8 Z& k
这个倒不是,有些TEAM的水平还是很高的。一分钱一分货。上面例子的问题关键是所遇非人。
作者: 四处张望    时间: 2012-7-26 19:05
老兵帅客 发表于 2012-7-26 18:37
# t: G7 t5 x' X6 }5 \测试服务器最多只有三百万条记录,因此没事,但是到了生产机,那里有七千万条记录,就完蛋了。 ...

. _+ j* ^; H1 D# ~. J9 D' ?& q! c2 T7千万就挺利害了,一般性能测试不会用那么大数据量。
作者: 晨池    时间: 2012-7-26 19:07
四处张望 发表于 2012-7-26 13:53 5 A4 D1 h: b. Z$ X
功能测试很可能做,性能测试吗,哇哈哈。

2 Z3 r5 x- U  C6 z2 l2 M这样作为服务器上跑的程序,还是要跑性能测试吧,客户端的不跑也就算了,服务器端的程序不跑一下,多不放心啊。我还是选择认为他们做了性能测试但是不知道为啥,忘记了测这一个地方吧
+ b  _/ \( b/ M6 ]
作者: 老兵帅客    时间: 2012-7-26 19:13
四处张望 发表于 2012-7-26 06:05 $ l# h# ~& h# t4 ~% E/ l- c
7千万就挺利害了,一般性能测试不会用那么大数据量。
$ e  ~+ G  K3 c: ]
是啊,所以出问题了呢。关键在于,数据库的那个字段是varchar2,程序里面为什么要用long呢,应该是string才对啊。
作者: 四处张望    时间: 2012-7-26 19:45
老兵帅客 发表于 2012-7-26 19:13
. K5 `+ Z! z( e: `) [是啊,所以出问题了呢。关键在于,数据库的那个字段是varchar2,程序里面为什么要用long呢,应该是string ...

9 Q3 t$ Z7 A. l, ]! F! v# j# M其实我会猜他们原来是想用long类型,但是数据库设计那里或者搞错了,或者看错了。
作者: 四处张望    时间: 2012-7-26 19:48
晨池 发表于 2012-7-26 19:07
% a- \2 f! H4 A4 O: ]' \这样作为服务器上跑的程序,还是要跑性能测试吧,客户端的不跑也就算了,服务器端的程序不跑一下,多不放 ...

" Y; `! v2 e7 I9 _3 L. o5 Z主要问题是性能的问题并不是随便测测就能测出来的,老兵这个例子是上了7千万,我是很少见到哪里性能测试会拿这个折腾自己的。他们拿百万级别的数据测了性能,也算交货了。
作者: 晨池    时间: 2012-7-26 20:08
四处张望 发表于 2012-7-26 19:48
1 z) v3 _) e/ j4 S  s5 T主要问题是性能的问题并不是随便测测就能测出来的,老兵这个例子是上了7千万,我是很少见到哪里性能测试 ...

: h# Y( [# S2 L- G9 L! `. P+ d: h是啊,我也是后来才看到这个贴的,跑了三百万的确实也够意思了。这个里面也只能说良好的编程习惯太重要了
作者: 老兵帅客    时间: 2012-7-26 20:46
四处张望 发表于 2012-7-26 06:45 4 ?: S9 R& T! l1 c; n
其实我会猜他们原来是想用long类型,但是数据库设计那里或者搞错了,或者看错了。 ...
" W& |; p" [; C" g0 e0 P$ ]  \
这个我问过了,数据库那里一直就是varchar2,那就不应该在java这边使用long,因此这个错误纯属程序员做事不仔细,没考虑数据类型转换的成本。
作者: 老兵帅客    时间: 2012-7-26 20:47
四处张望 发表于 2012-7-26 06:48
% p0 I( V/ ~4 B) X主要问题是性能的问题并不是随便测测就能测出来的,老兵这个例子是上了7千万,我是很少见到哪里性能测试 ...

5 _, E) D' t# W+ [: T+ C5 H6 I: ]* ?我觉得这个问题其实是code review那边出了问题,否则不应该看不出来数据类型不匹配的问题来的。
作者: 老兵帅客    时间: 2012-7-26 20:48
晨池 发表于 2012-7-26 07:08 5 |1 B1 m/ q' z
是啊,我也是后来才看到这个贴的,跑了三百万的确实也够意思了。这个里面也只能说良好的编程习惯太重要了 ...

$ K& c7 k* s( [* N5 |对,规范的编程习惯很重要的。
作者: 四处张望    时间: 2012-7-27 10:57
老兵帅客 发表于 2012-7-26 20:47 - `, E) o0 D  I" I8 [
我觉得这个问题其实是code review那边出了问题,否则不应该看不出来数据类型不匹配的问题来的。 ...

9 J& i3 w+ a$ Z9 o1 p. R8 o; N这里出问题我倒觉得不算太奇怪,问题是为何找不出问题.
作者: 老兵帅客    时间: 2012-7-27 11:10
四处张望 发表于 2012-7-26 21:57
( h! @$ v, p( y这里出问题我倒觉得不算太奇怪,问题是为何找不出问题.

' S1 a, Z3 ]' l; R不奇怪,连做个如此简单的web service都如此吃力,哪里还有能力做深层次分析。
作者: 空气精灵    时间: 2012-7-27 11:51
老兵帅客 发表于 2012-7-26 18:40 + E# z: F1 e4 i3 H2 M! b& e1 H
不是那么讲的,软件out sourcing做得最厉害的是北美,你和它背靠背了,时差就成为严重的问题。
+ q/ A0 p+ I" ^$ L( q0 e% Q+ \
7 f+ Y( ?5 l. O/ }# W9 u$ p语言问题 ...
3 [7 H) K6 f3 b, n* }3 w
国内这样的人是有的,只是人家就不做outsourcing了。
作者: 空气精灵    时间: 2012-7-27 11:52
老兵帅客 发表于 2012-7-26 19:13
9 R. W# O9 m1 B# L4 ]' U' `是啊,所以出问题了呢。关键在于,数据库的那个字段是varchar2,程序里面为什么要用long呢,应该是string ...
" g8 {1 q  A' l: {/ e0 t
这个实在不可思议,程序里的数据类型参照DB里的设,这是非常非常非常基本的啊。除非是曾有人改过数据库结构。
作者: 四处张望    时间: 2012-7-27 12:03
空气精灵 发表于 2012-7-27 11:52
& z7 h7 W( g. f9 a) P3 ~这个实在不可思议,程序里的数据类型参照DB里的设,这是非常非常非常基本的啊。除非是曾有人改过数据库结 ...
0 o; T2 f4 f! t2 k3 A: Z& u& U
我真见过不管的,因为功能上的确可以跑。
作者: 我是人间惆怅客    时间: 2012-7-27 14:32
老兵帅客 发表于 2012-7-26 18:35
$ S! j8 b9 w  y, R& d6 T0 }" K俺也不知道

: {3 L& c2 k! D0 R, s  ^" d4 q% Msysobjects 是 sql server 里的系统表,记录的是 用户表、视图等对象的定义数据。
作者: 老兵帅客    时间: 2012-7-27 16:25
空气精灵 发表于 2012-7-26 22:52
. `3 h5 p9 j) ]7 g; f8 l这个实在不可思议,程序里的数据类型参照DB里的设,这是非常非常非常基本的啊。除非是曾有人改过数据库结 ...
! J6 W* _& `# m2 Z+ H) P1 Z
数据库没改过,神奇吧。
作者: 老兵帅客    时间: 2012-7-27 16:25
我是人间惆怅客 发表于 2012-7-27 01:32 ( |! d8 u$ h' {' ^8 o4 f
sysobjects 是 sql server 里的系统表,记录的是 用户表、视图等对象的定义数据。 ...

% `% i5 ~& E, @: T俺们这里不用sql server,用oracle
作者: 老兵帅客    时间: 2012-7-27 16:25
四处张望 发表于 2012-7-26 23:03
% u2 b( H. O9 L0 N2 }7 n5 P我真见过不管的,因为功能上的确可以跑。

: h: J+ w- _9 V9 F/ w是可以跑,就是性能会成问题。
作者: 我是人间惆怅客    时间: 2012-7-27 23:24
老兵帅客 发表于 2012-7-27 16:25 9 j, P4 @+ b2 [7 t8 _& s: r/ `
俺们这里不用sql server,用oracle
( V1 n8 G- p& M6 L) w
hah ,俺们只会 sql server。
作者: 坚持到底    时间: 2012-7-28 21:57
这个有点太没有技术含量了。
作者: nimenkanne    时间: 2012-8-10 09:12
offsource不能多用,其实应该把费时费人工 但是不核心的东西offsource8 Q/ h# O. p% z
全部都offsource估计是不行
作者: profer    时间: 2012-8-10 13:55
本帖最后由 profer 于 2012-8-10 13:57 编辑 ( b5 u5 \) h  V# |" J- a

. f, I) v0 T: G, J8 S9 C0 a9 b读书还是刷盘子?假如有两个机会,一个是外包做数据库应用30w,一个是去淘宝做数据库调优15w,你会选哪个?以前一个同事选择了后者,三年后到某银行拿100w了。
: X$ D% h# P' e& J现在猎头打电话,要是外包的岗,我都是直接要求翻三倍。有个孩子要求两倍,上个月刚去报到了。0 R( O) t; `5 W
古语说:家财万贯不如一计压身。多给几毛钱把一些粗笨的体力活转移到劳动成本低廉国家的路子注定是行不通的,最多成为年轻人进入这个行业的跳板,人有自强之心,特别是像这中国这种处处要争第一的国家。
作者: 老兵帅客    时间: 2012-8-10 18:07
nimenkanne 发表于 2012-8-9 20:12 ; Y2 e/ I" P$ g" i6 v( d' k2 }
offsource不能多用,其实应该把费时费人工 但是不核心的东西offsource3 h5 A' N: t  {1 ~) d) d  d7 j
全部都offsource估计是不行 ...

3 q' g& h, b) g9 r( o/ T这里的关键是outsourcing的工钱给多少,很多忒克扣了,能招来的人水平不可能好;可是如果给好了的话,那还有利可图嘛,这是个矛盾。
作者: 老兵帅客    时间: 2012-8-10 18:09
profer 发表于 2012-8-10 00:55 , C9 f  ~6 k( e
读书还是刷盘子?假如有两个机会,一个是外包做数据库应用30w,一个是去淘宝做数据库调优15w,你会选哪个? ...
) l% K. a! {0 K& C4 O2 z
中国的软件outsourcing实际上很少的,主要是语言不行,就剩下coding这段,那机会就很少了。
作者: 小木    时间: 2012-8-12 02:28
咦,为啥程序里只用得到long然后数据库里非要是varchar?
9 }% z' M$ l$ ~, B7 R. k我觉得数据库设计一开始就错掉了啊。。。。
作者: 老兵帅客    时间: 2012-8-12 03:25
小木 发表于 2012-8-11 13:28 ) z& ~! V9 r8 p+ h
咦,为啥程序里只用得到long然后数据库里非要是varchar?
' t' m0 S" P5 {$ R4 P我觉得数据库设计一开始就错掉了啊。。。。 ...

( p3 d% |4 T) j/ r' ~% w# a数据库没错,错的是程序,这才出的问题。
作者: nimenkanne    时间: 2012-8-12 16:10
老兵帅客 发表于 2012-8-10 18:07
; r0 w* K; y8 M6 ~% x这里的关键是outsourcing的工钱给多少,很多忒克扣了,能招来的人水平不可能好;可是如果给好了的话,那 ...

% z- f5 [: R1 K1 {1 Z  \& l; }7 {$ _4 C. V2 y
您说的很对
' i1 ]; S: D+ B+ c从管理成本角度说,我觉得大约是50%的工资比较好。/ f/ H& r6 J3 L4 p- U- [
用数据说:比如美国工程师1年是40~60万人民币吧,那中国的给到20~40万基本可以满足需求了。
" Y5 s" e6 \# D# V; j" q, }20~40万,即使是在北上广,也是可以招到很不错的工程师了。
$ B5 Y. V. h( ^" w  D% J; l) W) W) }3 `/ W
至于有利可图:50%的成本+ 节省的管理成本,裁员的人力成本等等  还是有利可图的: x. P; Y  R/ X1 M9 B0 Y

作者: 老兵帅客    时间: 2012-8-12 23:18
nimenkanne 发表于 2012-8-12 03:10 $ f. |. g9 a6 d0 Z/ K. m$ G
您说的很对
, T5 b3 C, z& ^# L, h从管理成本角度说,我觉得大约是50%的工资比较好。
9 `9 L" \$ k) g2 S' n用数据说:比如美国工程师1年是40~60万人 ...

/ I, P: ?. t4 H2 Y) D) Z4 b- b; H, q想什么好事呢,你只计算工资成本,却不计算通讯和语言成本,要知道后面那两个加起来有时候不比工资成本低多少。举个例子,我们这里经常要和客户直接谈东西,于是outlook上约个时间,找个会议室直接开会,散会就可以干活了。如果这件事要和国内的人合作,先不说语言上的问题,国内和北美是背靠背,因此除非国内用北美时间上下班,否则只能够用电子邮件,一个来回走一天,国内的人工成本立刻就上去了,原本便宜一半也就变成和这边一样的成本,甚至更高,那还图个什么?6 B+ d. W& J/ ?6 p4 Q; e! Z4 B
- m2 G; f7 F% h8 {, }
事实上,应用软件开发里面,能够整个打包不需要中间再和客户接触的情况很少,很多时候是和客户一起干活,也就是一边商量一边干,有关文档经常在变。这就是为什么国内很多这类企业都做日本、韩国的生意,原因是没有时差问题,时差成本下来了,否则没戏。
( X, B" k# s5 C: ^8 ?/ m
6 y) n. ~- x& W: X: ]不要说和中国,中国国内的技术人员很多语言根本达不到这边的要求,也就是直接电话讨论问题,因为口音问题和电话线路的噪音问题,就是印度那边英语普遍比较好,时差问题也比较小的情况,时差所造成的成本上升也是很严重的问题。
8 Y, G2 l. N( b& R1 R# o6 P: _
% p- C4 |2 f" c0 @$ r8 C* }你所说的情况,只在一种情况下成立,那就是比较专业的技术性程序,不需要和客户有很多的接触,直接打包拿走。可是这种情况往往涉及专利问题,以国内的无法无天,法律经常成为闹剧的局面,怎么解决?
作者: nimenkanne    时间: 2012-8-13 06:23
老兵帅客 发表于 2012-8-12 23:18
2 E& |1 z$ ~8 E+ n7 z$ f: G想什么好事呢,你只计算工资成本,却不计算通讯和语言成本,要知道后面那两个加起来有时候不比工资成本低 ...
7 V, I2 ~0 W1 M2 N9 H" q! N& P
就我知道的中国的不少外企,就是offshore模式。通讯模式也可以解决,乙方加班呗。晚上8~10点加班,所有讨论在这个时段进行。3 F  Q3 g2 T' z8 |
至于您说的外语问题,有。不过年薪给到了20~35万,外语一般还是可以交流的。或者管事的负责做交流。哪怕是一个团队找一个外语好的懂点技术的专门做接口人呢?这点成本和节省下来的成本比,是有限的
/ Q! j) x- X% O" J0 }
, H6 a8 b6 M( [另外我想说:印度人的外语确实很好,不过他们的习惯是有的没的说一大堆,也许已经是增加了沟通成本。
4 [' e7 g6 K& {( u. W
# @" M$ \  v$ b' r您在关注开发的同时,忽略了一个小问题:软件不是只有新feature的开发的。还包括很多的维护/测试工作。这一些offshore就非常合适了。
作者: 我爱莫扎特    时间: 2012-8-13 06:54
你们这个算小CASE啦。RBS把核心数据库外包给印度做,一个小伙子按错一个键,整个大银行瘫痪了两周多呢!
作者: 老兵帅客    时间: 2012-8-13 07:09
我爱莫扎特 发表于 2012-8-12 17:54
5 A; v* q9 H. U  m你们这个算小CASE啦。RBS把核心数据库外包给印度做,一个小伙子按错一个键,整个大银行瘫痪了两周多呢! ...
) X1 D0 T% H- s1 d; n) u
所以北美在往回收呢,就是因为看到了这些成本问题
作者: 老兵帅客    时间: 2012-8-13 07:19
nimenkanne 发表于 2012-8-12 17:23 5 T/ M" K  H/ O) c
就我知道的中国的不少外企,就是offshore模式。通讯模式也可以解决,乙方加班呗。晚上8~10点加班,所有讨 ...

2 r8 I2 L* w+ m6 Y
% G' Q* g: J1 m# g' Z. U  T时差问题的唯一解决办法就是国内夜里上班,用北美的工作时间,否则没戏。
$ W. g- w2 {* K+ f, y+ F3 h. i+ B2 n- [' {6 \1 N$ o6 L6 J# h5 d% O
我理解你所说的晚上八到十点加班,那个只能是两边的技术团队开会,跟客户没戏,人家才没兴趣跟你凑时间呢。人家出钱的,想什么时候就是什么时候,怎么都是有理。我们在这边的,见了客户永远都会变成yes man,围着客户转的,哪里敢要求客户如何如何。# R7 a. o: O* S- q/ l% K  S% O
' _) m$ q9 t' o
语言问题在于,技术好的一般英语都不太好,倒过来也一样,原因就是时间投入的分配。管事的负责作交流是不可能的,因为开会的时候要直接人对人谈话,还有很多的业务和技术讨论,你要加进去多少语言好的呢,他们懂得业务和技术嘛,那样成本也就上去喽。其实这也就是为什么做软件外包印度比中国强,不是印度技术多好,而是时差和语言问题比较好办一些。; m& h) B8 ^! \  S9 y

/ A, L& i) K5 U* }/ o; ?别处不清楚,我这里测试QA一类是绝不外包的,因此唯一合适的就剩下technical support了。
作者: nimenkanne    时间: 2012-8-13 19:15
老兵帅客 发表于 2012-8-13 07:19 & D& `" W" Q8 @& ^8 e, H8 Y
时差问题的唯一解决办法就是国内夜里上班,用北美的工作时间,否则没戏。
  L; S" x" g1 l" _5 h2 w1 q" v7 x% D$ e% u" t# j7 T$ V! ]; L
我理解你所说的晚上八到十点加 ...
% Z3 ?: r- v% d; @7 @# o( W
我知道您说的意思了& S2 [! k3 N4 {
如果是直接面对客户的,那没戏。4 p* d8 U+ n# d& ~) I) p5 @5 ~
但是一般大公司都有专门做需求的,那是本地的。然后需求明确后 就可以找offshore了* b6 Z3 J. i2 Y( S* u. n
大公司由于层级复杂,每个职务都有明确的专人负责。所以可以沿用offshore的模式。5 k$ b; T- O6 ~' c

% P" S: O- z# M* I但是据我观察,大公司的做法不是完全包给其他的公司,而是自己独资在中国开设研发基地。说白了,目的就是外包。但是这样操作起来风险小一点。
作者: 老兵帅客    时间: 2012-8-13 20:45
本帖最后由 老兵帅客 于 2012-8-13 11:43 编辑 " `& N" p9 K2 _
nimenkanne 发表于 2012-8-13 06:15
# p  p4 B1 Y8 R% D1 g6 x5 N我知道您说的意思了; J1 }& |: l9 a- e
如果是直接面对客户的,那没戏。/ N* k) V) y6 V% f
但是一般大公司都有专门做需求的,那是本地的。然后 ...

8 r7 W  t  J0 m! V& O% d; {
" w0 S' O5 J  P* `1 O" a问题就在于需求总是在变,因此BA、SA的文档也总是要跟着变,经常会出现事情很急,于是技术人员先干着,相应的文档跟着更新的倒过来局面。
- ~$ ^! f+ L" `$ {' V$ H$ ^. W1 [5 H+ \8 Y. q% I- z* ^
至于你所说的大公司每个职务都有明确的专人负责,没错,但是哪里的人都是人,都有下级服从上级,为业务部门服务的需要,于是明确而稳定的流程经常成为具文,应急对付的事情层出不穷。
' _) i  K' d& w
# a7 c& R% a. i$ @在中国设立研发基地的一般都是技术性公司,其它类型的还是外包居多。
作者: nimenkanne    时间: 2012-8-14 08:25
老兵帅客 发表于 2012-8-13 20:45
8 {+ F' r" W( E3 g问题就在于需求总是在变,因此BA、SA的文档也总是要跟着变,经常会出现事情很急,于是技术人员先干着,相 ...
/ P" B- l# L5 ]
应急是有的。这在软件研发中是不可避免的
4 u) i% v6 D# }" v不过我看到很多的外包都是做的是原有功能的维护,需求的变化在这一点上影响不大。
* ?' _4 Z9 F- `
作者: 老兵帅客    时间: 2012-8-14 08:48
nimenkanne 发表于 2012-8-13 19:25 : \; x: S4 H# q- O3 v
应急是有的。这在软件研发中是不可避免的
. m. L6 g* t3 G不过我看到很多的外包都是做的是原有功能的维护,需求的变化在 ...

" p) ?+ D# B3 |, K* P5 Y! X这点倒是很对,不过这种外包也就拿不到多少钱了。
作者: nimenkanne    时间: 2012-8-14 08:53
老兵帅客 发表于 2012-8-14 08:48
- U9 e2 A$ C5 t$ d. l这点倒是很对,不过这种外包也就拿不到多少钱了。

% P5 c6 |- N2 m) v4 Y大概是50%的原来国家的成本吧
/ P- G' q0 u6 B# P我在了2家公司都是这样
作者: castigliano    时间: 2012-8-16 16:18
听说微软中国不少中层是把外包公司当成灰色收入来源的。。。
作者: 老兵帅客    时间: 2012-8-16 18:18
castigliano 发表于 2012-8-16 03:18 - @: |. \& w/ p: R' M
听说微软中国不少中层是把外包公司当成灰色收入来源的。。。

8 m. w" w& U  g5 t9 E, Z/ l# N* w$ ?3 a! |这个就不了解了。




欢迎光临 爱吱声 (http://aswetalk.net/bbs/) Powered by Discuz! X3.2