¿Por qué contrataría desarrolladores de software internos en lugar de subcontratarlos para desarrollar un producto para su empresa? [cerrado]

23

¿Por qué contratarías internamente el outsourcing para desarrollar un producto para tu empresa? Solo puedo pensar en algunos, pero no estoy completamente seguro de si son una razón suficiente.

Esto es en realidad para un debate que voy a tener en clase. Estoy más inclinado a la parte de outsourcing, pero desafortunadamente, me pidieron que cambiara al lado interno del debate.

¿Algunas ideas?

Terence Ponce
fuente
1
Para ser claros, cuando dices tercerización, ¿te refieres solo a una compañía externa, o tan frecuentemente coloquialmente utilizada, fuera de la cota (es decir, fuera del país)?
GrandmasterB
Estoy bastante seguro de que mi profesor quiso decir las dos cosas cuando dijo subcontratar.
Terence Ponce
38
Me gusta cómo externalizaste tu pregunta de tarea: p
glasnt

Respuestas:

26
  • Un equipo interno responderá mejor a sus necesidades, ya que en realidad son parte de su empresa, por lo que tienen una mejor idea de lo que desea.
  • Es más fácil comunicarse con un equipo interno, no hay nada como el contacto cara a cara habitual.
  • Su equipo interno tendrá más conocimiento específico del dominio que un equipo externo tendría que aprender.
  • Está invirtiendo no solo en el software, sino también en la experiencia para resolver los tipos de problemas de software que tiene su empresa. El uso de sus propios desarrolladores crea un stock de programadores que se han ocupado de esos problemas específicos antes.

(Para contraargumentos, ver la opinión de Joel sobre esto ).

Fishtoaster
fuente
55
La toma de Joel en el enlace parecía ser más "¿por qué no querría ser un desarrollador interno"?
MIA
Algo. Uno de los puntos históricos fue que el desarrollo interno también tiende a producir software malo.
Fishtoaster
8
Tengo muchas historias de terror sobre software subcontratado, así que no creo que sea posible generalizar esa dimensión en particular.
MIA
+1: todo el camino. Nuestra empresa depende de un equipo externo de desarrolladores. Soy el primer "desarrollador" que han tenido en el personal en 5 años, específicamente para reducir la dependencia de la empresa subcontratada y llevarla internamente.
IAbstract
66
El 90% de todo el software es malo, y eso puede ser una subestimación
jk.
11

Si el software se va a utilizar táctica o estratégicamente o es esencial para su negocio, entonces contar con programadores que también entiendan el negocio puede ser clave. También deben comprender el soporte y el ciclo de vida y lo que le costará a su empresa respaldar los sistemas después del lanzamiento.

No creo que el costo sea generalmente un factor real. Si alguien dice que sí, es ignorante o miente. Si externaliza, está pagando el margen de beneficio de otra persona además de sus costos. Cualquier ahorro debido a los diferenciales geográficos del mercado laboral generalmente se compensa rápidamente con un mayor costo de comunicación y educación, y los diferenciales de tasas no son tan grandes como solían ser, ya que el mundo en desarrollo se llama así por una razón.

Hay muchos tipos de software por ahí. En muchos casos, puedes subcontratar algo y estar bien. El problema es que esa decisión debe tomarse caso por caso, y no se puede resolver en una situación única para todos.

Estoy seguro de que hay un millón de cosas que buscar en el proceso de toma de decisiones.

Habría casos en los que el desarrollo de una pieza de software bien especificada pero central podría ser fácilmente subcontratada a una empresa especializada en ese tipo de trabajo, por ejemplo, una cosa a nivel de sistema como un controlador de dispositivo o servidor web aún podría ser subcontratada por una empresa que fabricó un dispositivo y quería especializarse en la experiencia del usuario más que en los componentes básicos.

Por otro lado, si va a manejar ese servidor web de maneras especiales y, aunque lo tenga bien especificado, va a tener este componente estrechamente vinculado a las principales iniciativas de desarrollo de múltiples fases, probablemente no esté No querré subcontratar eso.

Cade Roux
fuente
3

