Les meilleurs devs choisissent les outils les plus simples

La convivialité des outils de développement a une incidence sur la productivité. Cela n'est peut-être pas surprenant en soi, mais il s'agit bien d'un indicateur de performance clé.

La lecture du Rapport sur l'état accéléré des DevOps 2019 de cette année m’a semblé fascinante ; ce rapport est le résultat de six années de recherche et de données provenant de plus de 31 000 professionnels de notre industrie. Il donne un aperçu des pratiques et des moyens qui font la haute performance. En suivant les conseils de ce rapport, les équipes peuvent devenir des acteurs de talent capables d'aider leurs entreprises à garder une longueur d'avance sur leurs pairs.

La conclusion était évidente : la convivialité des outils a une incidence sur la productivité. Cela n'est peut-être pas surprenant en soi, mais le rapport relève que la facilité d'utilisation de l'outil, par-dessus tout, est un indicateur de performance clé.

L'industrie va dans la bonne direction et elle ne tire pas seulement des leçons de ses erreurs, elle tire aussi enseignement de ce qui fonctionne le mieux.

La proportion de développeurs considérés comme des acteurs de talent a presque triplé pour atteindre 20% au cours des 12 derniers mois. Cela indique que l'industrie va dans la bonne direction et qu'elle ne se contente pas d'apprendre de ses erreurs, mais qu'elle apprend aussi de ce qui fonctionne le mieux. La création de professionnels de talent est en train de devenir une formule reproductible que toute organisation peut adopter. Et pour une bonne raison. Par rapport aux collaborateurs à faible rendement, les meilleurs professionnels ont des déploiements de code plus fréquents, des délais d'exécution plus courts entre la validation et le déploiement et une récupération plus rapide après incident.

Publier plusieurs mises à jour quotidiennes et faire preuve d'agilité sont les caractéristiques typiques de l'élite des pros

Mais que faut-il pour être au top ? Les caractéristiques des pros de talents sont presque toujours les mêmes. Ils publient des mises à jour plusieurs fois par jour, y compris de nombreuses petites mises à jour qui peuvent être perçues comme "ennuyeuses". Ils sont également très agiles ; le délai d'exécution des changements (du code 'commit' à la production) est généralement inférieur à une journée. Il en résulte que la valeur ajoutée se fait plus rapidement sentir dans l'entreprise. Indispensable pour toute entreprise moderne désireuse d'être agile.

Il convient de rappeler que ces résultats ne se limitent pas aux entreprises de haute technologie du XXIe siècle. Au contraire, les organisations de tous types et de toutes tailles, y compris les secteurs hautement réglementés tels que les services financiers et les administrations publiques, peuvent également atteindre des niveaux de performance élevés.

Votre capacité d’exécution est-elle étouffée par de longues périodes de scan ?

Les entreprises modernes travaillent à une échelle que nous n'avons tout simplement jamais vue auparavant. Si vous considérez qu'une équipe de développement fait plusieurs mises à jour quotidiennement, elle ne peut pas tolérer les longues périodes d'analyse qui sont le propre des outils de test de sécurité statique et dynamique traditionnels. Tout simplement, leur capacité d'exécution est bridée.

Certaines équipes tentent d'atténuer le problème en introduisant des scans de code incrémentiels ou des scans dynamiques ciblés, mais ces approches nécessitent des experts en sécurité pour configurer les outils et trier les résultats. Cela peut entraîner une augmentation rapide des coûts.

Les équipes d'élite mises en évidence dans ce rapport utilisaient le plus souvent des outils ne nécessitant que peu ou pas de personnalisation.

Les outils de sécurité traditionnels peuvent perturber les développeurs et ils fonctionnent rarement du premier coup dès leur installation. Il est impératif de trouver les bons outils, en particulier si l’on conçoit des systèmes complexes et si l'on gère des infrastructures critiques ; ici, le travail sera intrinsèquement plus difficile.

Les équipes d'élite mises en évidence dans le rapport ont déclaré utiliser le plus souvent des outils qui nécessitaient peu ou pas de personnalisation. Elles ont ainsi pu concentrer leurs efforts sur des activités plus importantes telles que le développement, le réusinage de code, le travail de conception et la documentation.

Vers des développeurs plus heureux

Parce que les pratiques techniques qui soutiennent le développement et le déploiement de logiciels sont importantes pour la rapidité et la stabilité, la convivialité des outils a un effet positif direct sur la productivité. Il est temps de mettre de côté les outils existants. Il est nécessaire de faire appel à une approche moderne de la sécurité des applications qui ne nécessite pas de personnalisation et qui soit conçue en fonction des besoins du développeur de 2020.

Il serait bon d’utiliser une instrumentation binaire dynamique pour intégrer des capteurs de sécurité dans l'application en cours d'exécution, afin de fournir un retour d'information sur la sécurité précis et en temps réel. Elle fonctionne en observant le flux de données non fiables à travers l'application pour vérifier si elle est validée ou désinfectée ; avant qu'elle n'arrive à une opération dangereuse telle qu'une requête de base de données. Cela fournit au développeur des indications sur la vulnérabilité, jusqu'à la ligne de code où réside la vulnérabilité. Ce mode de fonctionnement assure des tests de sécurité continus, une rétroaction rapide, des conseils clairs et - en fin de compte - des développeurs plus heureux.