it-swarm-es.com

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

¿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 por la parte de la subcontratación, pero desafortunadamente, me pidieron que pasara al lado interno del debate.

¿Algunas ideas?

23
Terence Ponce
  • 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, nada supera 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, vea Joel lo toma .)

26
Fishtoaster

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 necesitan entender el soporte y el ciclo de vida y lo que le costará a su compañía soportar 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 subcontratas, estás pagando el margen de beneficio de otra persona además de sus costos. Los ahorros debidos a los diferenciales geográficos del mercado laboral generalmente se compensan 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, puede 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 que se especializa en ese tipo de trabajo; por ejemplo, una cosa a nivel de sistema como un controlador de dispositivo o un 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 lo esté No querré subcontratar eso.

11
Cade Roux

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 "in-source" varios trozos de trabajo y capital.

3
user11902

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 cumple 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 la subcontratación; El outsourcing requiere más trabajo desarrollando requisitos, utilizando BDUF (gran diseño 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.

2
Robert Harvey

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 Android. No tiene mucho sentido que lo hagan internamente. Si es una compañía de software, externalizar 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. Hay demasiados conocimientos de dominio (conocimiento de la industria) requeridos en la mayoría de los desarrollos que simplemente no se pueden 'comprar' de esa manera, y es extremadamente difícil lograr que un equipo remoto duplique eso con solo una especificación para guiarlos.

2
GrandmasterB

Porque probablemente no sabes exactamente lo que hay que construir.

1
rhettg

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 apropiada (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 ajusten dentro de nuestro dominio.

1
ck01

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; puede optar por la subcontratación de desarrollo de software.

Entonces, todo depende de tus 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.

0
Jimmy Kamboj