Skip to main content

Une approche du logiciel centrée sur les développeurs

Écrit par
feature developer approach

18 février 2022

0 minutes de lecture

Ces dernières années, « l’idée que chaque entreprise est une entreprise technologique [marque] un changement fondamental dans notre secteur » (Suzie Prince, responsable produit DevOps chez Atlassian). La prédominance du développement en tant que discipline a élargi son public et donné une voix bien plus forte au point de vue des développeurs. Cette transition a été abordée lors de plusieurs conférences de SnykCon l’an dernier, qui ont apporté de nouveaux éclairages sur la manière dont les développeurs ont transformé le secteur et façonné une approche nouvelle et améliorée du développement logiciel.

Ce dont les développeurs ont besoin de la part de leur organisation

Les outils et la culture d’entreprise ont une grande influence sur notre productivité et notre approche. Lorsque nous avons la possibilité de travailler de manière autonome, l’investissement et la motivation de l’équipe augmentent. Le programme de recherche DORA (DevOps Research and Assessment) sur l’état du DevOps a conclu que « les organisations qui opèrent une transformation et laissent davantage de choix aux développeurs obtiennent de meilleurs résultats ». Nous connaissons nos besoins mieux que quiconque. Il est donc essentiel de donner aux développeurs davantage de choix quant aux outils et aux structures d’équipe avec lesquels ils travaillent au quotidien.

Les discussions de SnykCon 2021 sur l’approche et l’autonomisation des développeurs reposaient sur trois principes fondamentaux.

  1. Les développeurs ont besoin d’outils qui leur simplifient la tâche.

  2. Les développeurs doivent pouvoir intégrer facilement leurs outils aux autres outils et à leurs workflows existants.

  3. La culture d’entreprise doit leur donner les moyens de prendre en main leur travail.

Des outils qui vous facilitent la vie

Lors de sa session SnykCon avec Gareth Rushgrove (vice-président produit chez Snyk), Suzie Prince (responsable produit DevOps chez Atlassian) a commencé par expliquer que les développeurs veulent des outils qui « leur permettent d’être efficaces et performants dans leur travail quotidien ». Cela implique souvent d’intégrer l’automatisation partout où c’est possible, afin de réduire la charge des tâches répétitives et chronophages. Rushgrove, lui-même ancien développeur, l’a résumé simplement : les développeurs cherchent « à pouvoir utiliser des outils plus simples ». Face à la multitude de tâches dont ils sont responsables, privilégions des outils faciles à utiliser et des stratégies qui simplifient leur quotidien.

Ce principe s’applique tout autant à la sécurité des applications qu’au développement. Pour déplacer efficacement la sécurité vers la gauche et inciter les développeurs à adopter des pratiques de codage sécurisé, nous avons besoin d’outils adaptés à leurs besoins et qui simplifient la formation à la sécurité. Ari Kalfus (responsable de la sécurité des applications chez Rally Health) a abordé cette question lors de sa session SnykCon sur les informations exploitables en matière de sécurité. Son équipe utilise Conftest, l’Open Policy Agent, pour tester ses données de configuration. Elle a créé des messages d’échec personnalisés dans Conftest afin que les développeurs comprennent pourquoi leur test a échoué et sachent comment y remédier. Kalfus demande à son équipe de « créer la règle, puis de lui associer un message qui indique précisément aux développeurs ce qui ne va pas dans leur PR et ce qu’ils doivent faire pour corriger le problème ». « Si vous ne guidez pas les développeurs, vous n’avez fait que la moitié du chemin » pour les accompagner efficacement (Kalfus).

How Compliance-as-Code Grants Developers Actionable Security Insights

Des outils qui s’intègrent facilement

Aucune équipe de développement ne travaille de la même manière. Même au sein d’une organisation, chaque équipe a ses propres méthodes et un écosystème d’outils adapté à ses tâches spécifiques. Les outils qui séduisent les développeurs sont ceux qui s’intègrent le mieux à la complexité de leur écosystème.

