从长远来看,外包代码会更昂贵吗?它会损害代码质量吗?[关闭]


16

我知道有一家公司拥有像样的软件产品的知识产权,并且每年从许可中获得可观的收入。但是,主管(非技术人员)抱怨开发团队的维护成本,因为它严重影响了利润率,并且正在考虑将特定模块的开发外包给收费较低的其他国家。

就个人而言,从长远来看,我认为这不会是更具成本效益的解决方案。出现问题时,这可能会导致通信中断,此外,规格必须是不透水的,最终还是要花费更多时间。我认为,在团队合作中,沟通是关键-还是有一种有效的方法来进行这项工作?


24
程序员的薪水成本正在吞噬软件公司的利润率吗?谁会打它呢?
迪马

20
PHB想要更多的钱-> PHB意识到自己必须支付工资-> PHB决定为便宜的人摆脱所有人的烦恼->公司破产了。这是一个疲倦的旧唱片。
史蒂文·埃弗斯

2
“程序员的薪水成本正在蚕食一家软件公司的利润率?谁愿意为此付出代价呢?”那时,该公司应该退出软件开发,专注于垂死的软件支持了。产品。:-/
Tin Man 2010年

19
它可以工作,但是由于必要的沟通,您需要将核心公司设在新的国家/地区。您的公司可能也可以节省大量金钱,将总监职位外包出去。
Dietbuddha

1
最差的例子之一是Quark和QuarkXPress,它们从95%的市场份额几乎变为零。
gnasher729

Answers:


41

我敢肯定有人举这个例子,但是我还没有看到。

我在一家财富500强公司工作了很多年,他们将很多开发工作外包了出去。在那些年中,我没有一个例子可以说明外包项目的成本要低于我们自己(内部)完成的成本。

尽管他们的编程率比我们低,但我们管理外包团队所花费的时间是内部团队的3倍。在此之上,要比我们内部团队更详细地满足要求需要增加的时间,并且在质量保证中还需要增加时间,因为代码永远都不可能正确。


1
+1-我的也是……我想知道是否所有公司都使用同一本剧本。
阿里2010年

那几乎是我所期望的。
赛斯2010年

我在旧工作场所已经看到了这一点。他们最终花了更多的钱,因为他们不得不来回飞行以管理远程开发人员。该公司不再进行任何软件开发:他们定制M $产品。
Giorgio

31

您可以快速获得,可以廉价获得,也可以完成得很好。您不能同时拥有全部三个,而我想说的是,即使三分之二也可以拉伸。


18

对于软件公司来说,这简直是愚蠢的。他们最能做出合理明智决定的方法就是将公司搬到人才更便宜的地方。

将软件开发外包的软件公司不再是软件公司。我认为,所获得的任何收益都是短暂的,因为您正在创造自己的竞争。一旦他们意识到他们比您更了解产品,他们就会意识到他们不再需要您了。


9
+1为对规则这就涉及“永远不要外包你的核心竞争力”
斯帕克

这在很大程度上取决于开发的内容-例如,我们正在外包使用时间序列数据库产品API的脚本报告和仪表板,因为我们没有足够的员工来内部完成所有不同的脚本或客户定制。是的,将核心产品开发外包,是的,但是并非所有软件开发都是核心能力。
Pete Kirkham

13

我最后一次外包给另一个国家的公司的经历将是我的最后一次。被雇用的公司未能按时完成工作,甚至无法远程满足规格要求,导致我们不得不在内部重新进行全部重做。

但是,如果您可以找到可以信赖的可靠公司(即您已经从别人那里看到/听到过关于他们的好消息),那么也许值得。


合同中没有指定最终产品的条款吗?
snmcdonald

16
@snmcdonald:这样的条款很难充分说明,也很难在国际范围内执行。如果外包公司根本不提供服务,那么合同中的内容也没有关系:您被搞砸了。即使您最终不付他们一分钱,您也只是付出了自己的努力,所有的日历时间都花在了厕所上。
鲍勃·墨菲

1
@snmcdonald是的,明确指定了最终产品,并按优先级指定了各个零件。当涉及到他们向我们发送了他们在产品发布后约两个星期的三个月内所做的工作时,他们给我们发送了一个非常不完整的版本,其中包含了一些我们不需要的东西以及最差的实现。重要(如果他们在那里)。总体来说非常昂贵且令人失望!
adamk 2010年

10

主任想用偏远地区的人员代替他一些经验丰富的本地开发人员,这些人员他没有能力判断,完全没有使用代码的经验,并且不能由任何知道的人直接监督或指导代码。

我经历过两次。在这两种情况下,廉价的外国公司都无法按时交付足够的质量。当当地开发商听说工作正在走向海外时,他们找到了其他工作,而不是等待被裁掉。随着专业技术人才流失的持续,时间表减少,关键错误没有得到解决,客户感到愤怒并转向竞争对手,最终两家公司都倒闭了。

