离岸开发-我们需要为之坚持的原则

对于离岸开发来说,这样一种认识已经贯穿于onshore和offshore之间了:onshore永远是决策者,offshore一定要听onshore的。
对于商业利益来说,这无可厚非。因为如果onshore不把活给你做,offshore就要失业了。
对于offshore来说,onshore真的就好像客户,好像上帝一样。不管怎么样,一定要让onshore满意。尽量满足onshore的要求。

这种想法对还是不对呢?
从两个方面来看:有对的地方,也有不对的地方。

对的地方,就是onshore确实好像是offshore的客户。从这个角度来说,我们确实应该尽量满足onshore的要求。
不对的地方,就是onshore其实不是我们的客户,我们是一支onshore+offshore合作的离岸开发团队。虽然我们的活来自onshore,但是和我们合作的人,并不是客户,而是同事 ---- 这个认识非常重要,如果没有这种认识,那么接下来要说的原则就无从谈起了。

举个简单的例子。一个任务,需要5个人*10天做完。但是onshore为了某种原因,希望offshore8天之内做完,但是还不想增加人手。

按照“onshore=客户”的原则,那么offshore一看就差两天,我们提高点效率,把这个任务完成吧!
看起来似乎不错,其实这潜在的导致了很多问题:
1、offshore或许会出现加班。加班导致的成本谁来负担?offshore的项目经理,亦或是offshore的公司?
2、onshore发现这样的任务5个人8天之内做完,那以后就给你这样的成本。对于offshore来说,是不是一直要亏本做下去?如果不做,onshore会说:上次你们不是做得挺好?

再来一个现实的例子。一个小组3个人,最初的预定是这3个人只是做程序开发,不做系统的维护。结果一段时间下来,发现开发的任务不是很多,那么onshore就说了:“既然你们有空余的时间,那就做一部分系统维护的工作吧”
offshore的人想想也对,于是就做了一部分系统维护的工作。结果逐渐逐渐,这3个人承担了80%的系统维护的工作。但实际上,这80%的工作是需要4个人来做的。

3个人做了半年,做的很辛苦,每天压力很大 --- 因为缺少一个人。但是因为能力很强,系统维护中没有出现任何问题。
此时我们想减轻3个人负担,但是却已经无从开口了:
1、不做吧,已经做了半年了,而且没出问题,不好突然说不做。
2、做吧,太累。想增加一个人?现在3个人都没有问题,为什么要增加一个人?

结果导致了2个人不堪重负,最终离职。

上面都是“onshore = 客户”的例子。其实onshore也是仅仅站在自己的立场去想问题。正所谓“各为其主”,在利益面前,谁会抛弃自己的利益,而去成全别人?

你为onshore节省了一次成本,onshore不会感激你,他会认为这就是正常的成本。“人情往来”之类的东西,在离岸开发中是无效的。

所以,我们要坚持一些原则。但是坚持什么样的原则?

1、利益的原则
在利益面前,例如上面的成本面前,我们一定要坚持原则。这个任务是5个人*10天的活,那我们就需要这样的成本。如果你想8天做完,那就增加人手。如果你不想增加人手,那么就加班,但是你要付加班费。

总之一点,成本永远是 5个人*10天,省是不可能的 --- 这就是我们要坚持的原则。

在比如上面的3个人所做的工作。既然一开始让他们3个做开发的工作,那就不能再做系统维护的工作。如果要做系统维护的工作,那我们就重新计算工作量,看看3个人够不够。

总之,一旦涉及到利益,我们就一定坚守住自己的原则。原则一旦松懈,那么以后就很难重铸的机会。

2、责任的原则
离岸开发中,我们已经常见了很多onshore和offshore之间的唇枪舌剑的交锋。之所以会这样,是因为我们都要维护自己的利益,划分自己的责任的范围。不出问题的时候还好。出了问题,一般都会首先看责任。而onshore在这一点上往往做得很好:每次他们都能成功的把责任推卸给offshore,而offshore由于没有事先想到这个问题,只好哑巴吃黄连,有苦说不出了。

作为offshore,如果你想安心的工作,能够在发生意外的时候迅速,合理的处理好和onshore的责任,那么就必须事先对“责任”这个原则问题有个清晰的认识。

还是上面的例子,一个任务,需要5个人*10天的成本。可是onshore的负责人一定要在8天内完成,虽然给他说明了各种风险和问题,他还是认为自己的判断是正确的:这个任务不需要10天,8天就够了。
在这个情况下,offshore如果不做也不行,那么就硬着头皮做吧。结果8天之内没做完。客户必然会怪罪下来,此时onshore一句话就可以把责任推得干干净净:你们当时为什么没有把所有的风险想到?明明知道这样的计划有问题,为什么不坚持的自己的立场?
此时offshore真的有给他一拳的冲动--当然这是不可能的,赶紧把任务完成才是主要的。onshore确实有责任,可是他对你的指责你也很难反驳---尤其是站在管理层的角度。管理层会这样想:你这个leader的风险管理和沟通的能力还不够啊!

这活干的多憋屈啊,加班也加了,结果被onshore指责,还影响了在领导心中的形象 --- 不干了!珍惜生命,远离外包!这应该是一部分人离开这个行业的原因之一。

其实说到责任的原则,不仅仅在离岸开发中存在,在其他行业一样存在。如果你处理不好离岸开发中的事情,到另一个行业也未必能立刻风生水起。

回到责任的原则。
如果你有责任的原则的意识,那么当onshore一定要坚持自己的计划的时候,此时一定要让所有人知道:“这件事我已经把所有风险都报告了,当然也有考虑不到的地方。但是现在onshore一定要坚持他的计划。出了问题,和我没有任何关系。”按照这种思路写好一封邮件,然后发送给尽可能多的、和这个项目相关联的人---当然包括onshore的负责人,他的领导,和你的领导。

这样,所有的人都知道了:如果出了问题,谁该负担责任。

这种原则说起来简单,但是往往不容易觉察到什么时候该做什么样的事情,什么时候应该确认好双方的责任。这需要时间去慢慢积累。

3、onshore 不等于 客户的原则

这是最重要的原则。我们要时刻记住:onshore不等于客户。如果onshore等于客户,那么我们做的就不是离岸开发了。
来自onshore的要求有各种各样的,虽然他们远在另一个国家或者地区,虽然我们国家有着“宽宏大量”的美德,但是工作就是工作,该坚持的原则就要坚持。
如果你把onshore当成了客户,那么上面个的两个原则就都没有用了。

上面的三个原则未必完全足够,但是我认为是至少要必须坚持的三个原则。
坚持原则看起来容易让人觉得你冷酷无情,不好交往。但其实如果你在工作中严格把握自己的原则,与你共事的onshore会逐渐的敬佩你,甚至双方的沟通也会变得简单有效。

你可能感兴趣的:(工作,离岸开发的技巧与实践)