L’analyse des tendances IT par Zenika
Quelle est la place d’un tech radar dans les outils d’aide à la décision des entreprises ?
Dans tout projet informatique, il y a des choix structurants à faire. Le choix le plus typique est celui d’une technologie à utiliser :
- Quel langage de programmation ?
- Quel système de stockage de données ?
- Quelle interface avec le monde ?
- Quel framework ?
Cela n’est sans doute pas le premier choix à faire (il faut d’abord s’intéresser aux fonctionnalités et aux contraintes systémiques). C’est néanmoins un choix … important, puisqu’il va conditionner les compétences nécessaires, et donc les personnes susceptibles d’intervenir immédiatement sur le projet, le coût de formation et le coût des ressources.
Il est donc légitime que ce choix soit considéré comme important. Et face à un choix important, on essaye généralement de se rassurer à travers différentes méthodes. Par exemple en demandant l’avis de personnes ayant déjà réalisé des projets équivalents, ce qui peut être délicat, en particulier lorsqu’on développe une application innovante. Pour éviter ça, on peut donc aussi faire appel à des influenceurs comme ThoughWorks.
L’une des raisons pour lesquelles cette entreprise est connue, c’est qu’elle maintient depuis des années un tech radar, qui sert de référence à bon nombre d’entreprises pour déterminer quelles technologies adopter ou, au contraire, abandonner.
Il semble pourtant qu’il existe différents biais qui font de ce tech radar un outil moins utile qu’il n’y paraît.
D’abord, il faut noter que la forme du tech radar n’est pas neutre. Un radar permet, en dehors de la métaphore informatique, d’obtenir des positions à un instant donné. Et il ne fournit aucune information de vélocité. C’est-à-dire qu’on ne voit pas si un des éléments de ce radar va évoluer vers le centre, la périphérie ou simplement disparaître. Cette objection n’est pas neutre. Si vous prenez la 29ème édition du radar Thoughtworks (l’avant-dernière à l’heure où j’écris ces lignes), et en particulier Dart, qui se trouve en TRIAL, ce langage existe depuis 2011. Qu’est-ce qui le place en TRIAL (donc à essayer actuellement) malgré son histoire ? Bien sûr, il y a des nouveautés, comme dans tous les autres langages. Mais quelles nouveautés spécifiques le font apparaître à ce moment ? Par ailleurs, Dart n’apparaît pas dans les cinq éditions antérieures (même si on voit apparaître Flutter for Web et Flutter for Embedded), ni en TRIAL, ni même en ASSESS.
Alors si les éléments apparaissent sans continuité temporelle, qu’est-ce qui les fait apparaître dans ce tech radar ? C’est heureusement indiqué dans la page du tech radar :
The Technology Radar is prepared by the Thoughtworks Technology Advisory Board, comprised of: 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
Ne vous méprenez pas, les personnes qui figurent dans cette liste sont toutes incroyablement talentueuses et expérimentées. Mais prenons un parallèle.
Si on prend le le site de benchmarks de TechEmpower, et qu’on s’intéresse par exemple aux frameworks Java, il y en a 66 (dont moins d’une dizaine sont d’un usage courant). Et dans la mesure où 39 langages sont présentés, le nombre de frameworks présentés est assez vertigineux. Et encore, ce site ne présente qu’un sous-ensemble de tout ce qui existe dans le domaine du développement back-end. Comment prétendre alors à une connaissance encyclopédique ? En fait, leur choix est forcément partial.
Et c’est pour ça que je parle d’influenceurs : ThoughWorks ne fournit pas une observation de l’écosystème, mais une curation de ce qu’ils considèrent, avec leur histoire, leur expérience, leurs biais, comme étant intéressant à ce moment de l’histoire.
Notez par ailleurs que ThoughWorks fait quand même avec ce radar un travail formidable. Tellement que d’autres entreprises produisent le leur, avec un résultat tout aussi intéressant, parce que provenant d’un autre point de vue.
INGKA (la maison mère d’Ikea), par exemple, produit le sien. Il est même possible de créer votre propre tech radar avec différents outils.
Est-ce que cela fait pour autant du tech radar un outil à éviter ? Sûrement pas, puisqu’il fournit un inventaire des outils et méthodes utilisables dans des équipes informatiques sous une forme extrêmement synthétique. Toutefois, il faut prendre ce radar pour ce qu’il est : non pas un outil de décision, mais un outil de détection de trajectoires, assez incomplet par ailleurs.
Peut-on observer les tendances informatiques autrement ?
Afin de ne pas ajouter de bruit et davantage de biais dans les discussions autour d’adoption de technologies et méthodologies, nous avons décidé d’avoir une approche légèrement différente des habitudes de notre secteur, orientée “analyse de données”.
Nous avons alors été confronté à plusieurs challenges, notamment :
- Quelles étaient les sources de données disponibles ?
- Quelles informations pouvaient-elles nous apporter ?
- Quels niveaux de fiabilité avaient-elles ?
- Comment réduire le plus possible l’impact de nos biais dans nos analyses ?
- Quels étaient les facteurs d’influence pour nos biais résiduels ?
Au sujet des sources de données disponibles, Stackoverflow nous semblait être un bon point de départ.
En analysant le nombre de messages autour de technologies pré-sélectionnées, nous avons alors vérifié la corrélation entre cette donnée et les tendances liées à ces technologies : cycle du hype, adoption chez nos clients, compétition avec des technologies sur le même créneau, abandon… et événements extérieurs (ex : COVID).
Voici quelques exemples parlants démontrables grâce à une plateforme expérimentale bâtie dans Looker Studio.
Popularité des langages de programmation
Le débat sur la popularité du langage de programmation est aussi vivace que toujours, et amène surtout des querelles de chapelle qui sont souvent irrésolubles. Lorsqu’on regarde les questions à propos des langages de programmation populaire sur Stack Overflow voici ce qu’on observe.