沟通,期望和文化方面也存在奇怪的问题。例如,一个外国团队没有签入太多代码或没有及时回复电子邮件。事实证明,本地IT经理因降低成本而获得了奖金,因此他使整个办公室都处于低速Internet连接上。还有一次,第三世界的QA测试人员通常在同一个错误报告中放入几个截然不同的错误;他们的经理害怕用完错误号。

一些在廉价地方的团队很好。据我了解,红帽在北京似乎拥有一支非常称职的团队。但是在开始这样做之前,他们已经与来自世界各地的人们通过电信工作了多年的经验,北京的人都是Red Hat的员工,而不是外包公司。


9

是的-您得到的货款是多少。

以我的经验,除非您的市场和开发需求如此简单,否则可以通过电子邮件将其解释给可能存在语言障碍的任何开发人员,而且如此简单,即使没有真正投资公司的开发人员也可以成功。在创建高质量产品时,是的,您的产品将遭受损失

我在一家拥有庞大的本地开发团队的公司工作,而我们的产品受苦仅是因为管理团队在销售上投入了更多的金钱和精力。由于投入了大量的精力,看来我们在做“精打细算”-但这意味着要赚钱,我们势必会不断向销售过程中投入资金和资源。

我们有一个远程团队,但我们将其完全整合到公司中,他们的参与程度与本地团队相同。那是它工作的唯一方法。我是他们的当地团队负责人,我们定期飞往他们的现场。就像当地团队一样,我们给了他们公司衬衫和夹克。考虑所有因素后,它可以为我们节省20%到30%。如果您将一个试图削减更多成本的系统组合在一起,则您的产品将因此遭受损失。


3

如果您正在与质量外包团队合作,并且管理层愿意沟通并执行验收标准。

这样,成本将与内部开发产品的成本大致相同。

如果幸运的话,您也可能会获得相同的质量。

我可能有一点偏见,因为我的公司拥有内部开发人员,并且没有外包任何产品开发。我怀疑我们与将开发外包的集成合作伙伴的经验与该决定有关。


3

以我的经验,将项目外包并不是试图获得更好利润的最佳解决方案。

在工作中,我们进行着类似的事情,而且进展顺利,就像其他人所说的那样,我们最终重新进行了工作并维护了生产服务器上的内容。结论在此问题上,它花费了两倍的钱。

我对此的看法是,如果您正在考虑尝试改变利润率外包发展的情况,那么您可能会放弃您的投资。如果您考虑一下,产品成功与否取决于预期的工作,因此,如果您更改开发团队,事情可能会变得丑陋。


1

计划周详/完善的开源软件可能是您的答案,因为它可以带来高额利润,并且维护工作可以委派给某个社区,但是没有成功的秘诀。我能提供的最佳建议是建议一些关于什么是真正的开源及其恶作剧的话题:

也许还有:

在我看来,关于开源的事情是要建立一种不仅对您而且对所有人都有价值和利益的东西,开源的力量在于社区内部。

另外,如果您的老板/公司不愿开放该软件,则只需隔离您自己的业务逻辑和专有技术的细节即可。因此,您将要做什么:

  1. 用您的资源孵化一个开源项目
  2. 发展社区
  3. ???
  4. 利润=)

是的,我很认真,然后是“ ???” 涉及您在吸引足够的兴趣后想要采取的策略。使用今天的工具(如Github和Twitter),您可以更轻松地传播单词,但请注意,您的第一印象应该足够有趣。

如果您实际上并不想要开源(如果想成功,则必须在实现之前将其理解为业务模型,如果想要成功的话),则可以始终将其作为服务启动,以检查Carsonified视频,但这意味着整个过程贵公司还有很多其他事情。

最后,开源或将其作为服务启动是使项目长期可持续的方式。


1

我不记得这句话的作者,但它触手可及。

松散耦合的团队在紧密耦合的组件上一起工作失败。不可避免地

外包=松散耦合的团队。

试图通过在地理上拆分相互依赖的组件来降低成本总是失败的。

另一方面,根据我的经验,移动整个软件组合可能是可行的,这意味着可以以较低的成本高质量地进行开发。


这如何回答所提问题?
蚊蚋

问题的实质实际上是关于外包=松散耦合的团队。试图通过在地理上拆分相互依赖的组件来降低成本总是失败的。另一方面,根据我的经验,移动整个软件组合可能是可行的,这意味着可以以较低的成本高质量地进行开发。
Maros Urbanec

1
@MarosUrbanec-您的评论应作为答案的一部分。该报价本身还不够强大,无法单独作为答案。

1
@MarosUrbanec +1很棒的报价,我将您的评论添加到答案的正文中,以使其更像答案。
图兰斯·科尔多瓦
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.