Par Nick Blamey | 27 Novembre 2018

Quality Gate

Quels enjeux pour les développeurs et pourquoi DevOps est une nécessité – un article de Nick Blamey, directeur des opérations en Europe du Nord chez ARCAD.

L’enjeu business :  La qualité continue des applications dépend de la mise en œuvre de politiques qui imposent une validation immédiate.  Mais les DSI responsables des divers actifs applicatifs manquent de lignes directrices sur la façon dont ils doivent mesurer la qualité du code, ainsi que des ressources à allouer à cette activité.

Qualité Continue (CQ) et DevOps

Les défaillances logicielles augmentent considérablement le coût du développement d’applications. Trouver et corriger les erreurs de production est souvent 100 fois plus coûteux que de les trouver et de les corriger pendant les phases de conception et de codage.  Il est essentiel que les équipes intègrent la qualité à toutes les phases du développement logiciel et automatisent autant que possible la vérification de la qualité pour déceler les défauts tôt dans le processus et éviter les efforts répétés.  C’est ce que l’on entend par « Qualité Continue » ou CQ, qui constitue aujourd’hui une garantie essentielle – ou une garantie de qualité – dans les cycles de livraison rapides des workflows DevOps et CI/CD.

Quelles sont les techniques disponibles pour la Qualité Continue ?

L’analyse statique du code est la méthode la plus simple et la plus efficace pour prévenir les défauts et sécuriser le code tout en accélérant l’exécution des applications.

L’automatisation de l’analyse du code dès la phase de construction ou d’intégration continue permet à votre équipe de détecter et de corriger les défauts systémiques lorsque le coût de remédiation est à son plus bas. Après l’investissement initial dans la configuration des règles et des métriques, les gains d’efficacité deviennent exponentiels tout au long du cycle de développement.

Pour atteindre une qualité continue, les organisations peuvent employer un certain nombre de stratégies :

  • Analyse statique du code source pour identifier les points chauds de complexité, les déviations des normes, les failles de sécurité, etc.
  • Examens par les pairs pour vérifier le code afin de s’assurer qu’il répond à des critères précis
  • Tests unitaires pour exécuter et examiner les modules individuels, ou unités d’une application, pour en vérifie