¿Cuándo debería su empresa desarrollar su propio software?

perfiles ti, aplicaciones, software

Según pública el portal hbr.org

Todas las empresas necesitan y utilizan software, y algunas son un importante impulsor del éxito empresarial. Sin embargo, a medida que las pequeñas empresas crecen hasta convertirse en medianas, pueden surgir brechas en el rendimiento del software. Encontrar nuevas soluciones de software puede solucionar problemas e ineficiencias y ayudar a los equipos a desarrollar productos y servicios innovadores. Pero los directores ejecutivos de las medianas empresas suelen enfrentarse a una difícil elección: actualizar a través de un proveedor o desarrollar (también conocido como «lanzar») su propio código.


Banner_frasco-suscripcion-800x250

Todo el mundo entiende que las actualizaciones de software siempre son caras y, a menudo, disruptivos. A veces no cumplen por completo su promesa original. Eso significa poco o ningún retorno del dinero gastado. Pero a veces, simplemente no hay ningún software disponible para abordar el problema único de una empresa.

Para las pequeñas empresas, normalmente es más fácil (y casi siempre más barato) utilizar soluciones manuales cuando su software operativo no está a la altura de las circunstancias. Sin embargo, las medianas empresas pueden perder una gran cantidad de dinero y frenar su crecimiento debido a las ineficiencias que inevitablemente se derivan de estas soluciones alternativas. Y esos torcidos procesos manuales pueden impedir que las empresas aprovechen las oportunidades de manera oportuna. Para esas empresas, la codificación personalizada es una opción viable. (Las grandes empresas con mucho dinero pueden crear equipos de desarrollo de software y, a menudo, cuentan con el talento necesario para hacerlo).

La mayoría de las medianas empresas tienen un «superusuario» al que se le da bien ayudar a todo el mundo con las funciones ya integradas en su software (como redactores de informes, paneles de control, etc.). Y la mayoría de los programas de planificación de recursos empresariales (ERP) modernos tienen capas que permiten la personalización: a menudo, una capa en la que los revendedores con valor añadido (VAR) pueden realizar cambios y una capa de clientes para las personalizaciones de los clientes. Si una empresa mediana puede obtener lo que necesita con eso, fantástico. Pero, ¿y si no puede?

Muchas empresas medianas se quedan atrapadas intentando decidir si compran software nuevo o si intentan escribir su propio código, aunque eso solo signifique conectar sistemas dispares. Otros intentan subcontratar el problema a una empresa de software. Si bien subcontratar la creación de códigos puede ser parte de una solución, hacerlo con éxito requiere una gestión de proyectos rigurosa, una capacidad que no tienen todas las medianas empresas.

Mientras tanto, el tiempo siempre corre. Las eficiencias que podrían lograrse con el software no se recuperan, lo que reduce los márgenes. La competencia pierde las oportunidades de mercado. ¿Cómo pueden los líderes de las medianas empresas determinar cuándo tiene sentido crear su propio software?

Cuándo lanzar su propio código

Es ineficiente desarrollar programas personalizados para las principales funciones empresariales, como la contabilidad, la nómina, los impuestos sobre las ventas, el inventario y la gestión de las relaciones con los clientes (CRM), y hay muchas opciones disponibles. Pero si no hay un software que haga lo que necesita, puede que no tenga más remedio que lanzar el suyo propio, especialmente si hay una oportunidad muy valiosa que aprovechar o una eficiencia significativa que ganar. (Crear su propio código solo vale la pena si hay una gran recompensa; sin un ROI sólido, olvídese de ello).

Por ejemplo, en 2007, Fabricación de BF&S estaba ganando fuerza como fabricante por contrato de componentes complejos y de bajo volumen, pero críticos, para los sectores aeroespacial, militar, médico e industrial. Sus clientes querían supervisar la obra, pero BF&S tenía su sede en México y muchos de sus clientes no querían invertir tiempo ni dinero en viajar y alojarse allí.

BF&S dependía de una relación estrecha con sus clientes y, a menudo, recurría a sus ingenieros para resolver los problemas de producción. Pero la distancia y la frontera lo hacían cada vez más difícil. Compartir la pantalla y las cámaras por sí solas no iban a ser suficientes para sus clientes, y BF&S temía perderlas a manos de fabricantes más cercanos, aunque esas empresas cobraran más. BF&S necesitaba poder transferir los valiosos datos de producción de su sistema ERP principal a un formato que pudieran utilizar los clientes.

