您为什么要雇用内部软件开发人员,而不是外包他们为您的公司开发产品?[关闭]


23

您为什么要雇用内部外包而不是外包来为您的公司开发产品?我只能想到一些,但我不确定它们是否足够好。

这实际上是为了在课堂上进行一场辩论。我更倾向于外包,但是不幸的是,我被要求转到辩论的内部。

有任何想法吗?


1
明确一点,当您说外包时,您是说是一家外部公司,还是经常被俗称的离岸外包(即国外)。
GrandmasterB 2010年

我敢肯定,当我说外包时,我的教授的意思是两个。
Terence Ponce 2010年

38
我喜欢您如何外包作业问题:p
glasnt 2010年

Answers:


26
  • 内部团队实际上是您公司的一部分,因此他们将对您的需求做出更快的响应,因此他们对您的需求有更好的了解。
  • 内部团队更易于沟通,这比常规的面对面交流更胜一筹。
  • 您的内部团队将拥有外部团队必须学习的更多特定领域知识。
  • 您不仅在软件上进行投资,而且还在解决公司所遇到的软件问题类型的专业知识上进行投资。使用自己的开发人员会积累大量以前处理过这些特定问题的程序员。

(有关抗辩,请参阅乔尔的看法。)


5
乔尔(Joel)参与其中似乎更像是“为什么我不想成为一名内部开发人员”?
MIA 2010年

有些。历史上的观点之一是内部开发也倾向于产生糟糕的软件。
Fishtoaster

8
我有很多关于糟糕的外包软件的恐怖故事,所以我认为不可能概括出特定的维度。
MIA 2010年

+1:一直。我们公司依赖于开发人员的外包团队。我是他们5年以来首位招募员工的“开发人员”-特别是为了减少对外包公司的依赖,并将其引入内部。
IAbstract

6
90%的软件都是蹩脚的,并且可能被低估
JK。

11

如果要在战略上或战略上使用该软件,或者该软件是您业务的核心,那么让理解该业务的程序员成为关键。他们还需要了解支持和生命周期,以及发布后为公司提供系统支持所需的费用。

我认为成本通常不是一个真正的因素。如果有人声称这是愚昧无知或说谎。如果您外包,则您要付出别人的成本之外的利润。通常,由于地理劳动力市场差异而导致的任何节省通常会很快被通讯和教育成本的增加所弥补,而且速率差异并不像以前那样大,因为发展中国家被称为是有原因的。

那里有很多软件。在许多情况下,您可以外包某些东西并且可以。问题在于该决策需要根据具体情况做出,而您不能一视同仁地解决所有问题。

我敢肯定,决策过程中有一百万人需要寻找。

在某些情况下,可能会很容易地将专门开发但核心的软件的开发工作外包给专门从事此类工作的公司-例如,设备级驱动程序或Web服务器之类的系统级东西可能仍会外包给一家制造电器并希望专注于用户体验的公司,而不是构建基石的公司。

另一方面,如果您打算以特殊方式驱动该Web服务器,并且即使您对其进行了详细说明,则将使该组件与主要的多阶段开发计划紧密相关,您可能不会不想外包。


3

这是一个较晚的答案,但更笼统的是“为什么公司要在X房雇用而不是外包?” -换句话说,为什么存在公司,而不是一个将所有事情都外包的首席执行官?-被称为“企业理论”

http://en.wikipedia.org/wiki/Theory_of_the_firm

并且出于各种原因,有大量的证据和研究,以及大量关于何时将各种劳动力和资本外包与“外包”有意义的知识。


2

内部执行此操作的原因之一是因为您使用的数据加密技术无法导出到某些国家/地区。

当使用小型本地开发人员团队可以使用迭代模型进行面对面交流时,可以说软件可以更快地完成,更高的质量并更好地满足客户的期望。

可以说,迭代模型在外包方面效率不高。使用BDUF(前期大设计),外包需要更多的工作开发需求。

如果应用程序很大,并且可以将一些平凡的东西分解成小型的,定义明确的库,那么外包对于生产这些零件可能很有价值。


2

如果公司没有足够的资源进行开发或甚至无法启动技术,则外包(本地)是有意义的。例如,一家鞋类公司想要制作一个Android应用。他们在内部做这些事情没有多大意义。如果它是一家软件公司,则将项目外包的意义不大,尽管外部承包商可能会填补一些空白。

还有另一种形式的外包...购买公司以获得产品并重塑品牌。也就是说,较大的公司将搜索现有产品,购买并将其重新命名为自己的产品。这样做的净效果与外包基本相同。

对于非支撑,这并不总是经理希望您考虑的良好财务决策。在大多数开发中,都需要太多的领域知识(行业知识),而不能像这样“购买”,因此让远程团队仅通过规范来复制它们是极其困难的。


1

我们只有一个很小的内部团队,也只有一个小的外部团队,但是内部生产的软件始终比外部编写的软件好得多。

在内部,我们使用文档化的模式,适当的业务层逻辑(不仅是调用数据层中其他方法的类,这些类在没有任何实际逻辑的情况下将数据表传回了DataTable),并且我们有一个代码库,可以从适合于此的其他应用程序中重用我们的域名。


1

因为您可能不确切知道需要构建什么。


1
什么样的客户曾经接受他们同意的要求作为最终交付品,而又没有进行广泛的范围变更?有时,内部开发人员可以根据未明确定义的需求来巩固和提出各种方案,而外包则只会停止开发,直到做出澄清为止(您可能会在海外失去一整天)。
JE队列

0

它取决于多种因素:

如果您正在开发软件产品;显然,您必须与之相关联的一些秘密计划,机密性,新想法等,这使他们更倾向于选择自己做而不是外包软件开发要求。

另一方面,如果您预算紧张,或者您想更多地专注于销售和营销活动,而不是核心开发,或者您的工作流程超出了当前团队的能力,您可以选择软件开发外包。

因此,这完全取决于您的喜好。两种选择都有其优点和缺点。如果我必须开发一个简单的网站,我将更愿意雇用一个网站开发公司来将其外包,并且如果我必须制作一个软件产品(例如CRM或ERP),我将更喜欢在内部进行。

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.