Le concept, parfois aussi appelé DevOps 2.0, entend réunir métier, développement et production logiciels autour des mêmes enjeux et des mêmes ressources.

Un très grand nombre d’entreprises, de toutes tailles, ont intégré ces dernières années le concept de DevOps à leur business model. Mais à l’ère de l’agilité, de marchés digitaux de plus en plus concurrentiels et de time-to-market de plus en plus courts, les équipes de développement et d’exploitation doivent aujourd’hui renforcer et accélérer leur collaboration avec les équipes métiers. C’est ce que l’on appelle le DevOps 2.0, ou BizDevOps, concept qui utilise les pratiques du DevOps pour aligner le développement applicatif avec les priorités des métiers. Plus qu’un simple buzzword, le BizDevOps, en intégrant intimement le contexte et les objectifs business au cœur du pipeline de livraison, permet d’améliorer la satisfaction des utilisateurs finaux, de réduire drastiquement le temps entre les releases et d’accroître les cycles d’innovation.

BizDevOps : connecter le développement et la production logiciels avec le métier

L’approche DevOps consiste à apporter des réponses plus rapides et de meilleure qualité aux besoins métiers, en s’appuyant sur une automatisation des processus et sur l’exploitation accrue de feedbacks, depuis le développement (Dev) jusqu’à la production (Ops). Mais un risque demeure pour l’entreprise : que se passe-t-il si les utilisateurs finaux n’utilisent pas l’application ou le service livré ? En termes de coûts, de bénéfices, d’image de marque ?

Le concept de BizDevOps vise justement à connecter les données clés relatives aux clients finaux avec les feedbacks de développement. L’objectif : améliorer la satisfaction des utilisateurs en intégrant, très tôt dans le pipeline de livraison des applications, des indicateurs liés à l’usage du service délivré et à la qualité de leur expérience, tout en développant les opportunités d’innovation, de croissance et d’exposition d’une marque au-delà des marchés locaux.

Prenons l’exemple de Facebook : chaque fois qu’une nouvelle fonctionnalité est mise en production, les équipes déterminent un critère de succès. Si une fonctionnalité n’est pas utilisée, par exemple, par au moins 10% des utilisateurs de la plateforme dans un délai donné, elle est considérée comme un échec et est tout simplement supprimée – ainsi que ses coûts associés.

Une complexité accrue par le besoin de suivre le rythme du métier

Le DevOps est piloté par les besoins et le rythme du métier. Or, l’urgence tend à opposer rapidité et qualité. Le rapport « 2017 State of DevOps » souligne ainsi que lorsque les équipes de développement s’attachent à suivre les changements de rythme imposés par le métier, c’est souvent au dépend de la qualité.

D’autre part, le principe de conteneurs – extrêmement prisé des approches DevOps pour sa souplesse et sa scalabilité – implique souvent que de petites équipes délivrent de petits services. Chaque équipe ayant sa propre technologie, ses propres cycles de développement et son propre rythme de releases. Prenons l’exemple d’un client « grand voyageur » : il réserve son billet d’avion, procède à l’enregistrement, patiente dans le salon privé de la compagnie puis embarque dans l’appareil. D’un point de vue technique, chaque étape de son voyage constitue une interaction digitale qui sollicite un ou plusieurs « petits services ».  Mais que se passe-t-il si notre voyageur rencontre un problème au moment de l’enregistrement ? Comment et où identifier l’origine de l’incident ?

Le nombre et la nature des interactions dans cette chaîne de microservices complexifient considérablement l’analyse des problèmes sur l’ensemble du pipeline de livraison applicatif. Ce qui rend d’autant plus nécessaire de garantir la capacité de l’ensemble des canaux et des équipes à fonctionner ensemble, de manière optimale, afin d’optimiser la qualité de l’expérience digitale offerte au client.

Remettre l’humain au cœur de sa stratégie de monitoring

Il existe de nombreux outils de monitoring qui prétendent pouvoir identifier et signaler des incidents, des exceptions et des ralentissements. Mais ils passent à côté d’un facteur essentiel : l’humain, le client qui est impacté. C’est ce facteur qui détermine quels problèmes doivent être adressés en priorité.

D’un point de vue BizDevOps, le monitoring doit ainsi s’apparenter à un feedback continu sur l’ensemble du pipeline de livraison, avec la capacité d’identifier et de suivre chaque utilisateur, chaque application et chaque interaction.

Cela pose toutefois trois défis majeurs :

– D’abord, un défi technique, compte tenu du nombre de technologies différentes qui cohabitent potentiellement au sein d’un même environnement. L’enjeu ici est donc d’obtenir une visibilité approfondie sur l’ensemble du pipeline de livraison applicatif, quelles que soient les technologies utilisées.

– Ensuite, un défi relatif à la qualité du code, qui peut avoir un impact sur l’ensemble de la chaîne d’outils DevOps en termes de performance, de scalabilité ou d’architecture. Pouvoir mesurer la qualité du code et en identifier les facteurs d’erreurs et d’incidents permet donc de développer des systèmes et des pipelines plus performants, de bout-en-bout.

– Enfin, un défi relatif au partage de datas, pour permettre aux équipes de développement, d’exploitation et aux métiers de travailler ensemble sur un seul et même ensemble de données. Cela nécessite d’avoir une visibilité sur tous les services, tous les canaux et tous les devices utilisés, et de pouvoir analyser précisément le comportement utilisateur, pour générer de nouvelles connaissances et fournir aux équipes techniques les informations nécessaires à la résolution des problèmes prioritaires.

Ce n’est qu’en adressant l’ensemble de ces défis, et en connectant intimement le développement et l’exploitation avec la réalité des expériences utilisateurs, que les entreprises pourront tirer pleinement profit de l’approche BizDevOps, et bénéficier d’un avantage compétitif majeur sur leur marché, grâce à une réponse proactive et de qualité aux besoins de leurs clients.

_________
Antoine Ferte est Sales Engineer Director chez Dynatrace