¿De verdad queremos reinventar la rueda?
Cuando tenemos por delante un desarrollo que impactará positivamente en nuestro portafolio pueden surgir las preguntas: ¿Desarrollo todo desde cero o tomo algo que ya exista y lo completo? ¿Contrato un partner experto y le pido más? ¿Contrato muchos expertos y los obligo a trabajar juntos? En el presente artículo analizaremos algunas respuestas.
Componentes críticos especializados
Lo primero que tenemos que tener en cuenta a la hora de pensar una aplicación es cuáles son los componentes críticos que requieren de especialización: y son aquellos que tienen parámetros perfectamente medibles de respuesta y calidad. Muchas veces estos componentes serán quienes requerirán de motores o librerías externas que tengan una enorme expertise sobre sus espaldas, de manera de poder sortear obstáculos de manera sencilla.
Ejemplos de componentes críticos especializados con: llamadas de voz, streaming de video, encriptación de datos. Poniéndolo en la lógica que da título a este artículo nos deberíamos preguntar ¿tiene sentido inventar un nuevo método de encriptación? ¿vale la pena invertir tiempo en desarrollar desde cero un sistema de VoIP? La respuesta siempre es: NO.
¿Por qué no?
Porque los componentes críticos específicos necesitan de expertos en el tema, que se forman después de años de prueba/error, investigación, feedback, y cuyos resultados han sido volcados en el código de la solución. Por ejemplo. un sistema de voz necesita tener baja latencia, alta disponibilidad, debe ser escalable y todo sin perder calidad. Lograr eso, para alguien que desarrolla sus primeros pasos en el tema es imposible sin una curva de aprendizaje larguísima y llena de sinsabores. Todo esto implica dinero.
En el caso de la encriptación pasa lo mismo: el estudio de vulnerabilidades, casos de éxito y las enormes combinaciones posibles de problemas hacen que el período de pruebas se exceda de cualquier presupuesto destinado a un único actor responsable por el 100% de cada línea de código.

Por todo lo anterior, siempre es mejor usar o subcontratar librerías de expertos y acoplarlas al software que realmente dará valor a nuestro portafolio. Es mucho más redituable usar el tiempo, energía y dinero en agregar valor a nuestro negocio, en lugar de lidiar con desafíos técnicos que, aunque no se niega que puedan ser entretenidos, no son el foco de nuestra empresa.
Repasemos las opciones y sus respuestas:
¿Hay que tomar soluciones existentes y complementarlas? Sí ¿Contrato a un experto y le pido más? No es recomendable, ya que no siempre un experto está dispuesto a incursionar en zonas que no son su especialidad. Abarcar mucho es un riesgo ¿Contrato a muchos expertos y los obligo a trabajar juntos? No es una buena opción, ya que la orquestación de múltiples grupos de trabajo, por experiencia, nos suele llevar a una batalla de egos y dispersión de responsabilidades que provoca más pérdidas que ganancias.
Entonces ¿qué hacemos?
La respuesta que nos dan los años de experiencia en el rubro es: contratar a un equipo que encuentre un equilibrio y que sea flexible en cuanto a la incorporación de herramientas ya existentes. En Bitdolphins tenemos mucho camino recorrido incorporando librerías ampliamente probadas, de manera de poner el foco en lo que más importa: el software que hará crecer a su negocio.