Les sept erreurs les plus courantes lors du passage au CI/CD

Les sept erreurs les plus courantes lors du passage au CI/CD
Si votre entreprise vient tout juste d’introduire des outils DevOps ou CI/CD, il peut ĂȘtre utile que vous vous familiarisiez avec les erreurs les plus courantes afin de ne pas les rĂ©pĂ©ter et de ne pas empiĂ©ter sur le rĂąteau de quelqu’un d’autre. 

Équipe Solutions Cloud Mail.ru traduit l'article Évitez ces piùges courants lors de la transition vers CI/CD par Jasmine Chokshi avec des ajouts.

Manque de préparation à changer de culture et de processus

Si vous regardez le diagramme cyclique DevOps, il est clair que dans les pratiques DevOps, les tests sont une activité continue, un élément fondamental de chaque déploiement.

Les sept erreurs les plus courantes lors du passage au CI/CD
Graphique du cycle infini DevOps

Les tests et l'assurance qualité pendant le développement et la livraison sont une partie essentielle de tout ce que font les développeurs. Cela nécessite un changement de mentalité pour intégrer les tests dans chaque tùche.

Les tests font dĂ©sormais partie du travail quotidien de chaque membre de l’équipe. La transition vers des tests constants n’est pas facile, vous devez vous y prĂ©parer.

Manque de retour

L'efficacitĂ© du DevOps dĂ©pend d'un feedback constant. L’amĂ©lioration continue est impossible s’il n’y a pas de place pour la collaboration et la communication.

Les entreprises qui n'organisent pas de rĂ©unions rĂ©trospectives ont du mal Ă  mettre en Ɠuvre une culture de feedback continu en CI/CD. Des rĂ©unions rĂ©trospectives ont lieu Ă  la fin de chaque itĂ©ration, au cours desquelles les membres de l'Ă©quipe discutent de ce qui s'est bien passĂ© et de ce qui s'est mal passĂ©. Les rĂ©unions rĂ©trospectives sont le fondement de Scrum/Agile, mais elles sont Ă©galement nĂ©cessaires pour DevOps. 

En effet, les rĂ©unions rĂ©trospectives inculquent l'habitude d'Ă©changer des commentaires et des opinions. L’un des points les plus importants au dĂ©part est d’organiser des rĂ©tro-rĂ©unions rĂ©currentes afin qu’elles deviennent comprĂ©hensibles et familiĂšres Ă  toute l’équipe.

Lorsqu'il s'agit de qualité logicielle, tous les membres de l'équipe sont responsables de sa maintenance. Par exemple, les développeurs peuvent écrire des tests unitaires et également écrire du code en gardant à l'esprit la testabilité, contribuant ainsi à réduire les risques dÚs le départ.

Une façon simple de refléter le changement dans la façon de penser les tests consiste à appeler les testeurs non pas QA, mais testeur de logiciels ou ingénieur qualité. Ce changement peut paraßtre trop simple voire stupide. Mais qualifier quelqu'un de « responsable de l'assurance qualité des logiciels » donne une fausse idée de qui est responsable de la qualité du produit. Dans les pratiques Agile, CI/CD et DevOps, chacun est responsable de la qualité des logiciels.

Un autre point important est de comprendre ce que la qualitĂ© signifie pour l’ensemble de l’équipe et chacun de ses membres, l’organisation et les parties prenantes.

Incompréhension de l'achÚvement de l'étape

Si la qualitĂ© est un processus continu et gĂ©nĂ©ral, une comprĂ©hension commune de l’achĂšvement des Ă©tapes est nĂ©cessaire. Comment savoir quand une Ă©tape est terminĂ©e ? Que se passe-t-il lorsqu'une Ă©tape est marquĂ©e comme terminĂ©e sur un Trello ou un autre tableau Kanban ?

La DĂ©finition du TerminĂ© (DoD) est un outil puissant dans le contexte de CD DevOps/CI. Cela aide Ă  mieux comprendre les normes de qualitĂ© de ce que l’équipe construit et comment.

L'Ă©quipe de dĂ©veloppement doit dĂ©cider ce que signifie « TerminĂ© Â». Ils doivent s’asseoir et dresser une liste des caractĂ©ristiques qui doivent ĂȘtre remplies Ă  chaque Ă©tape pour qu’elle soit considĂ©rĂ©e comme complĂšte.

Le DoD rend le processus plus transparent et facilite la mise en Ɠuvre de CI/CD s'il est compris par tous les membres de l'Ă©quipe et convenu d'un commun accord.

Manque d'objectifs réalistes et clairement définis

C’est l’un des conseils les plus frĂ©quemment citĂ©s, mais il mĂ©rite d’ĂȘtre rĂ©pĂ©tĂ©. Pour rĂ©ussir toute entreprise majeure, y compris CI/CD ou DevOps, vous devez dĂ©finir des objectifs rĂ©alistes et mesurer les performances par rapport Ă  eux. Qu’essayez-vous de rĂ©aliser avec CI/CD ? Cela permet-il des versions plus rapides et de meilleure qualitĂ© ?

