Vous affirmez que votre IT est DevOps… Vous venez de commettre une première erreur ! Devinez laquelle, la suite vous y aidera. Nous vous proposons 9 critères pour déterminer si vous êtes DevOps ?
Il y a une marge entre affirmer que votre organisation a une démarche DevOps et être dans la ligne de la méthodologie DevOps. La première erreur dans votre analyse, et la plus répandue, est d'affirmer que votre IT est DvOps ! En effet, une démarche DevOps n'est pas concentrée sur l'IT, mais sur l'amélioration du business. Voyons la suite…
La pratique de DevOps est destinée à l'amélioration et à l'optimisation de bout en bout des flux de nouvelles fonctionnalités qui répondent à la demande de l'entreprise. Pour être DevOps, il ne suffit pas de le déclarer, il faut suivre les principes de base de la méthodologie et adopter des 'best practices' qui sont compatibles Devops. Dans les faits, la plupart des organisations quio se déclarent DevOps en spont encore loin...
Nous vous proposons 9 critères objectifs pour déterminer si vous êtes DevOps :
-
Avez-vous des cycles d'itération fréquents et rapides ?
Pour réduire les risques de goulets d'étranglement, limitez les WIP (work in progress) qui s'engouffrent dans le pipeline. Et déployez ceux qui sont prêts.
-
Le déploiement et la production sont-ils automatisés ?
Le déploiement manuel est lent, et sujet à erreur. Il doit être automatisé. De même que les sauvegardes, rapides et fiables, avec un plan de restauration testé pour réagir rapidement et sereinement au cas où les choses tournent mal, ce qui arrive…
-
Pratiquez-vous l'intégration continue avec tests automatisés à chaque check-in ?
Tout comme le déploiement, l'intégration et les tests manuels sont sources de retards inévitables. Tout évènement impactant le versioning et l'archivage devrait être vérifié par les développeurs et faire l'objet d'une batterie de tests automatisés. Avec alerte sur toute l'équipe en cas d'échec. Le code, mais également les scripts d'infrastructure requis pour le déploiement sont concernés.
-
Quelles ressources consacrez-vous aux tests manuels ?
Il n'y a pas de contradiction avec les précédentes questions ! Certes, idéalement tous les processus de tests manuels devraient être automatisés, mais dans la réalité certaines choses ne peuvent l'être, à l'exemple des tests d'utilisabilité. La règle est qu'ils ne peuvent être que l'exception.
-
Vos équipes travaillent-elles ensemble ?
La communication et la collaboration sont les clés de DevOps. Développeurs, testeurs et ingénieurs doivent travailler ensemble. Pour en obtenir confirmation, assurez vous qu'ils utilisent les mêmes outils…
-
Vos objectifs business couvrent-ils la chaine de valeur de votre entreprise ?
Une collaboration efficace commence par la compréhension des objectifs business et s'accompagne de commentaires sur la faisabilité dans la ligne des besoins de l'entreprise. C'est pourquoi il est indispensable dans les échanges de se concentrer sur la façon dont tout le monde peut contribuer à accélérer le débit de travail dans le pipeline de livraison afin d'atteindre les objectifs business.
-
Payez-vous votre dette technique ?
Lorsque vous coupez les angles d'un carré pour le faire entrer dans un cercle, vous créez une dette technique. Elle n'est certes pas financière, mais elle peut en revanche créer un mauvais code ou une mauvaise pratique qui risque à tout moment de vous retomber dessus. Alors, ne laissez pas trainer vos dettes techniques, au contraire, résolvez le problème au plus tôt.
-
Votre équipe dispose-t-elles d'une autonomie pour gérer les changements ?
La situation sur le terrain nécessite souvent de prendre des décisions rapides, ou mérite d'éviter de passer par des process hiérarchiques longs et inutiles. Les membres de votre équipe DevOps sont les plus à même de prendre une décision qu'ils jugent nécessaire en fonction de la situation. La direction ne dispose pas de toutes les compétences, son rôle doit être de guider l'équipe, de favoriser la discussion et la réflexion, et de poser les questions difficiles.
-
Les mécanismes de rétroaction sont-ils en place ?
Il est essentiel pour DevOps de disposer d'une évaluation continue qui se réfère à des boucles de rétroaction afin d'assurer une amélioration en continu. Encore faut-il disposer des outils – surveillance, monotoring, contrôles, soldes, alertes – et des tableaux de bord qui vous permettent de déterminer avec précision quand et où quelque chose a mal tourné, de résoudre le problème dès que possible, et d'ajouter éventuellement des contrôles pour vous assurer qu'il ne se reproduise pas.
Tout en s'assurant en permanence que vous avancez vers les objectifs business !