intive Argentina Blog

La curva ascendente de tecnología Frontend

Todos los productos tienen un ciclo de vida. Desde que nacen, pasan por diferentes etapas en el mercado:

  • Emergencia
  • Crecimiento
  • Madurez
  • Saturación

Screen Shot 2017-10-03 at 10.26.43 AM

Fuente: http://blog.escuelaeuropea.eu/el-ciclo-de-vida-de-la-tecnologia/

Así también funciona para la tecnología. Lenguajes, frameworks y metodologías atraviesan su ciclo de vida. Algunos quedan, y otros mueren. El Hype Cycle de Gartner (también conocido como Ciclo de Expectación de Gartner) muestra de manera gráfica cómo podemos pensar la curva en nuestro rubro:

Screen Shot 2017-10-03 at 10.29.18 AM

Como desarrolladores, el ciclo de vida de nuestros propios productos depende también del ciclo de vida de la “materia prima” con la que trabajamos, de las prácticas que utilizamos, del lenguaje en el que decidimos programar, etc. ¿Cómo hacemos para tomar la decisión antes de comenzar el desarrollo? ¿Cómo sabemos qué framework va a ser exitoso, cuál lo superará, o cuál brindará mayores posibilidades de crecimiento y evolución para nuestros productos? En algún momento Maxi Céspedes y Ema Suriano nos dijeron en un Open Space – organizado en nuestras oficinas de intive-FDV – que todo se reduce a un equilibrio; saber cuánta vida útil estimamos para nuestro producto nos ayudará a tomar decisiones. Modificaciones tendremos que hacer seguramente a largo plazo, pero decidir de manera correcta ayudará a que el costo de upgrade de nuestro producto sea menor.

¿Cómo saber qué tecnologías utilizar cuando desarrollamos?

Tiempo atrás, la tecnología comenzaba siendo accesible solamente para unas pocas empresas, y luego arrancaba su proceso de “democratización”. Era entonces cuando la comunidad generada a su alrededor crecía, cuando el intercambio se hacía mayor, y el producto se enriquecía más. Hoy en día, ese esquema solo aplica al hardware, el software ha cambiado su modelo de incursión en el mercado, y por eso podemos encontrar frameworks, librerías y productos que nacen open-source, y otros que nacen closed-source y luego se democratizan convirtiéndose en open-source. Esto hace que se cree una gama infinita de opciones para elegir, para todos los presupuestos y necesidades.

Una de las técnicas que ayuda a decidir sobre una metodología, herramienta, plataforma, lenguaje o framework, es la investigación. Existen sitios de referencia que se pueden consultar para conocer el posicionamiento de cada producto o tendencia en el mercado. Ejemplos de ellas son el Hype Cycle de Gartner que nombramos anteriormente, pero Emanuel recomienda principalmente a Thoughtworks, un radar más actualizado e interesante.

Pero suele surgir la disyuntiva a la hora de elegir una tecnología ya instalada en el mercado, frente a una nueva tecnología que ostenta un amplio potencial de crecimiento. Aquí la elección muchas veces depende de las características del decisor de compra como consumidor. Según Everett Rogers, podemos clasificar a los usuarios de la siguiente manera:

Screen Shot 2017-10-03 at 10.31.17 AM

Fuente: http://www.kleberbarrios.com/wp-content/uploads/2015/11/curva-ley-adopcion-de-innovacion.jpg

Innovators “son como estrellas fugaces”, nos cuenta Juan Manuel Alvarez Gimenez, nuestro CTO, son aquellos que suelen asumir el riesgo de adopción de nuevas tecnologías, pero también son los que más rápido se cansan de ellas y buscan otras opciones incluso más nuevas. En cambio, los Early Adopters adoptarán el producto o servicio en su etapa inicial, pero buscando que sean soluciones más estables y a largo plazo. En intive-FDV nosotros nos posicionamos como innovators cuando investigamos dentro de las brigadas, pero luego quizás somos parte de los Early Adopters (nos pasó con el lenguaje “Go”) o de los Early Majority (como nos sucedió con el caso de React) cuando elegimos tecnología nueva para nuestros clientes. Todo depende del target de nuestro cliente, de si la prueba se hace sobre una unidad de negocio que es core para el cliente, y de otras tantas variables. Se evalúa el riesgo en relación al posible éxito o facilidad que ofrece la nueva tecnología.

Como última conclusión, Maxi nos contó sobre Code Simplicity, un libro que nos brinda algunas pistas para pensar y decidir en el proceso de selección de herramientas:

– El propósito último del software es ayudar a las personas, no a las máquinas.

– El nivel de calidad de tu diseño debe ser proporcional a la duración en el tiempo en que tu sistema continuará ayudando a las personas.

– La facilidad de mantenimiento de un artefacto de software es proporcional a la simplicidad de sus piezas individuales.

Hay cambios paradigmáticos e innovadores cuya curva de aprendizaje es baja, o cambios que no son tan fáciles de incorporar pero que, pasado el tiempo, ven achatarse su curva de aprendizaje porque surgen muy buena documentación y tutoriales. Es cuestión de decidir en qué momento uno salta hacia lo nuevo.

Paula Becchetti

Paula es la editora del blog de intive – FDV. Licenciada en Comunicación Audiovisual de la Universidad Nacional de San Martín (UNSAM), se destaca como Content Manager especializada en blogs, contenido web, email marketing y social media. Su amplia experiencia en la industria del software la hace muy valiosa a la hora de traducir contenidos técnicos a un lenguaje coloquial. Según sus propias palabras: “Me conecto con el mundo por medio de la tecnología, pero también a través de todo aquello que respira, del deporte, de la música y de mis viajes”.

Deja un comentario