Tout objectif fixĂ© doit non seulement ĂȘtre transparent et rĂ©aliste, mais Ă©galement ĂȘtre cohĂ©rent avec les activitĂ©s actuelles de l'entreprise. Par exemple, Ă  quelle frĂ©quence vos clients ont-ils besoin de nouveaux correctifs ou versions ? Il n’est pas nĂ©cessaire de surcharger les processus et de publier plus rapidement s’il n’y a aucun avantage supplĂ©mentaire pour les utilisateurs.

De plus, vous n'avez pas toujours besoin d'implémenter à la fois CD et CI. Par exemple, les entreprises hautement réglementées telles que les banques et les cliniques médicales ne peuvent travailler qu'avec CI.

CI constitue un bon point de dĂ©part pour toute entreprise mettant en Ɠuvre DevOps. Lorsqu’elle est mise en Ɠuvre, les approches des entreprises en matiĂšre de livraison de logiciels changent considĂ©rablement. Une fois l’IC maĂźtrisĂ©, vous pouvez penser Ă  amĂ©liorer l’ensemble du processus, Ă  augmenter la vitesse de dĂ©ploiement et Ă  d’autres changements.

Pour de nombreuses organisations, la CI seule suffit, et la CD ne doit ĂȘtre mise en Ɠuvre que si elle ajoute de la valeur.

Manque de tableaux de bord et de mesures appropriés

Une fois que vous avez défini vos objectifs, l'équipe de développement peut créer un tableau de bord pour mesurer les KPI. Avant son développement, il convient d'évaluer les paramÚtres qui seront surveillés.

Différents rapports et applications sont utiles pour différents membres de l'équipe. Le Scrum Master s'intéresse davantage au statut et à la portée. Tandis que la haute direction peut s'intéresser au taux d'épuisement professionnel des spécialistes.

Certaines équipes utilisent également des tableaux de bord avec des indicateurs rouges, jaunes et verts pour évaluer l'état du CI/CD afin de comprendre si elles font tout correctement ou s'il y a une erreur. Le rouge signifie que vous devez faire attention à ce qui se passe.

Cependant, si les tableaux de bord ne sont pas standardisĂ©s, ils peuvent ĂȘtre trompeurs. Analysez les donnĂ©es dont tout le monde a besoin, puis crĂ©ez une description standardisĂ©e de ce que cela signifie. DĂ©couvrez ce qui a le plus de sens pour les parties prenantes : des graphiques, du texte ou des chiffres.

Pas de tests manuels

L'automatisation des tests jette les bases d'un bon pipeline CI/CD. Mais les tests automatisĂ©s Ă  toutes les Ă©tapes ne signifient pas que vous ne devez pas effectuer de tests manuels. 

Pour créer un pipeline CI/CD efficace, vous avez également besoin de tests manuels. Il y aura toujours certains aspects des tests qui nécessiteront une analyse humaine.

Cela vaut la peine d'envisager d'intégrer des efforts de tests manuels dans votre pipeline. Une fois le test manuel de certains cas de test terminé, vous pouvez passer à la phase de déploiement.

N'essayez pas d'améliorer les tests

Un pipeline CI/CD efficace nécessite l'accÚs aux bons outils, qu'il s'agisse de gestion ou d'intégration de tests et de surveillance continue.

CrĂ©er une culture forte et axĂ©e sur la qualitĂ© vise Ă  mise en place de tests, en surveillant les interactions avec les clients aprĂšs le dĂ©ploiement et en suivant les amĂ©liorations. 

Voici quelques conseils pratiques que vous pouvez facilement mettre en Ɠuvre :

  1. Assurez-vous que vos tests sont faciles à écrire et suffisamment flexibles pour ne pas se briser lorsque vous refactorisez le code.
  2. Les Ă©quipes de dĂ©veloppement doivent ĂȘtre incluses dans le processus de test - consultez une liste des problĂšmes et des demandes des utilisateurs qu'il est important de tester pendant les pipelines CI.
  3. Vous ne disposez peut-ĂȘtre pas d'une couverture complĂšte des tests, mais assurez-vous toujours que les flux importants pour l'UX et l'expĂ©rience client sont testĂ©s.

Dernier point mais non le moindre

La transition vers le CI/CD s'effectue gĂ©nĂ©ralement de bas en haut, mais en fin de compte, il s'agit d'une transformation qui nĂ©cessite l'adhĂ©sion des dirigeants, du temps et des ressources de la part de l'entreprise. AprĂšs tout, le CI/CD est un ensemble de compĂ©tences, de processus, d’outils et de restructuration culturelle ; de tels changements ne peuvent ĂȘtre mis en Ɠuvre que systĂ©matiquement.

Quoi d'autre Ă  lire sur le sujet:

  1. Comment la dette technique tue vos projets.
  2. Comment améliorer le DevOps.
  3. Neuf principales tendances DevOps pour 2020.

Source: habr.com

Achetez un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Achetez un hĂ©bergement web fiable avec protection DDoS, serveurs VPS et VDS | ProHoster