Comment assurer une mise en œuvre réussie de l'approche DevOps ?

Comment assurer une mise en œuvre réussie de l'approche DevOps ?

De l'importance de mesurer le succès du DevOps.

De l'importance de mesurer le succès du DevOps.

Aujourd'hui, l'approche DevOps est considérée comme une composante essentielle du processus informatique de livraison. En termes simples, DevOps permet de livrer plus rapidement. Les fonctionnalités parviennent plus rapidement aux clients, une plus grande valeur commerciale est générée et, au final, les revenus augmentent. Pour réussir, une bonne communication et un alignement sur des objectifs partagés et mesurables sont essentiels.

L'approche DevOps sans mesure ou sans mesurer les bonnes choses est vouée à l'échec. DevOps, c'est l'apprentissage et l'amélioration continus, et un effort constant pour découvrir et résoudre les problèmes tout au long du cycle de vie. Le suivi est donc d'une importance vitale - à la fois en termes de produit délivré, d'engagement de l'équipe, mais aussi pour assurer la supervision des processus de développement. Les bonnes mesures peuvent garantir que les applications atteignent leur potentiel maximal.

La question "comment allez-vous mesurer cela ?" est au cœur de toute bonne culture d'ingénierie. Les indicateurs clés de performance (ICP) suivants méritent d'être suivis à mesure que vous vous efforcez d'améliorer à la fois l'efficacité et l'expérience utilisateur.

Les 7 principaux indicateurs clés de performance

Les indicateurs clés de performance sont compliqués à définir par le fait que cette méthodologie n'a pas de cadre formel, et que la définition du progrès peut varier d'une organisation à l'autre. Cependant, il existe des mesures et des indicateurs clés de performance communs qui devraient permettre de maintenir un projet DevOps sur la bonne voie.

Idéalement, les indicateurs DevOps et les KPI doivent présenter des informations pertinentes de manière claire et facilement compréhensible. Ensemble, ils doivent fournir une vue d'ensemble du processus de déploiement et de changement et indiquer les améliorations à apporter.

Les KPI représentent un type de mesure ou de métrique qui indique si une équipe ou une initiative est réussie. Les indicateurs clés de performance doivent généralement s'aligner sur un objectif spécifique, être mesurables et s'inscrire dans un délai précis.

Nous examinerons ici sept des indicateurs clés de performance les plus importants, puis nous verrons comment les intégrer aux rapports et aux visualisations.

1. Succès commercial

Si vous ne deviez choisir qu'un seul indicateur de performance clé pour votre approche DevOps, cela devrait être sans aucun doute le succès commercial. La priorité absolue de toute organisation est de satisfaire ses clients en livrant rapidement et en continu des logiciels de qualité. La satisfaction du client est un exemple de mesure de la livraison de logiciels qui est liée aux objectifs commerciaux.

Par exemple, un logiciel peut être utile à l'entreprise lorsqu'il contribue à développer la clientèle, à augmenter le chiffre d'affaires, à réduire les coûts du service clientèle ou à atteindre d'autres objectifs.

En fonction de votre secteur d'activité, de la maturité de votre entreprise, de votre part de marché et d'autres variables, vous pourriez piloter les KPI suivants :

  • le revenu moyen par utilisateur,
  • le taux de conversion,
  • les coûts d'acquisition de clients,
  • le taux de résiliation des clients,
  • les revenus récurrents ou additionnels,
  • les renouvellements et/ou les abonnements.

S'entendre sur les objectifs commerciaux de votre logiciel permet à tous les membres de l'équipe DevOps de faire le lien entre ce qu'ils font et un ensemble mesurable d'indicateurs de réussite. Cette approche fondée sur les données améliore la hiérarchisation et la prise de décision concernant le choix des fonctionnalités à inclure dans votre logiciel, la détermination de l'allocation des ressources et la taille de votre équipe DevOps.

2. Expérience client

L'une des principales caractéristiques et l'un des principaux avantages de toute approche Agile ou DevOps est le focus mis sur le client. Afin de faciliter cette transition culturelle vers une focalisation sur la valeur client, il est crucial de créer des rôles de propriétaires de produits ou de services dans l'organisation et de leur donner les moyens de mener à bien leur mission. Cela signifie à la fois donner à ces nouveaux rôles des droits et des responsabilités, et de mesurer leurs performances en fonction des indicateurs clés de satisfaction du client.

En effet, vous ne pouvez pas savoir si votre expérience client est défectueuse si vous ne mesurez pas et ne suivez pas les bons indicateurs clés de performance.

Les indicateurs clés de performance de l'expérience client peuvent inclure :

  • le temps passé dans l'application,
  • la satisfaction du client ou le net promoter score du client (engagement ou niveau de recommandation de vos clients),
  • la fréquence des transactions clés,
  • taux de conversion de vos prospects en clients,
  • les temps de réponse pour les transactions clés,
  • le nombre de visites par utilisateur/par semaine,
  • les taux de croissance des utilisateurs.

3. Fréquence des déploiements

L'objectif principal de DevOps est d'augmenter la vitesse de développement et de déploiement. Par suite, l'une des mesures clés du succès est la fréquence des déploiements.

A mesure que les équipes commencent à adopter l'approche DevOps, la fréquence des déploiements doit augmenter. Si une fréquence élevée se traduit par une augmentation du temps de déploiement ou un taux d'échec plus élevé, il peut être utile de reporter l'augmentation du déploiement jusqu'à ce que les problèmes existants puissent être résolus.

