Le modèle CALMS (initialement CAMS) agit comme cadre de mise en œuvre du DevOps en donnant la possibilité aux entreprises d’évaluer leur niveau de maturité dans la démarche et de tracer le chemin jusqu’à l’objectif final : livraison continue / déploiement continu (continuous delivery / Continuous deployment).
Dans cet article, nous verrons:
1. Le modèle CALMS pour une approche DevOps réussie
Le modèle CALMS pour une approche DevOps réussie
En permettant aux équipes de se concentrer sur ses valeurs fondamentales, ce modèle d’adoption du DevOps permet d’implémenter la démarche de manière efficace et avec succès. On parle ici de membres de l’équipe DevOps, des processus qui seront mis en place et des outils qui seront utilisés. Ce modèle donne ainsi une vue d’ensemble qui permet de ne pas se limiter qu’aux aspects d’automatisation, ce qui pourrait conduire à l’échec.
Pour cela, le modèle CAMS original sensibilise sur quatre aspects : Culture, Automation (Automatisation), Measurement (Mesure) et Sharing (Partage). Le modèle CALMS, variante élaborée par la suite, intègre un autre aspect : L pour Lean. Nous nous intéresserons ici principalement à cette dernière variante, de plus en plus utilisée car l’amélioration continue, apportée par le Lean, prend toute sa place dans le DevOps.
Culture, la base du DevOps et de CALMS :
La Culture est la base du DevOps. Sans elle, tout projet DevOps est voué à l’échec.
Ici, il ne s’agit pas d’optimiser l’organisation déjà existante, ni de ne limiter le DevOps à l’Agilité des équipes. Il faut que l’organisation change. Il faut défaire pour mieux refaire.
Casser les silos existants et ce fameux mur de la confusion entre les équipes Devs et Ops restent les seuls moyens de fluidifier et améliorer les processus. Les équipes Dev et Ops doivent partager, coopérer autour d’un objectif commun : apporter au client un produit à haute valeur ajoutée.
Le respect est également un maître mot dans la culture DevOps.
Automation :
L’automatisation est au centre du DevOps. Cependant, à tort, on limite le DevOps à cet aspect. Pourtant, l’automatisation des processus ne représente que 20 à 25% du DevOps.
Sont automatisées les tâches répétitives : exécution des tests (tests fonctionnels et non fonctionnels), déploiement, provisionning / deprovisionning d’infrastructure, configuration, etc.
L’automatisation permet d’éviter les erreurs (notamment humaines) et les failles, d’améliorer la productivité et les performances et de fluidifier la livraison du produit au client.
Lean IT, fait évoluer le modèle CAMS:
La maximisation de la valeur client et la minimisation des gaspillages sont ici adapté à l’IT et au DevOps plus spécifiquement.
La pensée Lean invite les équipes DevOps à identifier les tâches qui créent de la valeur durant le cycle et optimiser les autres tâches. En développement par exemple, les tâches créant de la valeur sont le codage d’une fonctionnalité et la livraison de cette fonctionnalité au client. Les autres tâches (test, test pré-prod, contrôle du code, etc…), quoique très importantes, n’apportent pas de valeur directe au client. Elles devraient être optimisées et être améliorées (ex : réduction du temps associé à ces tâches).
Une variante du Lean est le Lean Software Development qui a 7 principes fondateurs
- Eliminer les gaspillages (retard de livraison, fonctionnalités non utilisées, les bugs, etc.)
- Favoriser l’apprentissage (expérimentation, créativité)
- Décider le plus tard possible (au temps opportun en tenant compte de l’expérience et des informations collectées)
- Livrer rapidement
- Responsabiliser l’équipe (pour qu’elle soit engagée et obtiennent de meilleures performances)
- Construire un produit de qualité
- Optimiser le système dans son ensemble
Lire aussi | La supervision du DevOps : en route vers l’amélioration continue
Measurement
Sans la capacité à obtenir des informations sur l’atteinte des objectifs, il est difficile d’évaluer les performances et de mettre en place les plans d’action pour s’améliorer.
Les indicateurs de performances à suivre dans le cadre du DevOps sont de différentes natures et permettent d’avoir une vue d’ensemble sur les performances de la démarche. On évoque notamment la satisfaction client, la productivité, la qualité ou encore la satisfaction collaborateur.
Choisir les bonnes métriques à monitorer est important. Il faut s’assurer qu’elles soient en lien avec les objectifs, techniques mais également métier. Toute l’équipe doit adhérer et suivre ces KPIs.
Sharing
Une approche DevOps réussie nécessite de la transparence et du partage. On partage les connaissances, les remarques, les opinions, les réussites mais aussi les difficultés et les échecs. Et cela sans crainte de reproches ultérieurs.
Pour que ce soit possible, il est nécessaire que les membres de l’équipe soient en confiance et que le partage d’information soit encouragé par la culture existante.
Utiliser CALMS
On remarque donc que ces cinq aspects se font échos et on peut comprendre assez facilement qu’il est difficile de penser à une de ces valeurs sans faire appel aux autres. C’est pourquoi le cadre proposé par CALMS doit être pris dans son ensemble pour amener les entreprises vers la mise en place du DevOps.
En évaluant sa situation à un instant T au regard des bonnes pratiques DevOps, on arrive à élaborer un chemin qui amènera les équipes étape par étape vers une démarche réussie.
La force du CALMS vient dans sa capacité à guider sans limiter. Il s’agit de garder à l’esprit ces cinq aspects fondamentaux et de constamment les cultiver et les renforcer. Pourtant, les détails de l’implémentation du DevOps au travers du CALMS restent propre à chaque entreprise, laissant ici la possibilité de personnaliser afin d’adhérer au mieux particularités de celle-ci : culture d’entreprise, objectifs métier, etc.
Evaluez dès maintenant votre maturité au DevOps grâce à ce rapide questionnaire en ligne. Il vous aidera à comprendre vos forces et vos faiblesses actuelles, pour mieux vous aider à franchir les prochaines étapes de votre parcours DevOps.