ti-enxame.com

Por que você contrataria desenvolvedores de software internos em vez de terceirizá-los para desenvolver um produto para sua empresa?

Por que você contrataria internamente a terceirização no desenvolvimento de um produto para sua empresa? Só consigo pensar em alguns, mas não tenho muita certeza se são bons o suficiente.

Este é realmente um debate que vou ter em sala de aula. Estou mais inclinado a terceirizar, mas, infelizmente, me pediram para mudar para o lado interno do debate.

Alguma ideia?

23
Terence Ponce
  • Uma equipe interna responderá melhor às suas necessidades, pois, na verdade, fazem parte da sua empresa, para que eles tenham uma idéia melhor do que você deseja.
  • Uma equipe interna é mais fácil de se comunicar, nada supera o contato presencial regular.
  • Sua equipe interna terá mais conhecimento específico do domínio que uma equipe externa precisaria aprender.
  • Você está investindo não apenas no software, mas na experiência em resolver os tipos de problemas de software que sua empresa possui. O uso de seus próprios desenvolvedores cria um estoque de programadores que já lidaram com esses problemas específicos antes.

(Para contra-argumentos, consulte a opinião de Joel .)

26
Fishtoaster

Se o software for usado taticamente ou estrategicamente ou for essencial para os seus negócios, é essencial ter programadores que também entendam os negócios. Eles também precisam entender o suporte e o ciclo de vida e o que custará à sua empresa para suportar os sistemas após o lançamento.

Não acho que esse custo seja geralmente um fator real. Se alguém afirma que é, é ignorante ou mentiroso. Se você terceirizar, estará pagando a margem de lucro de outra pessoa além dos custos. Qualquer economia devido a diferenciais geográficos do mercado de trabalho geralmente é rapidamente compensada pelo aumento do custo de comunicação e educação, e os diferenciais de taxas não são tão grandes quanto costumavam ser, já que o mundo em desenvolvimento é chamado por uma razão.

Existem muitos tipos de software por aí. Em muitos casos, você pode terceirizar algo e ficar bem. O problema é que essa decisão precisa ser tomada caso a caso e você não pode resolvê-la em uma situação única.

Tenho certeza de que há um milhão de coisas para procurar no processo de tomada de decisão.

Em alguns casos, o desenvolvimento de um software bem especificado, porém essencial, pode ser facilmente terceirizado para uma empresa especializada nesse tipo de trabalho - por exemplo, algo no nível do sistema, como um driver de dispositivo ou servidor da web, ainda pode ser terceirizado por uma empresa que fabricou um appliance e queria se especializar mais na experiência do usuário do que nos componentes básicos.

Por outro lado, se você estiver dirigindo esse servidor da Web de maneiras especiais e, mesmo que você o tenha especificado bem, esse componente estará intimamente ligado às principais iniciativas de desenvolvimento multifásicas, provavelmente você não está ' não vai querer terceirizar isso.

11
Cade Roux

Essa é uma resposta tardia, mas a mais geral "por que uma empresa contrataria na casa X em vez de terceirizar?" - em outras palavras, por que existem empresas, em vez de um único CEO que terceiriza tudo? - é chamado "a teoria da empresa"

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

e há bastante evidência e estudos por várias razões, e muito conhecimento sobre quando faz sentido terceirizar versus "in-source" vários bits de trabalho e capital.

3
user11902

Uma razão para fazer isso internamente é porque você está usando a tecnologia de criptografia de dados que não pode ser exportada para determinados países.

Pode-se argumentar que o software pode ser feito mais rapidamente, com maior qualidade e atender melhor às expectativas do cliente quando é usada uma pequena equipe local de desenvolvedores que pode se comunicar pessoalmente usando um modelo iterativo.

O modelo iterativo é sem dúvida menos eficaz na terceirização; a terceirização requer mais trabalho no desenvolvimento de requisitos, usando o BDUF (grande projeto inicial).

Se o aplicativo for grande e partes do material comum forem divididas em bibliotecas pequenas e bem definidas, a terceirização poderá ser valiosa para a produção dessas peças.

2
Robert Harvey

A terceirização (local) faz sentido se a empresa não tiver os recursos necessários para o desenvolvimento ou o know-how para começar. Por exemplo, uma empresa de calçados que deseja criar um aplicativo Android. Não faz muito sentido fazer isso internamente. Se for uma empresa de software, terceirizar um projeto não faz muito sentido). , embora algumas lacunas possam ser preenchidas com contratados externos.

Existe outra forma de terceirizar ... comprar empresas para obter e renomear seus produtos. Ou seja, uma empresa maior irá procurar um produto existente, comprá-lo e renomeá-lo como seu. O efeito líquido disso é essencialmente o mesmo que a terceirização.

Para off-shore, essa nem sempre é a boa decisão financeira que os gerentes gostariam que você pensasse. Há muito conhecimento de domínio (conhecimento do setor) necessário na maioria dos desenvolvimentos que simplesmente não pode ser 'comprado' assim, e é extremamente difícil conseguir que uma equipe remota duplique isso com apenas uma especificação para orientá-los.

2
GrandmasterB

Porque você provavelmente não sabe exatamente o que precisa ser construído.

1
rhettg

Temos apenas uma pequena equipe interna e apenas pequenas equipes externas, mas o software produzido internamente sempre foi muito melhor do que o software escrito externamente.

Internamente, usamos padrões documentados, lógica apropriada da camada de negócios (não apenas classes que chamam outros métodos na camada de dados que transmitem uma DataTable sem lógica real em lugar algum), e temos uma biblioteca de códigos que podemos reutilizar de outros aplicativos que se encaixam dentro nosso domínio.

1
ck01

Depende de vários fatores:

Se você estiver desenvolvendo um produto de software; obviamente, você deve ter alguns planos secretos, confidencialidade, novas idéias etc. associados a ele, o que torna mais sensível a preferência em fazer internamente do que terceirizar seus requisitos de desenvolvimento de software.

Por outro lado, se você tem um orçamento apertado ou deseja se concentrar mais em atividades de vendas e marketing, em vez de desenvolvimento intenso, ou se possui mais fluxo de trabalho do que sua equipe atual pode suportar; você pode optar pela terceirização de desenvolvimento de software.

Então, tudo depende de suas preferências; ambas as opções têm seus próprios prós e contras. Se eu tiver que desenvolver um site simples, preferirei contratar uma empresa de desenvolvimento de sites para terceirizá-lo e se tiver que fazer um produto de software dizer CRM ou ERP, prefiro fazê-lo internamente.

0
Jimmy Kamboj