
Selon Sourcegraph, le Big Code est tout ce qui a trait à la façon dont le code se développe en :
- Volume : augmentations exponentielles de la quantité de code.
- Variété : beaucoup plus de complexité dans les langages, les outils et les processus utilisés pour fournir des logiciels.
- Vitesse : cycles de livraison accélérés, ce qui signifie que le code change plus rapidement et est livré pratiquement tous les jours.
- Valeur : la réimagination des modèles commerciaux et des pratiques grâce à des logiciels de haute qualité.
Pour cette enquête, Big Code fait référence à la croissance spectaculaire du volume et de la complexité du code. Cela comprend l'augmentation de la variété des environnements de développement, des plateformes et des outils; la rapidité des calendriers de livraison; et la valeur commerciale attendue. Le Big Code a un impact sur les équipes de développement comme le Big Data a eu un impact sur les équipes de données.
Sourcegraph précise que « Ce rapport est basé sur une enquête menée en 2020 auprès de plus de 500 professionnels du développement logiciel en Amérique du Nord. Cette recherche examine l'état du Big Code pour quantifier sa complexité, comprendre son impact réel sur le développement et les résultats commerciaux et identifier ce qui doit être changé pour que les entreprises réussissent. Tous les participants à l'enquête avaient la responsabilité directe du développement logiciel dans une entreprise de plus de 200 employés de développement ».
Dans les bases de code vastes et complexes d’aujourd’hui, il est invariablement problématique pour les développeurs de découvrir, comprendre et corriger le code en raison de l’augmentation significative du volume et de la complexité du code. Le Big Code est l'un des problèmes les plus urgents auxquels les entreprises de logiciels sont confrontées aujourd'hui. Parce que les logiciels sont une partie importante de chaque industrie, le Big Code a un impact sur presque toutes les organisations avec des efforts de développement importants (94%, d'après le sondage).
Ce niveau de réponse est presque identique dans toutes les organisations et industries, quel que soit leur taille ou le nombre spécifique de développeurs. Il est intéressant de noter que les industries en dehors du logiciel rapportent qu'elles sont un peu plus touchées, 95 % déclarant être touchées par le Big Code contre 92 % des éditeurs de logiciels. Ces données soutiennent la réalité actuelle selon laquelle le Big Code n'est pas seulement un problème de l'industrie du logiciel.
Les évolutions
Croissance du volume
Pour mieux comprendre ce qui est en jeu, il est important de commencer par quantifier la taille du Big Code. En d'autres termes, avec quels volumes de code les organisations travaillent-elles en 2020 s'il fallait comparer par exemple à 2010 ? Lorsqu'il leur a été demandé comment la taille de la base de code dans l'ensemble de leur entreprise, mesurée en mégaoctets et le nombre de référentiels, a changé au cours de la dernière décennie, plus de la moitié (51 %) des parties prenantes du développement logiciel déclarent avoir plus de 100 fois le volume de code d'il y a 10 ans. Et 18 % d'entre eux déclarent avoir 500 fois plus de code.
Une plus grande variété
Lors de l'examen des logiciels actuels, il est essentiel de noter la profusion de différents langages de programmation, référentiels, systèmes de contrôle de version, architectures, services, appareils pris en charge, outils, API, etc. qui contribuent à la complexité et au volume du code. Plus précisément, plus de six professionnels du logiciel sur 10 signalent une augmentation significative dans un large éventail de dimensions de développement différentes au cours de la dernière décennie.
La vitesse augmente
En plus du volume et de la variété qui sont en pleine expansion au sein du Big Code, la vitesse de diffusion des versions de logiciels augmente également. Grâce à la mise en œuvre d'approches et de pratiques de développement telles qu'Agile, Scrum et DevOps, les organisations peuvent effectuer des builds plus rapides et déployer rapidement de nouvelles versions. Presque tous les acteurs du développement (92 %) disent qu'il y a une pression croissante au cours des 10 dernières années pour publier le code plus rapidement.
Le Big Code pose de gros problèmes
Les équipes de développement sont confrontées à de nombreuses difficultés en raison d'une complexité croissante des logiciels qui soutiennent l'entreprise. Si l'entreprise devient de plus en plus complexe, sa base de code suivra, car le développement reflète l'entreprise et ses processus clés. Lorsqu'ont été interrogés les acteurs du développement logiciel sur la complexité de leur logiciel, 77 % ont déclaré qu'il est considérablement plus complexe qu'il y a 10 ans.
Comme cela pouvait être prévisible, cette augmentation spectaculaire de la complexité du code présente un large éventail de défis pour les équipes de développement. Le principal défi cité est le temps et les efforts nécessaires pour que les nouvelles recrues soient productives (62 %), suivis de la rupture de code en raison d'un manque de compréhension des dépendances (57 %), des difficultés à gérer les changements de code (50 %), du manque de visibilité (46 %), des révisions de code lentes (43 %), une frustration accrue pour les développeurs qui trouvent du code spécifique (40 %), des problèmes de compréhension de nouvelles bases de code (38 %), et bien plus encore. Quelques personnes ont évoqué d'autres problèmes auxquels ils faisaient face comme le maintien de la qualité, le manque de connaissances en matière de test, la courbe d'apprentissage des nouvelles technologies et le temps de traitement.
La complexité du Big Code a un impact direct sur l'entreprise
Avec des milliards de lignes de code, de multiples interfaces système et des exigences complexes, la complexité du logiciel peut influencer le contrôle de l'équipe de développement et entraîner des conséquences commerciales indésirables. La complexité du Big Code est une préoccupation majeure pour les équipes gérant de nombreuses technologies et applications. Dans cette étude, 99 % des acteurs du développement établissent une corrélation directe entre la complexité du code et l'impact sur l'entreprise. Selon les parties prenantes, les principaux résultats commerciaux négatifs liés au Big Code sont la difficulté à maintenir des normes de qualité élevées (57 %), des risques de sécurité élevés (51 %), des délais de publication retardés (49 %), des coûts accrus (47 %), moins d'agilité ( 46 %) et une difficulté croissante à innover (36 %).
La complexité du Big Code a un impact personnel sur les développeurs
Sur un plan plus personnel, presque toutes les nouvelles versions de logiciels complexes suscitent des sentiments indésirables, 88 % des équipes de développement de logiciels admettant que chaque version provoque une certaine anxiété.
Lorsque la question a été approfondie, les développeurs ont révélé qu'ils ressentent un large éventail d'émotions lors de la publication de code. Presque toutes les équipes de développement (96 %) révèlent que les versions de code suscitent des émotions en eux. Bien que beaucoup rapportent des sentiments positifs comme la satisfaction, il est alarmant de constater que plus de la moitié (58 %) disent ressentir des émotions négatives, y compris la peur et l'anxiété, au moment où ils publient le code ou le soumettent pour examen.
Les équipes évitent de mettre à jour le code, car elles craignent de briser les dépendances
L'une des révélations les plus sombres de cette enquête est de savoir comment cette peur peut affecter les progrès du développement. Les trois quarts (74 %) des acteurs du développement affirment que leurs équipes évitent de mettre à jour le code, car elles ne sont pas sûres des dépendances et craignent de casser quelque chose.
Les équipes de développement ont besoin de nouveaux outils pour s'adapter aux environnements Big Code
Les outils existants n'ont pas été conçus pour l'ère du Big Code
Les éditeurs et les EDI ont été conçus pour des développeurs individuels travaillant en petites équipes sur un référentiel unique. Mais dans l'environnement actuel, les développeurs collaborent désormais régulièrement sur du code à...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.