Le déploiement de tout logiciel, installation ou amélioration, est motivé par un besoin business. Et plus l’IT répond promptement à ce besoin, plus rapidement le client ou l’utilisateur interne pourra tirer rapidement profit de ce déploiement.
Cette accroche est le point de départ du concept de Continuous delivery, traduit par Livraison en continu. Cet article est une présentation conceptuelle et non technique à l’attention des décideurs et des techniciens cherchant des arguments pour inciter leurs décideurs à entrer dans le XXIème siècle.
Depuis trop longtemps, un déploiement est le bout d’une chaine bien longue d’un projet, en cascades (le fameux waterfalls). Phase après phase, un tel projet s’étale sur plus d’un trimestre. Certaines sociétés sont rythmées sur des livraisons semestrielles voire annuelles.
Aucun besoin d’études de management pour comprendre que quatre mois après le développement, il peut arriver que le codeur ne se souvienne plus de ses intentions, voire qu’il ne soit plus présent. Si un besoin de remettre l’ouvrage sur le métier se fait sentir, il est à prévoir une latence dans l’aménagement.
Nous sentons bien que nous sommes aux antipodes du concept de Continuous delivery dont le paradigme est le prompt profit.
« Until your code is in production making money or doing what it is meant to do, you have simply wasted your time. » – Chris Read
Présentation
Une présentation poussée n’est pas l’objet de cet article. Pour brosser un portrait rapide du Continuous delivery, je dirais que le maitre-mot est l’automatisation. Automatisation des tests et des déploiements. L’idée sous-jacente est de supprimer autant que possible les erreurs humaines, de manipulations ou d’oublis.
Réduction des risques
Les processus automatisés sont répétables à l’envi. La batterie de tests peut donc être lancée autant que nécessaire, et peut s’accroitre, s’étoffer aisément à un moindre coût. Le gain évident est la fiabilité.
Cette facilité de déploiement permet aussi de déployer plus souvent. Pourquoi attendre quand il est si facile de livrer ? Il est donc possible de livrer des changements mineurs, présentant un faible risque. Et en poussant le raisonnement plus loin, les changements majeurs eux sont expurgés de ces mineurs réduisant le risque à leur seule livraison -et non à un grand ensemble.
Le premier gain du Continuous delivery est de minimiser les prises de risques. Qui limite les risques, limite les éventualités de mécontentement.
En terme business, le Continuous delivery évite le mécontentement du client.
Rapidité de réponse au marché
Le Continuous delivery offre une aisance dans les manipulations, les différentes étapes IT d’un projet en sont fortement raccourcies. Au lieu de compter en jours, il faut compter en heure voire minutes. Les phases de recette ne sont plus un délai voire une entrave à un projet.
Les contextes lourds des projets au long cours n’est plus. Dans cette stratégie, nous nous plaçons dans une optique « une idée, une livraison ».
Il faut bien comprendre qu’on se place dans une situation où la livraison d’une amélioration/innovation peut s’effectuer, recette comprise, une ou deux journées après son codage.
Une telle vélocité permet de répondre à un besoin que ce soit un plan marketing, une décision stratégique ou la remontée d’un community manager. Quelque soit le terme de ce besoin, la réponse peut être livrée au client, non pas « dans la fameuse prochaine version », mais dans des temps où il l’attend.
En terme business, le Continuous delivery assouvit la satisfaction du client.
L’intérêt des équipes
Le dernier gain est la satisfaction interne, celle qui n’est que trop rarement prise en compte à mon sens, sous l’argument qu’il est délicat de la quantifier. Je parle ici de l’émulation des équipes, la spirale bénéfique qui les pousse à créer et innover.
Il parait évident que les équipes IT se prendront au jeu de l’amélioration permanente dans un dessein olympique : Citius Altius Fortius (plus vite, plus haut, plus fort). Mais il faut aussi envisager le bénéfice de cette approche pour les équipes du côté business.
Quoi de plus excitant pour une équipe marketing que de voir son concept à disposition des clients dans les délais les plus courts ! Ca motive à toujours plus de créativité.
En réaction aux attentes clients, une refonte graphique est lancée, quand sera-t-elle visible ? De suite ! Cet ancestral logo et cette éternelle palette peuvent être modifiés au gré des campagnes de publicités. Les services de communications peuvent rivaliser d’imagination !
Quand un guichetier remonte une erreur de design d’interface, de constater la modification au plus vite, c’est aussi se sentir écouté, d’être considéré.
L’incidence sur l’accueil des clients, sur le dynamisme perçu, sur l’image d’être un acteur du marché est difficile à évaluer, mais elle est certaine.
En terme business, le Continuous delivery apporte la satisfaction des équipes.
« Le Continuous delivery est un tel bouillonnement d’innovation et d’idées qu’il est perceptible par le client. » – Olivier Locard
Un peu de lecture
Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation – By Jez Humble, David Farley
ISBN-10: 0-321-60191-2 | ISBN-13: 978-0-321-60191-9