4. Changement du délai d'exécution

Dans une culture DevOps réussie, les nouvelles fonctionnalités, les correctifs, les corrections de bogues et les mesures correctives de sécurité devraient tous pouvoir passer de la création à la livraison avec un délai minimal. Tout changement est lié directement à un ticket ou à un élément de travail identifié de manière unique avec un backlog de travail unifié pour le développement et les opérations. Le système de déploiement (tel qu'un pipeline CI/CD) lit l'identifiant du ticket et, à l'aide de webhooks, il peut automatiquement fermer tout élément de travail qu'il déploie avec succès. Il suffit ensuite de mesurer le temps total écoulé entre le statut "nouveau/ouvert" et "fermé" de tous les éléments de travail. Le délai d'exécution des changements est le temps nécessaire pour passer du code validé au code fonctionnant avec succès en production.

Vous pouvez obtenir cette métrique en capturant l'heure à laquelle chaque révision est initiée, puis en mettant à jour la ligne avec l'heure à laquelle cette même révision exécute avec succès la dernière action du pipeline de déploiement. En comparant ces chiffres, vous obtenez le délai d'exécution des modifications. En faisant la moyenne de ces chiffres sur une période de temps, vous obtenez le délai moyen de mise en production des changements.

5. Volume de défauts et taux de fuite

La principale mesure qui doit nous préoccuper est le nombre de défauts. Cette mesure donne un aperçu de la qualité de vos déploiements de logiciels et de l'efficacité de la couverture des tests par votre équipe d'assurance qualité.

Notez toutefois que l'objectif d'un fonctionnement sans défaut à 100 % pourrait en fait être contre-intuitif.

6. SLA (accord sur le niveau de service)

Pour accroître la transparence, la plupart des entreprises fonctionnent selon des accords de niveau de service. Ceux-ci mettent en évidence les engagements entre les fournisseurs et les clients. Les indicateurs clés de performance (KPI) relatifs à la conformité aux accords de niveau de service (SLA) apportent la responsabilisation nécessaire pour garantir que les SLA ou d'autres attentes soient respectés.

Un accord de niveau de service (SLA) peut être souple, comme un objectif idéalisé, ou à l'inverse, une obligation légale et contractuelle de maintenir un certain niveau de disponibilité sur une période donnée.

7. Performance de l'application

La performance des applications est un élément qui peut être inclus dans le SLA. La recherche de problèmes de performance, d'erreurs obscures et d'autres problèmes potentiels avant, pendant et après le déploiement d'une application sont de bonnes pratiques. Ceci est crucial pour le succès de l'approche DevOps car la performance des paramètres tels que les appels de services web, les requêtes SQL et autres dépendances peuvent changer après le déploiement de l'application.

Les mesures de performance des applications vous permettent de visualiser et d'anticiper ces problèmes, et d'éviter les blocages ultérieurs.

Rapports et visualisation des KPI

Avec une liste affinée d'indicateurs clés de performance, un accord de niveau de service solide et l'infrastructure de surveillance et de collecte en place, vous disposez des données nécessaires pour prouver que l'approche DevOps a tenu ses promesses.

Un des objectifs importants de l'approche DevOps est de rendre le travail "visible".

1. Les tableaux Kanban

La Kanban method can help DevOps teams put some order into their daily work and the lean theory can definitely be leveraged to improve the flow across the DevOps teams.

Les tableaux Kanban constituent un excellent moyen de décomposer un projet apparemment complexe en éléments d'information faciles à digérer. Les logiciels de ticketing tels que Jira intègrent la fonctionnalité Kanban, tandis que des outils tels que Trello ou Asana peuvent être intégrés aux flux de travail existants.

Pour les demandes d'état plus ponctuelles, des outils comme Slack offrent une variété d'intégrations permettant une communication en temps réel via les "ChatOps" et fournissant un engagement d'états interactifs via des bots et des outils de rapport.

Le Kanban combine plusieurs flux en un seul, donne la possibilité de dire non et améliore la communication au sein de l'équipe.

Il s'agit d'un tableau qui divise un projet en certaines catégories telles que les user stories, les tâches à accomplir, les tests, etc. Cela fournit un moyen visuel de comprendre la progression.

2. Solutions pour vos tableaux de bord

Pour les indicateurs clés de performance plus quantifiables, une variété de solutions de tableaux de bord sont disponibles. Des outils comme Datadog, Grafana et Tableau offrent des solutions complètes pour la visualisation d'une grande variété de mesures de performances commerciales et techniques. La plupart de ces solutions disposent d'un certain nombre d'intégrations avec d'autres plateformes SaaS, outils et API.

L'approche DevOps représente une belle opportunité de créer de la valeur pour l'entreprise

L'approche DevOps a le potentiel d'apporter une immense valeur commerciale. Les métriques DevOps sont un moyen efficace de mesurer son efficacité en matière de développement, de déploiement et de production au sein d'une organisation. Cependant, si les indicateurs clés sont utilisés pour mesurer les équipes DevOps performantes, ils doivent également être considérés dans le cadre d'objectifs organisationnels plus larges tels que la création de valeur, le nombre de clients, la qualité du produit et le service client. La clé pour réaliser la valeur de l'approche DevOps est de la rendre mesurable et de la visualiser, afin de s'assurer que toutes les parties prenantes puissent facilement et efficacement voir ce qui la motive au sein de votre organisation.

Jean-François SCHOONHEERE
CEO & co-founder Stroople