
Temas para esta edición

Machine Learning (ML) fue alguna vez un campo reservado solo para unos pocos afortunados que tenían las herramientas y los recursos para construir cosas geniales. Afortunadamente, vemos una popularización gradual de ML a medida que crece el poder computacional en dispositivos de todos los tamaños, llegan herramientas de código abierto y requerimientos más estrictos y la conciencia sobre la privacidad e información personalizada convergen para crear un ecosistema floreciente. Técnicas como Machine Learning federado permiten modelos que brindan privacidad a la información confidencial. El campo de TinyML permite que los modelos se ejecuten en dispositivos con recursos limitados, trasladando la inferencia hacia el borde, lo que libera recursos y mejora la privacidad de los datos confidenciales. Los Feature Stores brindan beneficios análogos al patrón de diseño para desarrollo de aplicaciones Modelo-Vista-Controlador, permitiendo una separación más clara de las preocupaciones entre la curación de datos, el entrenamiento del modelo y la inferencia. Los modelos disponibles públicamente, como Stable Diffusion, destacan tanto las increíbles capacidades de ML como las preocupaciones sobre los datos fuente y la ética. Los componentes de ML también son más fáciles de conectar, lo que hace posible crear experiencias y soluciones de ML con una composición creativa de modelos de negocio personalizados y modelos genéricos de alta capacidad. Aplaudimos las nuevas capacidades en este nuevo espacio y esperamos con ansias futuros avances.

La palabra "plataforma" sigue siendo una de las más utilizadas en nuestras reuniones de Radar porque es un concepto muy presente en el sector. Se manifiesta de diferentes maneras, incluyendo plataformas centradas en el negocio o el dominio, pero también en infraestructura o experiencia de desarrollo. Fundamentalmente, la causa de muchos de los problemas y decepciones que las organizaciones experimentan con todas las plataformas es no tratarlas adecuadamente como productos. Por ejemplo, muchas plataformas destinadas a ser consumidas por los desarrolladores carecen de la investigación de usuario y el análisis contextual que esperaríamos en otro tipo de productos. Los propietarios de las plataformas deben validar sus supuestos o asunciones sobre las necesidades de los desarrolladores y responder a los patrones de uso reales. Y como todo buen producto, una plataforma necesita un apoyo continuado. Debe evolucionar y adaptarse en respuesta a las necesidades cambiantes del desarrollador. Además, roles como project managers y analistas de negocio suelen tener un alcance diferente al que tienen en aplicaciones tradicionales. La metáfora de la "plataforma como producto" sólo funciona cuando se adopta plenamente como una práctica y no como una frase que está de moda.

Como ya todas sabemos muy a nuestro pesar, la centralización de cualquier tipo abre la posibilidad de constricciones, cuellos de botella o exposiciones innecesarias. Debido a esto, estamos constantemente en la búsqueda de nuevas maneras de librarnos de esos puntos en donde se produce acoplamiento debido a la centralización, algo que ya hemos destacado en varios blips de nuestro Radar. Basándonos en la investigación en tipos de datos replicados sin conflicto (del inglés: conflict-free replicated data types o CRDT), que permiten crear aplicaciones basadas en datos sin una base de datos centralizada, la técnica de software o aplicaciones basadas en enfoque local anima a desarrolladores a pensar en construir datos peer-to-peer en lugar de utilizar una base de datos centralizada. Descentralizar la propiedad de los datos, también permite a los desarrolladores aprovecharse del incremento en capacidades de sus dispositivos, tal y como se expone en el tema sobre la Integración de ML. Por ejemplo, muchas capacidades tales como el reconocimiento facial, pueden ocurrir en la periferia, dónde los datos necesarios para estas capacidades pueden permanecer almacenados en el dispositivo de manera indefinida.

Los ingenieros de software han aprendido el valor de estructurar la arquitectura de una aplicación principalmente alrededor de conceptos de dominio y funcionalidad de negocio. Asuntos técnicos –como la separación entre interfaz de usuario y lógica de dominio– son todavía importantes pero juegan un rol secundario. A medida que las aplicaciones móviles maduran, a menudo se hacen más grandes, convirtiéndose a veces en las también llamadas super aplicaciones, las cuales abarcan muchos servicios y pueden ser vistas como plataformas en sí mismas. Aplicaciones que no son tan grandes pero han ido adquiriendo muchas funcionalidades durante los años pueden habitualmente descomponerse también en módulos, y las compañías pueden ver que las aplicaciones móviles también se benefician del mismo enfoque de modularidad. Las aplicaciones modulares se prestan a ser desarrolladas por múltiples equipos autónomos, lo cual conlleva muchos beneficios bien documentados. Además de la complejidad debemos también contar con el requerimiento de desplegar a través de una “app store” y la necesidad de soportar versiones nativas para iOS y Android, así como una versión web, con pequeños cambios en cada una para acomodarse a cada plataforma. Observamos un mejor soporte en los frameworks para soportar las tensiones inherentes al desarrollo móvil, pero en general, a pesar de los beneficios, a muchas organizaciones se les hace difícil aplicar un enfoque modular al desarrollo móvil.
Insights Destacados
Contribuyentes
El Radar Tecnológico está preparado por la Junta Asesora de Tecnología de Thoughtworks, compuesta por:
Rebecca Parsons (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 • Mike Mason • Neal Ford • Perla Villarreal • Scott Shaw • Shangqi Liu
Suscríbete. Sigue informado/a
Publicamos artículos relacionados al Radar Tecnológico durante todo el año.