Un principe fondamental pour bien concevoir des outils consiste à partir du principe que vous en utilisez d’autres en parallèle. Comme l’a expliqué Rushgrove, « les développeurs ne veulent pas d’un outil qui fasse tout ». Lorsqu’ils sont libres de choisir leurs outils, ceux-ci doivent impérativement être compatibles avec une large gamme de logiciels. Les développeurs recherchent également des outils faciles à prendre en main. « Si un autre service de l’organisation met longtemps à intégrer [l’outil] à votre workflow, vous choisirez probablement autre chose. » (Rushgrove) Une approche centrée sur les développeurs privilégie l’accomplissement du travail, plutôt que les démarches fastidieuses pour remplir des formulaires ou contacter d’autres services afin d’obtenir des autorisations et des validations.

Developers don't want someone looking over their shoulder

Leadership au service des équipes et autonomie

À mesure que le secteur délaisse l’architecte en tour d’ivoire au profit d’une architecture plus évolutive, le processus de développement se divise en étapes plus petites, laissant davantage de place à la créativité et aux choix des développeurs. Cette évolution doit beaucoup à l’adoption des méthodes agiles, où « les individus et leurs interactions comptent davantage » que la hiérarchie managériale (Prince). Rushgrove était développeur dans les opérations aux débuts du DevOps. À mesure que toutes les entreprises devenaient des entreprises technologiques, il a vu « des ingénieurs, des développeurs, des spécialistes des opérations et du logiciel accéder à des postes de direction plus rapidement qu’ils ne l’avaient imaginé, espéré, voire redouté. Ils ont apporté avec eux cette idée : “Je veux que ma direction cesse de me mettre des bâtons dans les roues ; en tant que manager, je vais donc éviter de faire obstacle aux autres.” » Cette attitude transformatrice a contribué à abaisser les barrières à l’entrée dans tout le secteur et a ouvert la voie aux développeurs pour définir leurs propres méthodes.

Ces principes de management s’appliquent également au partenariat entre la sécurité et le développement. « Si vous avez connu un environnement où les tests de sécurité avaient lieu des mois après le développement principal et où vous avez constaté leur coût, vous êtes motivé à intervenir plus tôt » (Prince). C’est ce qui motive le déplacement vers la gauche de la sécurité des applications. Avec la décentralisation et l’accélération des mises en production sécurisées, les équipes de développement gagnent en accès et en responsabilités. Pour protéger ce nouveau pipeline, la sécurité doit suivre le même modèle décentralisé. Comme l’a expliqué Mike Milner (directeur mondial de la technologie de sécurité des applications chez TrendMicro), « le rôle essentiel de l’équipe de sécurité est de comprendre ce que les développeurs créent et quelles nouvelles menaces peuvent en découler ». Confier le triage quotidien aux développeurs leur permet d’instaurer des pratiques de codage sécurisé et libère les professionnels de la sécurité, qui peuvent alors « laisser aux équipes de développement le temps d’enquêter, de mettre en œuvre une correction appropriée et de la déployer réellement » (Milner).

Security workflow collaboration: How security teams provide aircover for developers

Des équipes de développement autonomes

Pour constituer des équipes de développement autonomes et leur donner les moyens d’agir, il est important que les responsables « écoutent les objectifs de l’équipe et l’aident à résoudre le problème par elle-même » (Prince). Les dirigeants, les managers et les professionnels de la sécurité sont là pour aider les équipes de développement à avancer, et non pour leur donner systématiquement la réponse. En laissant les développeurs choisir les outils adaptés à leurs besoins et en leur donnant l’autorité nécessaire pour guider leurs équipes, vous créez une culture de la responsabilisation qui aidera l’organisation à rester productive et sécurisée pendant des années.

De nombreux outils du marché prétendent placer les besoins des développeurs au premier plan, mais aucun ne le fait aussi bien que Snyk. Que vous souhaitiez sécuriser votre code applicatif en temps réel, rechercher des vulnérabilités dans vos dépendances open source et vos images de conteneurs, ou détecter et corriger des erreurs de configuration dans le cloud, Snyk est là pour vous. Nos renseignements de sécurité de pointe vous aideront à développer rapidement tout en restant protégé. Inscrivez-vous et sécurisez gratuitement vos projets dès aujourd’hui.

Lancez-vous dans les compétitions Capture The Flag

Apprenez à résoudre des défis Capture The Flag en regardant à la demande notre atelier virtuel d’initiation.