Thoughtworks Technology Radar, Volumen 29 publicado
(thoughtworks.com)Visualiza y explica las últimas tendencias en técnicas/herramientas/plataformas/lenguajes y frameworks de desarrollo en cuatro etapas: Hold/Assess/Trial/Adopt
Desarrollo de software asistido por IA
- Los LLM open source para programación sacudirán el entorno de herramientas de desarrollo
- También tienen un gran potencial más allá de programar, como apoyo para redactar historias de usuario, investigación de usuarios, elevator pitch y otras tareas relacionadas con el lenguaje
- Al mismo tiempo, los desarrolladores deben usar todas estas herramientas de forma responsable y tener cuidado con cosas como las dependencias alucinadas
¿Qué tan productiva es la medición de productividad?
- El desarrollo de software a veces puede parecer magia para quienes no son especialistas técnicos, y eso lleva a los gerentes a intentar medir qué tan productivos son los desarrolladores
- Martin Fowler escribió en 2003 un texto titulado "La productividad no se puede medir"
- Incluso hoy, los indicadores alternativos del componente Activity del framework SPACE (Satisfaction and well-being, Performance, Activity, Communication and collaboration, Efficiency and flow), como la cantidad de pull requests o de issues resueltos, no son particularmente buenos
- En cambio, la industria ha empezado a enfocarse en la "eficiencia de ingeniería": en vez de medir la productividad, medir "los factores que contribuyen o interfieren con el flujo"
- En lugar de centrarse en la actividad individual, debería enfocarse en las fuentes de desperdicio del sistema y en cómo condiciones demostrables empíricamente influyen en la percepción de "productividad" de los desarrolladores
- Herramientas nuevas como DX DevEx 360 abordan este problema al centrarse en la experiencia del desarrollador y no en medir entregables específicos
- Sin embargo, muchos líderes todavía hablan de la "productividad" de los desarrolladores de forma ambigua y cualitativa
- Se cree que al menos parte del resurgimiento de este interés tiene que ver con el impacto del desarrollo de software asistido por IA, lo que plantea la pregunta: "¿Está teniendo un impacto positivo?"
- La medición real de la productividad sigue siendo difícil
Muchísimos LLM
- Los LLM (modelos de lenguaje grandes) forman la base de muchas innovaciones modernas en IA
- Actualmente, muchos experimentos incluyen presentar interfaces de usuario similares a un chat, como ChatGPT o Bard
- En términos amplios, los LLM son herramientas capaces de resolver una variedad de problemas, desde generación de contenido (texto, imágenes y video) hasta generación de código, resumen y traducción
- Al usar el "lenguaje natural" como una poderosa capa de abstracción, estos modelos ofrecen un conjunto de herramientas universalmente atractivo, por lo que muchos trabajadores del conocimiento los están usando
- Se está discutiendo sobre LLM desde varios ángulos, incluyendo el self-hosting, que permite más personalización y control más fuerte que los LLM alojados en la nube
- A medida que aumenta la complejidad de los LLM, también se considera la capacidad de cuantizarlos y ejecutarlos en formatos pequeños, especialmente en dispositivos edge y entornos restringidos
- También revisan "ReAct Prompting", que promete mejoras de rendimiento, junto con agentes autónomos basados en LLM que pueden usarse para construir aplicaciones dinámicas que van más allá de la interacción de preguntas y respuestas
- También mencionan varias bases de datos vectoriales que están resurgiendo gracias a los LLM, incluyendo Pinecone
- Las capacidades base de los LLM, incluidas la especialización y el self-hosting, siguen creciendo de manera explosiva
Maduran los workaround para la entrega remota
- Los equipos remotos de desarrollo de software han usado tecnología durante años para superar restricciones geográficas, pero el impacto de la pandemia aceleró la innovación en esta área y consolidó el trabajo totalmente remoto o híbrido como una tendencia sostenida
- En este Radar se analiza cómo han madurado las prácticas y herramientas del desarrollo remoto de software, y cómo los equipos siguen ampliando los límites con enfoque en la colaboración efectiva en entornos más distribuidos y dinámicos que nunca
- Algunos equipos siguen presentando soluciones innovadoras usando nuevas herramientas de colaboración
- Otros continúan adaptando y refinando prácticas presenciales existentes para actividades como pair programming en tiempo real o mob programming, y talleres distribuidos (por ejemplo, remote event storming). Pueden hacerse tanto de forma asíncrona como síncrona
- Aunque el trabajo remoto ofrece diversas ventajas (incluyendo un pool de talento más diverso), el valor de la interacción presencial es claro
- Los equipos no deben permitir que se pierdan ciclos de retroalimentación importantes y deben reconocer las ventajas y desventajas que surgen al pasar a un entorno remoto
[Techiniques]
Adopt
- Design systems
- Lightweight approach to RFCs
Trial
- Accessibility-aware component test design
- Attack path analysis
- Automatic merging of dependency update PRs
- Data product thinking for FAIR data
- OIDC for GitHub Actions
- Provision monitors and alerts with Terraform
- ReAct prompting
- Retrieval-Augmented Generation (RAG)
- Risk-based failure modeling
- Semi-structured natural language for LLMs
- Tracking health over debt
- Unit testing for alerting rules
- Zero trust security for CI/CD Assess
- Dependency health checks to counter package hallucinations
- Design system decision records
- GitOps
- LLM-powered autonomous agents
- Platform orchestration
- Self-hosted LLMs
Hold
- Ignoring OWASP Top 10 lists
- Web components for server-siderendered (SSR) web apps
[Platforms]
Adopt
- Colima
Trial
- CloudEvents
- DataOps.live
- Google Cloud Vertex AI
- Immuta
- Lokalise
- Orca
- Trino
- Wiz
Assess
- ActivityPub
- Azure Container Apps
- Azure OpenAI Service
- ChatGLM
- Chroma
- Kraftful
- pgvector
- Pinecone
- wazero
[Tools]
Adopt
Trial
- AWS Control Tower
- Bloc
- cdk-nag
- Checkov
- Chromatic
- Cilium
- Cloud Carbon Footprint
- Container Structure Tests
- Devbox
- DX DevEx 360
- GitHub Copilot
- Insomnia
- IntelliJ HTTP Client plugin
- KEDA
- Kubeconform
- mob
- MobSF
- Mocks Server
- Prisma runtime defense
- Terratest
- Thanos
- Yalc
Assess
- ChatGPT
- Codeium
- GitHub merge queue
- Google Bard
- Google Cloud Workstations
- Gradio
- KWOK
- Llama 2
- Maestro
- Open-source LLMs for coding
- OpenCost
- OpenRewrite
- OrbStack
- Pixie
- Tabnine
[Languages and Frameworks]
Adopt
Trial
- .NET Minimal API
- Ajv
- Armeria
- AWS SAM
- Dart
- fast-check
- Kotlin with Spring
- Mockery
- Netflix DGS
- OpenTelemetry
- Polars
- Pushpin
- Snowpark
Assess
- Baseline Profiles
- GGML
- GPTCache
- Grammatical Inflection API
- htmx
- Kotlin Kover
- LangChain
- LlamaIndex
- promptfoo
- Semantic Kernel
- Spring Modulith
1 comentarios
Publicación de Thoughtworks Technology Radar, Volume 28
Publicación de Thoughtworks Technology Radar Vol. 27
Thoughtworks Technology Radar Vol. 26 (PDF de 39 páginas)
Publicación de ThoughtWorks Technology Radar Vol. 23
Publicación de ThoughtWorks Technology Radar Vol. 22 [PDF de 32 páginas]
Noticias tecnológicas que ThoughtWorks publica cada 6 meses - Radar Vol.21