El CEO de BF&S, Carlos Fernández, miró a su alrededor pero no pudo encontrar una solución de compra. En cambio, dice: «Nos embarcamos en un programa de software que proporcionaría datos en tiempo real las 24 horas del día, los 7 días de la semana» sobre las versiones de los productos de la empresa. Comenzó con su «tío de los ordenadores», como lo llama Fernández, que acababa de salir de la universidad, y creó una herramienta para hacer un seguimiento de los inventarios de materias primas, trabajos en curso y productos terminados y ofrecer visibilidad interna y externa.

Se completó y se utilizó por primera vez en 2010. A los clientes les encantó. Fernández comenzó a hacer crecer el equipo de desarrollo de software en México, dando soporte a cuatro instalaciones en el estado de Sonora con una plantilla total de 500 personas. Los clientes ahora podían ver el vídeo de las estaciones de trabajo, el progreso de sus productos en cada paso, los inventarios de productos crudos y terminados de BF&S, quién estaba trabajando en su trabajo y todas las historias y especificaciones de los productos.

Esta codificación personalizada requería un profundo conocimiento tanto del negocio de la empresa como de las necesidades de sus clientes. Dirigido originalmente por Fernández, el equipo de ingenieros y líderes de operaciones ahora planifica y gestiona el soporte y el desarrollo continuos de la herramienta.

Hoy, aunque Fernández no quiere afirmar que el código creado en casa de su empresa sea un enorme diferenciador competitivo, cree que da a sus clientes lo que quieren y lo que él no podría ofrecer a través de un software estándar: transparencia y cierto control sobre la producción de sus productos.

El viaje y los costes

Lanzar su propio código no es ni sencillo ni barato. Los ingenieros de software están muy bien pagados. En los Estados Unidos, eso significa salarios de seis cifras. Los costes de encontrar y contratar ingenieros suelen implicar a las empresas de búsqueda, que cobran entre el 15 y el 30% del salario del primer año y, durante los últimos años, incluso ellas han tenido dificultades para encontrar buenos candidatos. Además de los costes de abastecimiento, debe entrevistar y evaluar las habilidades técnicas de los candidatos, formar e incorporar a los nuevos empleados y proporcionar un entorno digital para el desarrollo y las pruebas.

Y luego tiene que gestionar las tareas de desarrollo de código, asegurándose de que son productivas. A medida que el departamento de desarrollo supere los cinco o seis ingenieros, necesitará un ejecutivo de DevOps que lo supervise. Si los programadores no están bien gestionados, se pueden perder días y semanas mientras la productividad se desploma.

Y no puede simplemente contratar desarrolladores y gerentes y esperar que la magia suceda. Los ingenieros hacen lo que la empresa les dice que hagan. Se nutren de la claridad. Por lo tanto, tendrá que dedicar tiempo a entender las oportunidades de su empresa y tendrá que ser capaz de describir las características, funciones y opciones que busca. Esa hoja de ruta del software debe completarse antes de que sus ingenieros comiencen a programar. Si no lo hace todo tan bien y a tiempo, tendrá un talento muy caro en sus manos, probablemente buscando otros lugares donde trabajar.

Por último, cuando desarrolla un código personalizado, necesita mantenerlo. El software se estropea todo el tiempo. Los piratas informáticos encuentran continuamente nuevos vectores de ataque. Aparecen nuevas necesidades y los usuarios exigen modificaciones. Incluso los lenguajes de programación envejecen, por lo que cada cinco o 10 años, es posible que haya que reescribir el software. Los costes siguen aumentando.

Sin embargo, si bien la codificación personalizada es un desafío, puede ser un factor fundamental y vale la pena para algunas empresas que están innovando soluciones para sus clientes.

Hecho fundamental (un cliente de Mastering Midsize) es un proveedor de servicios de marketing completos para los sectores inmobiliario e hipotecario. En 2005, a la empresa se le ocurrió una idea nueva. Si un agente inmobiliario pudiera enviar una postal a un posible cliente con una URL única que llevara al cliente a un sitio web con su propia casa en el centro, eso podría resultar muy atractivo y podría cambiar las reglas del juego. Los clientes de Corefact, los agentes inmobiliarios, estaban entusiasmados, no solo por el potencial atractivo para sus clientes, sino también por todos los datos que este tipo de compromiso les proporcionaría.

