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


23

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.

Isso é realmente para 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?


1
Só para esclarecer: quando você diz sobre terceirização, quer dizer apenas uma empresa externa, ou com a mesma frequência usada coloquialmente, off-shore (ou seja, fora do país).
GrandmasterB

Tenho certeza de que meu professor quis dizer isso quando disse terceirização.
Terence Ponce

38
Eu gosto de como você terceirizou sua pergunta lição de casa: p
glasnt

Respostas:


26
  • Uma equipe interna responderá melhor às suas necessidades, pois, na verdade, fazem parte da sua empresa, para que 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 .)


5
A opinião de Joel no link parecia ser mais "por que eu não gostaria de ser um desenvolvedor interno" não?
MIA

Um pouco. Um dos pontos históricos é que o desenvolvimento interno também tende a produzir software ruim.
Fishtoaster

8
Eu tenho muitas histórias de horror sobre software terceirizado de baixa qualidade, então não acho que seja possível generalizar essa dimensão específica.
MIA

+1: a toda a volta. Nossa empresa depende de uma equipe terceirizada de desenvolvedores. Eu sou o primeiro "desenvolvedor" que eles têm na equipe há 5 anos - especificamente para reduzir a dependência da empresa terceirizada e trazê-la internamente.
iAbstract

6
90% de todo o software é ruim, e isso pode ser uma subestimação
jk.

11

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 está mentindo. 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, mas 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.


3

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 pedaços de trabalho e capital.


2

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 cara a cara usando um modelo iterativo.

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

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


2

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 há muito sentido em fazer isso internamente. Se for uma empresa de software, a terceirização de um projeto não faz muito sentido, embora algumas lacunas possam ser preenchidas por 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 quem não sabe, nem sempre é a boa decisão financeira que os gerentes gostariam que você pensasse. Há muito conhecimento de domínio (conhecimento da indústria) 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.


1

Temos apenas uma pequena equipe interna e usamos 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

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


1
E que cliente já aceitou os requisitos acordados como entrega final sem uma extensa alteração de escopo? Às vezes, os desenvolvedores internos podem solidificar e criar vários cenários com base em solicitações muito menos definidas versus terceirizadas, o que apenas interrompe o desenvolvimento até que sejam feitos esclarecimentos (e você possivelmente perdeu um dia inteiro no exterior).
Jé Queue

0

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, prefiro 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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.