Publication du Thoughtworks Technology Radar, Volume 29
(thoughtworks.com)Visualisation et explication des dernières tendances dans les domaines des techniques/outils/plateformes/langages et frameworks de développement selon 4 niveaux : Hold/Assess/Trial/Adopt
Développement logiciel assisté par l’IA
- Les LLM open source pour le code vont bouleverser l’environnement des outils de développement
- Ils ont aussi un fort potentiel au-delà du code, pour aider à rédiger des user stories, mener de la recherche utilisateur, préparer un elevator pitch et d’autres tâches liées au langage
- En parallèle, les développeurs doivent utiliser tous ces outils de manière responsable et rester vigilants face, entre autres, aux dépendances hallucinées
À quel point la mesure de la productivité est-elle productive ?
- Le développement logiciel peut parfois sembler magique aux personnes qui ne sont pas des spécialistes techniques, ce qui pousse les managers à chercher à mesurer à quel point les développeurs sont productifs
- Martin Fowler a écrit en 2003 un texte intitulé « la productivité ne peut pas être mesurée »
- Les indicateurs de substitution de la dimension Activity du framework SPACE (Satisfaction and well-being, Performance, Activity, Communication and collaboration, Efficiency and flow), comme le nombre de pull requests ou d’issues résolues, restent peu convaincants
- À la place, le secteur a commencé à se concentrer sur « l’efficacité de l’ingénierie », selon l’idée qu’au lieu de mesurer la productivité, il faut « mesurer les facteurs qui contribuent au flow ou l’entravent »
- Plutôt que de se focaliser sur l’activité individuelle, il faut se concentrer sur les causes de gaspillage du système et sur les conditions que l’on peut démontrer empiriquement comme influençant la perception de la « productivité » chez les développeurs
- De nouveaux outils comme DX DevEx 360 abordent ce problème en se concentrant sur l’expérience développeur plutôt que sur la mesure d’un livrable précis
- Cependant, de nombreux dirigeants continuent encore à parler de la « productivité » des développeurs de façon vague et qualitative
- Une partie au moins de ce regain d’intérêt semble liée à l’impact du développement logiciel assisté par l’IA, qui soulève la question : « a-t-il un impact positif ? »
- Une véritable mesure de la productivité reste difficile
Une multitude de LLM
- Les LLM (grands modèles de langage) constituent la base de nombreuses innovations modernes en IA
- Aujourd’hui, beaucoup d’expérimentations consistent à proposer une interface utilisateur de type chat, comme ChatGPT ou Bard
- De manière générale, les LLM sont des outils capables de résoudre divers problèmes, de la génération de contenu (texte, image et vidéo) à la génération de code, au résumé et à la traduction
- En utilisant le « langage naturel » comme puissante couche d’abstraction, ces modèles offrent un ensemble d’outils universellement attractif, largement adopté par de nombreux travailleurs du savoir
- Les discussions portent sur de nombreux aspects des LLM, y compris l’auto-hébergement, qui permet davantage de personnalisation et un contrôle plus fort que les LLM hébergés dans le cloud
- À mesure que la complexité des LLM augmente, nous examinons aussi la possibilité de les quantifier et de les exécuter dans de petits formats, notamment sur des appareils edge et dans des environnements contraints
- Nous nous intéressons à « ReAct Prompting », qui promet des gains de performance, ainsi qu’aux agents autonomes basés sur les LLM, utilisables pour créer des applications dynamiques allant au-delà des interactions question-réponse
- Sont également mentionnées plusieurs bases de données vectorielles qui connaissent un regain d’intérêt grâce aux LLM, dont Pinecone
- Les capacités fondamentales des LLM, notamment la spécialisation et l’auto-hébergement, continuent leur croissance explosive
Les solutions de contournement de la livraison à distance arrivent à maturité
- Les équipes de développement logiciel à distance utilisent depuis des années la technologie pour dépasser les contraintes géographiques, mais l’impact de la pandémie a accéléré l’innovation dans ce domaine et a installé durablement le travail entièrement à distance ou hybride comme tendance de fond
- Dans ce Radar, il est question de la façon dont les méthodes et outils du développement logiciel à distance ont mûri, et de la manière dont les équipes continuent de repousser les limites en mettant l’accent sur une collaboration efficace dans des environnements plus distribués et dynamiques que jamais
- Certaines équipes continuent à proposer des solutions innovantes en utilisant de nouveaux outils de collaboration
- D’autres continuent d’adapter et d’améliorer les pratiques historiquement en présentiel pour des activités comme le pair programming en temps réel ou le mob programming, ainsi que des ateliers distribués (par exemple le remote event storming). Des modes asynchrones comme synchrones sont possibles
- Le travail à distance offre de nombreux avantages, notamment un vivier de talents plus diversifié, mais la valeur des interactions en face à face reste évidente
- Les équipes ne doivent pas laisser disparaître des boucles de feedback essentielles et doivent reconnaître les compromis induits par le passage à une organisation à distance
[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 commentaires
Publication de Thoughtworks Technology Radar, Volume 28
Publication du 27e numéro de Thoughtworks Technology Radar
Thoughtworks Technology Radar, volume 26 (PDF de 39 p.)
Publication du 23e numéro de ThoughtWorks Technology Radar
Publication du 22e numéro de ThoughtWorks Technology Radar [PDF de 32 p.]
Les actualités technologiques publiées tous les 6 mois par ThoughtWorks - Radar Vol.21