Aunque existen obvias cosas a tener en cuenta en este viaje, aquí hay tres no tan obvias a la hora de evaluar una nueva tecnología:
¿Cuáles son mis propias motivaciones para elegir esta nueva tecnología?
Si se encuentra buscando razones para incorporar una nueva tecnología a un proyecto, tenga cuidado de que sus motivos sean bienintencionados. No hay que complicarse la vida buscando un hueco para trabajar con una nueva tecnología. Esta oportunidad puede ser un gran aliciente para tu currículum (por supuesto), pero no en detrimento de la organización a la que estás ayudando. Lo mejor es encontrar oportunidades en las que su propio interés coincida con el de la organización. Esto hará que todas las partes se entusiasmen con lo que se entrega, una situación en la que todos salen ganando.
Y ahora que nos hemos centrado internamente, la siguiente pregunta se centra más en el exterior.
¿Cuáles son las competencias básicas del equipo que implementa el software en la actualidad?
Esta pregunta puede ser delicada. Hay que intentar elegir tecnologías similares a los lenguajes y herramientas que ya utiliza el equipo. Esto no quiere decir que haya que evitar abrirse a nuevas oportunidades. Todo lo contrario. Hay que diversificar estratégicamente las competencias básicas de un equipo para no sobrecargarlo.
Por ejemplo, si un equipo está familiarizado con la escritura de C# y necesita elegir un marco de front-end, el uso de Angular con Typescript será accesible dado el apoyo de Visual Studio Code, el respaldo de Microsoft, y algunas similitudes sintácticas entre C# y Typescript.
También es importante elegir tus batallas al introducir una nueva tecnología. Si eliges demasiadas cosas nuevas a la vez, corres el riesgo de ahogar a un equipo bajo una nueva curva de aprendizaje: nuevas herramientas, nuevo lenguaje con una nueva sintaxis, posiblemente un nuevo IDE, y así una y otra vez. En lugar de que el equipo resuelva problemas empresariales difíciles con algo nuevo, se pasará el tiempo frustrado con lo "nuevo". El equipo será más propenso a abandonar volviendo a algo más cómodo y aún menos propenso a probar cosas nuevas en el futuro.
Ahora hemos comprobado nuestras propias intenciones y nos hemos asegurado de que el equipo puede afrontar el reto. Ampliemos un poco nuestro enfoque.
¿Cuál es el tamaño de la reserva de talento existente en el mercado para una tecnología determinada?
Nunca se debe pretender que el equipo responsable de la implantación inicial del software será el mismo dentro de doce meses. La vida pasa y, por lo tanto, con el tiempo la gente cambia de trabajo. Esto significa que el equipo tendrá que cubrir puestos con nuevos miembros.
El objetivo es que la organización pueda cubrir los puestos fácilmente a partir de una gran reserva de talentos. No debería ser difícil encontrar sustitutos. Un rápido estudio de mercado revelará cómo es una determinada reserva de talento en torno a ciertas piezas de tecnología. Incluso el software de código abierto puede tener costes ocultos en este sentido. Elegir un software con una amplia reserva de talentos ayudará al empresario a elegir a la persona adecuada para su empresa. No estarán cautivos de un código base y de clientes que necesitan atención rápidamente. A la larga, la organización será más feliz.
Como marco de referencia, suelo plantear estas preguntas cerca del final de mis evaluaciones para alinear mis recomendaciones con lo que a veces parecen intereses contrapuestos. Me han parecido muy pertinentes y y reveladoras. Incluso he cambiado recomendaciones después de explorar las respuestas a estas preguntas. Espero que estas preguntas le resulten tan reveladoras como a mí.