El Radar Tecnológico es una reseña de herramientas, técnicas, plataformas, lenguajes y marcos de trabajo basada en las experiencias prácticas de Thoughtworkers de todo el mundo. Se publica dos veces al año y ofrece una visión de cómo el mundo crea software hoy en día. Utilízalo para identificar y evaluar lo que es importante para ti.
Temas para esta edición
Desarrollo de software asistido por IA
En absoluto sorprende que en la edición de este Radar predominen los tópicos relacionados con la IA. Por primera vez, necesitamos una guía visual para descifrar las diferentes categorías y capacidades (algo a lo que nunca tuvimos que recurrir ni en el apogeo del caos en el ecosistema JavaScript). Como consultora de software con un historial de prácticas de ingeniería pioneras e innovadoras como CI (integración continua) y CD (entrega continua), una de las categorías que nos interesa especialmente es el uso de la IA para ayudar al desarrollo de software. Como parte del Radar, debatimos muchas herramientas de asistencia en la codificación, como GitHub Copilot, Tabnine and Codeium. También estamos entusiasmados por cómo los LLMs de codigo abierto para la programación podrían sacudir el panorama de las herramientas, y vemos un gran potencial en la explosión de herramientas y capacidades de asistencia más allá de la codificación, como la asistencia en la redacción de historias de usuario, presentaciones cortas y otras tareas basadas en el lenguaje. Al mismo tiempo, esperamos que estas herramientas se utilicen con responsabilidad y se preste especial atención a riesgos de seguridad y calidad como por ejemplo las dependencias alucinantes.
¿Qué tan productivo es medir la productividad?
El desarrollo de software a veces puede parecer mágico para las personas no técnicas, lo que lleva a los líderes a esforzarse por medir qué tan productivos son los desarrolladores en sus misteriosas tareas. Nuestro referente, Martin Fowler, escribió sobre este tema ya en 2003, pero el tema no ha desaparecido. Hablamos de muchas herramientas y técnicas modernas para este radar que adoptan enfoques más matizados para medir el proceso creativo de construcción de software, pero que aún siguen siendo inadecuadas. Afortunadamente, la industria ha dejado de utilizarla cantidad de líneas de código como medida de resultados. Sin embargo, las formas alternativas de medir la A ("Actividad") del framework SPACE, como la cantidad de pull requests o problemas resueltos, siguen siendo indicadores deficientes de productividad. En cambio, la industria ha comenzado a centrarse en la eficacia de la ingeniería: en lugar de medir la productividad, deberíamos medir las cosas que sabemos que contribuyen o restan valor al flujo. En lugar de centrarnos en las actividades de un individuo, deberíamos centrarnos en las fuentes de desperdicio en el sistema y las condiciones que podemos empíricamente demostrar que tienen un impacto en la percepción de "productividad" del desarrollador. Nuevas herramientas como DX DevEx 360 abordan esto centrándose en la experiencia del desarrollador en lugar de en alguna medida engañosa del resultado. Sin embargo, muchos líderes continúan refiriéndose a la "productividad" de los desarrolladores de manera vaga y cualitativa. Sospechamos que al menos parte de este resurgimiento del interés tiene que ver con el impacto del desarrollo de software asistido por IA, lo que plantea la pregunta inevitable: ¿está teniendo un impacto positivo? Si bien las mediciones pueden estar adquiriendo algunos matices, las mediciones reales de la productividad aún son difíciles de alcanzar.
Numerosos LLMs
Los grandes modelos de lenguaje (LLM en inglés) constituyen la base de muchos de los avances modernos en IA. Gran parte de la experimentación actual involucra interfaces de usuario parecidas a las de un chat como ChatGPT o Bard. Fundamentalmente, los principales ecosistemas competidores (ChatGPT de OpenAI, Bard de Google, LLaMA de Meta, Bedrock de Amazon, entre otros) estuvieron muy presentes en nuestras conversaciones. Más ampliamente, los LLMs son herramientas que pueden resolver una variedad de problemas, que van desde generación de contenido (texto, imágenes y vídeos) hasta la generación de código, resúmenes y traducción, por nombrar algunos. Teniendo el lenguaje natural como una poderosa capa de abstracción, estos modelos presentan un conjunto de herramientas universalmente atractivas y están siendo usadas por muchos trabajadores de la información. Nuestro discurso comprende varias facetas de los LLMs, incluyendo auto hospedaje, que permiten personalización y un mayor control en comparación a los LLMs que están hospedados en la nube. Con la creciente complejidad de los LLMs, deliberamos sobre la capacidad de cuantificarlos y ejecutarlos en pequeños espacios, especialmente en dispositivos nuevos y ambientes restringidos. Tocamos ReAct prompting, el cual promete un mejor rendimiento, así cómo agentes autónomos alimentados por LLMs que pueden ser usados para construir aplicaciones dinámicas que van más allá de las interacciones en forma de preguntas y respuestas. También mencionamos varias bases de datos de vectores (incluyendo Pinecone) que están teniendo un resurgimiento gracias a los LLMs. Las capacidades subyacentes de los LLMs, incluyendo las capacidades especializadas y auto hospedadas, continúan su crecimiento explosivo.
Madurez en soluciones alternativas de entrega remota
Aunque los equipos de desarrollo de software remotos han aprovechado la tecnología para superar las limitaciones geográficas durante años, el impacto de la pandemia impulsó la innovación en esta área, solidificando el trabajo totalmente remoto o híbrido como una tendencia duradera. Para este Radar, hemos analizado cómo las prácticas y herramientas de desarrollo de software remoto han madurado y los equipos siguen superando los límites con un enfoque en la colaboración efectiva en un entorno más distribuido y dinámico que nunca. Algunos equipos siguen ideando soluciones innovadoras utilizando nuevas herramientas colaborativas. Otros continúan adaptando y mejorando las prácticas presenciales existentes para actividades como programación en pareja en tiempo real o mob programming, talleres distribuidos (por ejemplo, remote Event Storming) y comunicaciones asíncronas y síncronas. Aunque el trabajo remoto ofrece numerosos beneficios (incluyendo un grupo más diverso de talentos), se sigue reconociendo el valor de las interacciones cara a cara. Los equipos no deben dejar que se desvanezcan los ciclos de retroalimentación críticos y deben ser conscientes de las compensaciones en las que incurren al realizar la transición a entornos remotos.
Insights Destacados
Contribuyentes
El Radar Tecnológico está preparado por la Junta Asesora de Tecnología de Thoughtworks, compuesta por:
Rebecca Parsons (CTO Emerita) • Rachel Laycock (CTO) • Martin Fowler (Chief Scientist) • Bharani Subramaniam • Birgitta Böckeler • Brandon Byars • Camilla Falconi Crispim • Erik Doernenburg • Fausto de la Torre • Hao Xu • Ian Cartwright • James Lewis • Marisa Hoenig • Maya Ormaza • Mike Mason • Neal Ford • Pawan Shah • Scott Shaw • Selvakumar Natesan • Shangqi Liu • Sofia Tania • Vanya Seth
Suscríbete. Sigue informado/a
Inscríbete para recibir correos sobre futuros lanzamientos del Radar Tecnológico y opiniones tecnológicas bimensuales de Thoughtworks.