Ces deux courbes nous montrent en haut le nombre absolu de questions posées au sujet d’un langage de programmation sur Stack Overflow, et en bas le pourcentage de questions posées au sujet d’un langage de programmation.
On peut voir des variations assez diverses explicables par différents facteurs que nous allons détailler :
- D’abord on constate autour de l’an 2000 une hausse notable des questions posées sur Stack Overflow en valeur absolue, explicable facilement par les confinements qui ont eu lieu à cette période.
- Ensuite on constate autour de 2015 une nette augmentation du nombre de questions qui semble être la période de “hype” de la plateforme.
- A contrario, 2019 marque le début de la chute de Stack Overflow. En effet, si l’on excepte JavaScript et Python qui conservent une popularité à peu près constante, l’ensemble des autres langages de programmation voient leur nombre de questions absolues diminuées.
- Ce qui se conforte lorsqu’on regarde le pourcentage de questions au sujet d’un langage de programmation (la courbe du bas) dans laquelle on voit bien une croissance continue du langage Python, une croissance beaucoup plus faible de Javascript, et enfin une diminution relative de tous les autres langages de programmation.
Un prototype satisfaisant
Il s’est avéré que nous pouvions dans ces premiers essais associer une “histoire” avec les courbes générées. Cette histoire était bien sûr préalablement débattue en interne par la Direction Technique de Zenika et confrontée aux chiffres, ce qui nous a permis de détecter :
- Certains biais non prouvées par les chiffres (ex : telle technologie est en train de disparaître complètement au profit d’une autre → les chiffres démontrent finalement le contraire et nous devons l’accepter) ;
- Certaines tendances passées “sous le radar” et remises au devant de la scène.
Avec ces premiers éléments en main, il nous faut maintenant trouver une autre source de données pour challenger nos premières “histoires”.
Comment transformer ce prototype en un produit utile ?
Un excellent article est paru récemment sur ZDNet (Quels sont les langages de programmation les plus populaires à l’heure actuelle (et qu’est-ce que cela signifie au juste) ?) reprenant assez bien le périmètre de la question à laquelle nous essayons de répondre. Cet article donne un ensemble de “proxy” de ce qu’on pourrait appeler la popularité d’une technologie
- nombre de questions Stack Overflow
- nombre de projets sur Github
- nombre d’étoiles sur les projets représentatifs sur Github
- nombre d’offres d’emploi
- nombre de livres
- etc
Toutes ces métriques sont utiles en tant que proxy de la popularité.
Nous avons démontré avec l’étude des tags Stack Overflow qu’il était possible de collecter ces indicateurs objectifs pour en tirer des informations tendancielles. Il nous faut maintenant mettre à profit cette connaissance pour construire un outil capable d’exploiter les autres indicateurs objectifs.

