¿Por qué tantos desarrolladores / personas creen que casi cualquier cosa podría ser tan buena si se “desarrollara internamente” o simplemente “modificando [unos pocos] guiones”?

El argumento de compilación vs. compra es probablemente una de las objeciones de venta de tecnología más antiguas.

Siempre es más fácil imaginar una solución ideal para un problema específico. En la mayoría de los casos, una solución interna podría ser una mejor solución que un sistema estándar.

Creo que el problema principal es que las personas que conciben la solución interna no siempre piensan en los costos e impactos a largo plazo asociados con ella.

La construcción del sistema requiere recursos que probablemente restarán valor a la misión principal de la empresa. No desea que sus productos principales se retrasen porque algunos desarrolladores o gerentes de proyectos se distrajeron al crear su nuevo sistema de seguimiento de errores o de mesa de ayuda. Los costos de estos esfuerzos se pueden subestimar fácilmente al imaginar una solución local.

El mantenimiento del sistema requiere un compromiso adicional de recursos. He visto muchos casos en los que los sistemas internos decaen con el tiempo porque no hay tiempo para seguir actualizándolo. La acumulación de correcciones y actualizaciones se vuelve tan grande que esencialmente está reescribiendo la solución. Cuando mira solo una parte de la imagen, es difícil imaginarse tan lejos en el camino.

La buena noticia es que muchas soluciones estándar en la actualidad han adoptado opciones de personalización que permiten al cliente modificar el software para adaptarlo a sus procesos. Tienen API, flujos de trabajo personalizados y UI personalizadas que permiten a los clientes realizar cambios seguros para la actualización.

Al adaptarse a las necesidades del cliente al tiempo que proporciona actualizaciones y soporte, puede superar fácilmente el argumento de compilación vs compra y brindarle al cliente la flexibilidad de una solución local con la confiabilidad y el servicio de un sistema estándar.

(segunda edición)
Muchos productos en el mercado no tienen una tecnología competitiva real detrás de ellos, pero son simplemente tecnologías comunes, incluso de código abierto, que se han agrupado y colocado en una caja brillante para que las personas no técnicas las usen.

Sin embargo, lo más importante es la gran oportunidad de estafar al cliente.
Recientemente tuve un cliente que gastó 20 millones (sí, de verdad) tratando de construir su sitio web, con funcionalidad de búsqueda y todo, en casa. Creé un motor de búsqueda de texto básico en, literalmente, 10 líneas de código. Sí, necesitarán mantenimiento y actualizaciones, y yada yada yada. Pero realmente, este es un trabajo de 1 hombre.

El problema es bastante simple: si no conoce la tecnología, entonces no hay forma de saber realmente cómo ponerle precio a algo. (Claro, puede presentar ofertas externas, y esto siempre triplica los costos, como mínimo). Si desea tener codificadores internos, entonces necesita tener liderazgo. Liderazgo real. Nadie bueno quiere ser un cocinero intelectual.

Algunos programadores tienen su propio tipo especial de arrogancia, que es una combinación de rechazo social + aceptación corporativa.

Son simultáneamente amargos, pero extremadamente empoderados por su éxito en el lugar de trabajo y en sus buenos sueldos.

No todos los programadores lo tienen, por supuesto. Sin embargo, las discusiones sobre cómo implementar una solución particular solo necesitan una voz segura para persuadir a un gerente que trabaja dentro de un presupuesto. Siempre es más barato “hacerlo usted mismo” a corto plazo.

El problema es que la solución interna se vuelve difícil de manejar o no se adopta ampliamente. Luego se traen personas externas y el costo es x3 el original.

Las cabezas no rodarán por esto, eso sí. El “maestro de mazmorras” demasiado confiado original retendrá la percepción de ser grande al cambiar responsablemente por el fracaso de los demás.

He visto esto muchas veces. Yo no soy bueno en eso. No puedo lograrlo. Quizás, simplemente no era lo suficientemente impopular en la escuela secundaria. Por lo general, eché un vistazo a las personas involucradas, la cultura del lugar, y concluí que sería mejor buscar respuestas en otros lugares. Incluso si estoy en lo cierto, no hay recompensa. Siempre se piensa que el campeón corporativo es mejor: un jugador de equipo.