BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

为什么软件外包开发不再可行

| 作者 谢丽 关注 9 他的粉丝 发布于 2015年11月4日. 估计阅读时间: 5 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

Yegor Bugayenko是一名软件开发人员,同时也是软件外包公司Teame.io的创始人和CTO。从自己将近10年的软件外包公司工作经验中,他得出结论:现如今,软件外包开发已经行不通了,软件外包的结果只有灾难

他查阅多篇文章,寻找软件外包失败的原因。他认为,下面所有的原因都不得要领:

  • 最便宜的提供商:有人认为,软件外包是为了降低成本,所以最终会选择最便宜的提供商。但Yegor认为,增加开支并不能解决该问题。而且,这个原因也不限于软件外包。在任何商业交易中,“你输我赢”只会通向失败。
  • 文化不匹配:有人认为,外包公司同客户之间的文化差异是导致成本超支、计划延期和代码质量低下的原因。但teamed.io的团队来自超过15个国家,他们在工作中从没有因为文化问题而纠缠不清。
  • 缺少面对面交流:有人认为,外包公司同客户身处异地,缺少面对面交流,容易产生误解。但Yegor认为,不见面也可以清晰的表达和交流观点。
  • 没有成功指标:没有清晰定义成功指标,这是外包公司同客户关系破裂的原因。Yegor认同这一说法,对于外包公司和客户,成功有不同的意义。
  • 糟糕的规范:有人认为,大部分项目都无法定义良好的规范,而这是导致外包项目失败的原因。Yegor认同这一说法。不过,他认为这与外包公司无关。无法明确定义技术需求是架构师本身的缺陷,可以通过学习、培训和阅读来解决。
  • 人才流失:离岸开发人员缺少对项目的忠诚度,他们中最优秀的可能随时退出。而Yegor认为,这与开发人员的所在地没有关系,应该采用更有效的激励手段。

对于上述原因,Yegor认为,它们仅仅能够说明外包项目的结果,但并没有触及真正的问题。在他看来,真正的原因是外包公司的CEO只关心一个问题,就是下个月的雇员工资,因为公司90%的支出都是程序员的工资。所以,对他们而言,付钱的客户就是好客户,他们并不关心客户项目是否成功、成本是否优化等。而从前,软件外包之所以可行,是因为外包公司的人力成本非常低,他们通过向异国客户出售程序员的时间可以获得巨大的利润。但现在,由于程序员对工资及福利的要求增加,利润空间遭到了严重压缩,保持源源不断的现金流成了外包公司的唯一动机,他们不怕项目时间长,不怕代码质量低(可以赚取运维费用)、也不怕电话、开会和其它浪费时间的活动,所以软件外包已经不再可行。

对于这一话题,Hacker News网友的讨论异常激烈。网友makecheck认为,软件外包从来就不可行,因为软件外包存在下面两个方面的问题:

一个是软件外包中有一个想法,就是程序员在某种程度上非常容易替换,认为只需要找到一个开发人员就可以,而几乎没有考虑,如果选择的团队压根不了解他们要做的工作,那会有什么影响……另一个问题是文化上根本性的误解。

网友chris_wot持类似的观点,他认为:

大多数非技术出身的项目经理都不明白:IT人员并非即插即用的模块组件……总是要有一个提前期——根据项目的复杂度不同,有时需要数月——在真正富有成效的工作之前,新雇员需要熟悉和理解系统及业务需求。

网友JoeAltmaier也认为软件外包不可行,他指出:

20年来,我从来没有从软件外包项目中看到回报……(软件外包项目)的管理成本高于收益:语言障碍、时区、文化、网络接入……

网友MortenK也认为软件外包项目的管理成本更高,其在项目管理上的时间投入是本地项目的2-3倍。不过,对于文化差异的问题,他认为可选择文化相容度高的外包地。

网友timtas赞同Yegor探讨这一问题的方式,但认为他并没有提供一种可用的方法:

如果严格按照他的观点行事,那你永远都不要用金钱换取服务了。

同时,他认为,名声很重要:

名声好的外包公司不会纯粹将客户视为摇钱树。虽然他们在利用率问题上面临着同等或更大的压力,但他们仍然会高质量地完成工作。

网友d4nt经营着一家软件外包公司,他认同Yegor及其他网友提到的许多问题。但他认为:

你永远不应该为了省钱而外包……外包的主要原因应该是购买专业知识。许多公司真不知道如何编写软件需求文档,或者什么是非功能性需求,或者如何设计用户界面……

网友cookiecaper认为外包也是有好处的:

其中一个主要的好处就是,外部承包商通常不会受到公司内部政治的影响。也就是说,他们更可能给出直接诚实的反馈,而不必过多顾及其他人的情绪。在大多数组织中,这都是非常有价值的。

此处仅列出了网友的部分观点,感兴趣的读者可以进一步阅读


感谢魏星对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群InfoQ好读者)。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

错误的前提得出错误的结论 by Wong Peter

Yegor Bugayenko说的理由其实恰恰就是他认为不得要领理由中的第一条。为什么外包公司只会关心现金流呢?正是因为找外包公司的大部分原因是为了图便宜,而不是为了购买专业知识。

存在即合理 by shi steven

我相信存在即合理。认同外包应该是去利用专业的软件行业的知识,更能把公司内部的需求转化成实际可开发的需求上,而不主要是为了价格。

外包绝对不会节省成本 by chen riddle

外包只是把成本从开发环节挪到了需求、管理和沟通环节,时间持续越长越是如此,所以我的经验是,外包适合一次性快速原型开发,外包的技术可选性可以非常大,这可弥补自己团队的某些短板。

做好外包项目管理也不容易 by zf m

外包适合这么几种:
1.甲方不差钱,乙方围着转,甲方说怎么干就怎么干
2.甲方有足够的时间,和乙方慢慢磨
3.完全按照软件开发的过程一步步来,每个阶段验收,卡的死死的,违约条件事先谈好(别谈什么敏捷,乙方只是要完成项目拿到钱而已)

参考
www.zhihu.com/question/36978996?guide=1

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

4 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT