Quel management et quelle vision porter pour que le DevOps fonctionne
Presque toutes les organisations dotées d’un département IT ont essayé d’intégrer une variante du DevOps dans leur flux de livraison de logiciels.
Lorsqu’il est bien exécuté, le DevOps s’avère puissant et donne des résultats très visibles. L’automatisation des tests et de l’assurance qualité, par exemple, peut générer un retour sur investissement de 250 à 300 % affirme Chris DeGonia, directeur de l’assurance qualité chez International SOS. Pourquoi ? Parce qu’il permet d’automatiser le flux, à travers les processus répétables.
Alors que l’automatisation permet la prolifération des DevOps, il faut des personnes ayant les compétences et les mentalités adéquates pour faire bouger les choses, souligne Chris DeGonia.
“Une bonne compréhension du rôle du cloud”
L’état d’esprit est important, car “en plus de maitriser le savoir-faire en matière de tests de logiciels et de fonctionnalités d’applications, les ingénieurs de tests sont maintenant tenus d’accroître continuellement leur base de connaissances sur les dernières tendances et outils. L’implémentation du DevOps pousse les ingénieurs de test à apprendre de plus en plus sur les nouvelles technologies.“
Les compétences clés requises pour assurer le succès du DevOps comprennent “les connaissances sur la partie réseau, les scripts, la capacité de travailler avec des outils d’intégration continue et de livraison continue tels que Jenkins, les outils de test de performance, et aussi une bonne compréhension des conteneurs” explique de son côté dit Kalyan Rao Konda, de Cigniti.
“Les ingénieurs de test devraient également avoir une bonne compréhension du rôle du cloud et de la façon dont les services cloud sont utilisés dans le développement et l’hébergement des produits ou des applications”.
La parabole de l’oiseau sur la branche
Avoir un état d’esprit DevOps est essentiel poursuit Kaylan. “Il est nécessaire de promouvoir la collaboration au sein des équipes et entre elles pour assurer une mise en œuvre correcte du DevOps. Les activités de test sont étroitement intégrées dans le cycle de développement logiciel d’un écosystème DevOps. Cela exige que plusieurs équipes travaillent en étroite collaboration les unes avec les autres, côte à côte, au jour le jour, afin de respecter les délais de livraison considérablement raccourcis.”
Kaylan souligne l’importance de l’apprentissage constant par une analogie : “Si vous êtes un oiseau debout sur une branche, je ne pense pas que vous devriez mettre beaucoup de confiance sur la branche, mais vous devriez avoir plus confiance dans vos ailes. Si la branche casse, l’oiseau devrait encore pouvoir s’envoler. De même, les professionnels du test logiciels doivent s’assurer qu’ils continuent d’améliorer leurs compétences, pour continuer à être pertinent face aux évolutions de l’industrie.”
De même, une mentalité DevOps est quelque chose qui peut aider une organisation à continuer à fonctionner quelle que soit la technologie ou les changements de business model qui s’y produisent. Six principes clés définissent l’état d’esprit du DevOps, tels qu’identifiés par la DevOps Agile Skills Association :
1. Etre au service du client
“Les organisations DevOps ont besoin d’avoir le courage d’agir en tant que startups en mode lean, avec de l’innovation continuelle, et une capacité à pivoter lorsqu’une stratégie ne fonctionne pas (ou ne fonctionne plus) et un investissement investissent constant dans des produits et services qui feront le bonheur des clients”.
2. Créer en pensant à la fin de l’histoire
Les organisations IT “doivent agir comme des sociétés qui fabriquent des produits. Elles doivent se concentrer explicitement sur la construction de produits fonctionnels vendus à de vrais clients, et tous les employés doivent partager l’état d’esprit technique nécessaire pour concevoir et réaliser ces produits”.
3. Encourager la responsabilité de bout en bout
“Là où les organisations traditionnelles développent des solutions informatiques et les confient ensuite aux opérations pour déployer et maintenir ces solutions, dans un environnement DevOps, les équipes sont organisées verticalement de telle sorte qu’elles sont entièrement responsables, du concept à la fin de vie du produit”.
4. Promouvoir des équipes autonomes interfonctionnelles
Les équipes DevOps “doivent être entièrement indépendantes tout au long du cycle de vie”, et même “devenir un foyer de développement et de croissance”.
5. S’améliorer continuellement
“Minimiser le gaspillage, optimiser la rapidité, les coûts et la facilité de livraison, et améliorer continuellement les produits/services offerts”.
6. Automatiser tout ce que vous pouvez
“Pensez à l’automatisation non seulement du processus de développement logiciel (livraison continue, y compris l’intégration continue et le déploiement continu), mais aussi de l’ensemble de la couche d’infrastructure en construisant des plates-formes cloud conteneurisées de nouvelle génération qui permettent à l’infrastructure d’être versionnée et traitée comme du code”.
Bref, le DevOps est un truc puissant. Il s’agit d’augmenter la vitesse de livraison des logiciels à destination des utilisateurs, d’intégrer et de livrer continuellement ces logiciels, d’automatiser le flux et, plus important encore, d’inculquer un esprit de collaboration à quiconque touche le logiciel à un moment donné de son cycle de vie.
Source : “ZDNet.com”