Corefact no podía comprar software para hacer esto, era nuevo. El fundador y CEO de Corefact, Chris Burnley, siempre había sido tecnólogo. Antes de trabajar en Corefact, creó varias empresas impulsadas por la tecnología. Gracias a esta competencia tecnológica, la empresa encontró una forma de imprimir datos variables (URL únicas) en las postales y, luego, moverlos a servidores web que esperaban a que el propietario escribiera la URL, tras lo cual se creaba un sitio web nuevo y único al instante. En 2006, el software se lanzó con un solo ingeniero.

En la actualidad, el equipo de ingeniería ha crecido hasta contar con 10, ubicados en los EE. UU. y en el extranjero. Han creado un código personalizado que no solo está orientado al cliente, sino que también agrupa de manera eficiente miles de pedidos diarios mediante la entrada de pedidos, los gráficos y la preimpresión, y automatiza el flujo eficiente del trabajo en las prensas y durante el acabado.

Burnley afirma: «Nuestro concepto original nos permitió crecer rápidamente, pero nuestra capacidad de innovar con la tecnología sigue impulsándonos. Por supuesto, la inversión en ingenieros es enorme y continua, pero la lista de oportunidades es larga».

Pero no crean todos los programas que utilizan. A la hora de actualizar su ERP, eligieron un producto estándar de Netsuite, al que conectaban sus sistemas de gestión de pedidos de fabricación propia. Del mismo modo, recientemente han abandonado un CRM de creación propia en favor de Salesforce, lo que ha mantenido a su equipo de desarrollo centrado en crear software que no puedan comprar.

Vea también: Las tendencias en tecnología que pueden transformar su negocio

Las tres competencias que necesita para desarrollar las suyas

Los ejemplos que he mencionado requieren diferentes cantidades de las tres competencias siguientes, según la complejidad de los requisitos de código personalizado:

Traducir las necesidades empresariales en proyectos de software.

Identificar las necesidades empresariales (y sus soluciones) es un proceso necesariamente iterativo, que tiene en cuenta las limitaciones del software existente, así como los recursos y los datos disponibles. No se trata del desarrollo de software ni de la gestión empresarial; es una forma de ingeniería en la que una pierna se interpone en el negocio y la otra en una comprensión profunda del funcionamiento de sus sistemas de software actuales.

Esta competencia podría ocuparla un ejecutivo de una empresa más pequeña y mediana o un equipo pequeño a medida que la organización crezca. Lo que entra es un problema o una oportunidad, lo que surge es una serie de pasos detallados para crear y mantener el código: exactamente qué datos se van a utilizar y qué lógica o procesos deben utilizarse para encontrar una solución. Sin todos estos pasos, esforzarse por crear un código personalizado no tiene sentido.

Desarrollo de código.

Según las circunstancias, una mediana empresa puede tener un programador o un departamento de ingeniería completo. Por ejemplo, en mi empresa anterior, Dave, un joven empleado de almacén que programaba como afición, subía las escaleras de vez en cuando para pequeños proyectos de programación. Para obtener mayores oportunidades, el desarrollo de código puede convertirse en una serie de equipos de ingeniería con diferentes habilidades y centrarse en un departamento completo de DevOps, dirigido por un vicepresidente o un director de tecnología.

Operaciones de software.

La parte operativa de la gestión de las aplicaciones personalizadas es cara: tiene que mantener el estado del código personalizado y asegurarse de que sus procesos, personas y herramientas están actualizados. Los elementos de las operaciones incluyen el soporte al usuario y los servicios de ayuda, la formación, la gestión de los riesgos de seguridad, la corrección de errores, la personalización adicional continua, los atributos de tiempo de actividad y rendimiento, y más.

Aprovechar el software local para llevar la innovación a su mercado o a crear operaciones más eficientes puede ser un fuerte motor de crecimiento. Pero la decisión de comprarlo o construirlo es fundamental. Si comprar el software que necesita simplemente no es posible, crearlo puede que tenga sentido. Pero no se puede negar que es un camino difícil y solo vale la pena si las ventajas son grandes. Antes de construir, asegúrese de entender los costes reales del éxito a largo plazo y emprenda únicamente los esfuerzos de redacción de códigos que esté seguro de que su empresa es capaz de hacer.

Banner_azules
Reciba las últimas noticias de la industria en su casilla:

Suscribirse ✉