L’un des facteurs les plus importants pour le succès du développement logiciels est le retour d’information, dit « feedback », car celui-ci représente une valeur essentielle d’agilité au sein des équipes de développement.
Le terme d’ « agilité » fait partie intégrante du champ lexical du développement logiciel, et il revêt aujourd’hui une importance plus cruciale que jamais. Car aujourd’hui, la programmation est avant tout une question de rapidité et de sécurité, avec en arrière-plan cet incessant défi : déployer un logiciel plus tôt que la concurrence et suffisamment robuste pour protéger les précieuses données des utilisateurs.
Dans ce contexte, pourquoi le retour d’information doit-il être rapide et efficace ? Désormais, les développeurs codent à un rythme si soutenu qu’un quelconque ralentissement, ne serait-ce que d’une journée, peut provoquer un effet domino dévastateur. Dans un environnement imprégné de logiciels tributaires de sites web et d’applications complémentaires, chaque retard de publication du code peut rapidement se traduire par des pertes financières colossales pour les entreprises. Il s’agit alors d’une problématique qui concerne toute la structure, et pas seulement l’équipe de développeurs.
Le retour d’information instantané : quelle plus-value ?
C’est pourquoi le retour d’information instantané via des résultats clairs permet d’informer en temps réel les développeurs sur ce qui fonctionne ou non, afin qu’ils puissent réagir rapidement, corriger les défauts, écraser les bogues et ainsi réduire le risque global plus tôt dans le cycle de vie du développement logiciel. En outre, d’un point de vue psychologique, le retour d’information instantané est gratifiant pour le développeur. Il réduit leurs impatiences et les frustrations qui en découlent, et accroît leur capacité d’action une fois le « feedback » obtenu. En somme, identifier les défauts courants rapidement, éviter de les introduire dans le code tout en travaillant à les éliminer est la quintessence de l’efficacité et de l’agilité chez les développeurs.
Depuis quelques années, la « programmation en binôme » a permis de résoudre certains problèmes liés au retour d’information. Par cette pratique, un programmeur (pilote) produit du code tandis qu’un autre (observateur/navigateur) examine le code ligne par ligne au fur et à mesure qu’il est conçu. Même si les deux rôles s’inversent de temps à autres, ce processus n’en demeure pas moins aliénant, dépassé et gourmand en ressources.
Pour répondre à ces enjeux, certains outils d’analyse sont ainsi équipés d’un retour d’information automatisé sur la sécurité, directement dans l’EDI et dans le pipeline, et jouent le rôle d’observateur/navigateur afin que le développeur « pilote » puisse faire ce qu’il fait le mieux. Ce retour d’information rapide aide les développeurs à améliorer leur code, en leur fournissant des lignes directrices qui empêchent l’introduction de nouvelles vulnérabilités en cours de route tout en effectuant une analyse complète avant le déploiement afin d’accompagner les développeurs dans la priorisation des vulnérabilités à corriger.
Alléger la charge du travail des développeurs
Les horaires chargés des développeurs laissent peu de place à la patience. D’après la récente enquête de Stack Overflow auprès des développeurs, 54,5 % des répondants ont déclaré qu’ils n’hésitaient pas à interrompre leur travail de codage en cas de problème pour travailler sur autre chose, le temps que le retour d’information leur parvienne. Autrement dit, les développeurs ont souvent un emploi du temps trop chargé pour attendre le feedback dont ils ont besoin pour avancer dans leur tâche.
Associé à des outils de formation qui utilisent des applications réelles pour apprendre aux développeurs à exploiter et à corriger le code, le balayage des plateformes avec un retour d’information automatisé sur la sécurité justifie encore davantage de son impact. Les solutions conçues pour s’adapter à l’emploi du temps chargé des développeurs contribuent donc largement à la réussite de toute l’équipe, surtout si elles s’intègrent de manière transparente en tant que services cloud basés sur le SaaS et qui ne perturbent pas le flux de travail.
Ainsi, s’entraîner à la programmation en binôme ou « attendre » les vulnérabilités à différents moments du processus de construction ne suffit plus. Commercialiser rapidement des applications sécurisées impose désormais d’obtenir un retour d’information rapide et efficace. Ce feedback reste un outil de formation en soi qui élimine les dangers dans le processus de développement de logiciels et, in fine, les risques inutiles qui pèsent sur les épaules des clients et utilisateurs servis.
___________________
Par Nabil Bousselham, architecte de solutions chez Veracode