Esta es una respuesta tardía, pero la más general es "¿por qué una empresa contrataría en la casa X en lugar de externalizar?" En otras palabras, ¿por qué existen empresas, en lugar de un solo CEO que externaliza todo? - se llama "la teoría de la empresa"

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

y hay bastante evidencia y estudios por varias razones, y mucho conocimiento acerca de cuándo tiene sentido externalizar frente a diversos "mano de obra" diversos mano de obra y capital.


fuente
2

Una razón para hacerlo internamente es porque está utilizando tecnología de cifrado de datos que no se puede exportar a ciertos países.

Podría decirse que el software se puede hacer más rápido, con mayor calidad y satisfacer mejor las expectativas del cliente cuando se utiliza un pequeño equipo local de desarrolladores que pueden comunicarse cara a cara utilizando un modelo iterativo.

El modelo iterativo es posiblemente menos efectivo con el outsourcing; El outsourcing requiere más trabajo desarrollando requisitos, utilizando BDUF (diseño grande por adelantado).

Si la aplicación es grande, y partes del material mundano se pueden dividir en bibliotecas pequeñas y bien definidas, entonces la subcontratación puede ser valiosa para producir esas piezas.

Robert Harvey
fuente
2

El outsourcing (localmente) tiene sentido si la empresa no tiene los recursos para hacer el desarrollo o los conocimientos necesarios para comenzar. Por ejemplo, una compañía de zapatos que quiere hacer una aplicación de Android. No tiene mucho sentido que hagan eso internamente. Si se trata de una empresa de software, la externalización de un proyecto no tiene mucho sentido, aunque algunos vacíos pueden llenarse con contratistas externos.

Hay otra forma de externalización ... comprar compañías para obtener y cambiar el nombre de sus productos. Es decir, una compañía más grande buscará un producto existente, lo comprará y lo cambiará como propio. El efecto neto de eso es esencialmente el mismo que la subcontratación.

Para el apuntalamiento, esa no siempre es la buena decisión financiera que los gerentes quieren que pienses. Se requiere demasiado conocimiento de dominio (conocimiento de la industria) en la mayoría de los desarrollos que simplemente no se puede 'comprar' de esa manera, y es extremadamente difícil lograr que un equipo remoto duplique eso con solo una especificación para guiarlos.

Gran maestro B
fuente
1

Solo tenemos un pequeño equipo interno, y solo hemos usado pequeños equipos externos, pero el software producido internamente siempre ha sido mucho mejor que el software escrito externamente.

Internamente utilizamos patrones documentados, lógica de capa empresarial adecuada (no solo clases que llaman a otros métodos en la capa de datos que devuelven una DataTable sin lógica real en ninguna parte), y tenemos una biblioteca de código que podemos reutilizar desde otras aplicaciones que se ajustan dentro de nuestro dominio

ck01
fuente
1

Porque probablemente no sabes exactamente qué se necesita construir.

rhettg
fuente
1
¿Y qué cliente alguna vez aceptó sus requisitos acordados como entrega final sin un gran cambio de alcance? A veces, los desarrolladores internos pueden solidificarse y proponer varios escenarios basados ​​en requisitos mucho menos definidos, en lugar de subcontratados, lo que simplemente detiene el desarrollo hasta que se realicen aclaraciones (y posiblemente haya perdido un día entero en alta mar).
Jé Queue
0

Depende de varios factores:

Si está desarrollando un producto de software; obviamente, debe tener algunos planes secretos, confidencialidad, nuevas ideas, etc., lo que hace que sea más sensible preferir hacerlo en casa en lugar de externalizar sus requisitos de desarrollo de software.

Por otro lado, si tiene un presupuesto ajustado o si desea centrarse más en las actividades de ventas y marketing en lugar de un desarrollo incondicional o si tiene más flujo de trabajo del que puede manejar su equipo actual; puedes ir con el desarrollo de software de outsourcing

Entonces, todo depende de sus preferencias; Ambas opciones tienen sus propios pros y contras. Si tengo que desarrollar un sitio web simple, preferiría contratar a una empresa de desarrollo de sitios web para que lo subcontrate y si tengo que hacer que un producto de software diga CRM o ERP, preferiré hacerlo internamente.

Jimmy Kamboj
fuente