Jim HighsmithSuite à un tweet de Claude Aubry (merci !), j'ai traduit cet article de Jim Highsmith : "Continuous Delivery and Agility". Il a le mérite de poser clairement les enjeux en termes de maturité des équipes à tous les stades de l'organisation (développement, opérations, management, ...).

Livrer en continu est l'une des toutes dernières modes dans le développement logiciel (Continuous Delivery par Jez Humble et David Farley). L'objectif des pratiques et des principes de livraison continue est d'encourager "une plus grande collaboration entre tous les acteurs impliqués dans la livraison du logiciel, ceci afin de livrer un logiciel à valeur ajoutée plus rapidement et de façon plus fiable (Humble & Farley)". Livrer en continu est une extension des pratiques agiles qui livrent de la valeur aux clients très tôt et souvent. Comme le montre le schéma, cela associe un développement continu (développement itératif des fonctionnalités), une intégration continue (caractérisée par des tests automatisés globaux) et un déploiement continu (la capacité à déployer de nouvelles versions en production souvent)[1].

Stratégie de livraison continue

À un niveau plus fin, Jez (via email) rappelle qu'il y a trois volets à la livraison en continu : le premier a trait à l'automatisation de la construction[2] du logiciel, des tests, du déploiement, de la migrations des données en base et de l'infrastructure; le deuxième concerne des pratiques telles que l'intégration continue, une bonne gestion de configuration et les tests; le troisième concerne les gens, en clair que tout le monde soit ensemble impliqué dans les tâches de livraison au travers de l'ensemble du cycle de vie du logiciel.

Il y a deux problématiques qui sont liées au fait d'obtenir de la valeur métier à partir d'une démarche de livraison continue : l'impact de cette stratégie et l'agilité (ou adaptabilité). Tout d'abord, lorsque l'entreprise progresse vers la droite de l'axe horizontal du schéma, il devient vite nécessaire de faire des investissements supplémentaires et de baser l'organisation sur une démarche collaborative. Par conséquent, d'un point de vue valeur métier, les entreprises doivent évaluer l'impact stratégique de cette marge de progression. Bien que la livraison continue puisse réduire le coût ainsi que le risque (grâce à une plus grande automatisation), les avantages les plus importants sont obtenus par la livraison fréquente de nouvelles fonctionnalités logicielles. La question clé devient alors : "Comment pouvons-nous bénéficier de la livraison de nouvelles fonctionnalités mensuellement, hebdomadairement ou même quotidiennement ?". En outre : "Comment notre organisation et nos processus doivent-ils changer?".

Dans les grandes entreprises, les applications informatiques concernent une grande variété de secteurs d'activité. Pour certaines applications, les avantages de la livraison continue peuvent être l'augmentation des recettes, tandis que pour d'autres cela peut être la réduction des coûts et des risques. En réfléchissant sur la mise en œuvre de la livraison continue à travers un portefeuille d'applications, les entreprises devraient commencer par celles qui ont le plus grand impact stratégique, celles disposant d'intéressantes perspectives d'accroissement des recettes.

La deuxième problématique, lorsqu'on a les avantages de la livraison continue, c'est que l'organisation devient agile, autrement dit devient de plus en plus adaptable. De nombreuses entreprises semblent avoir du mal à démarrer avec Agile 101[3], l'approche agile fondée sur des règles (faites ceci, ne faites pas ça), qui est une première étape nécessaire en vue de devenir agile, mais qui ne reste qu'une première étape. Pour profiter de la réactivité rapide d'un environnement basé sur la livraison continue, l'ensemble de l'organisation, à la fois les équipes qui livrent et le management - doit être mûre pour effectuer les changements de processus nécessaires pour répondre rapidement, pour s'engager dans une démarche collaborative absolument nécessaire entre le développement et les opérations[4] et pour adopter un état d'esprit basé sur l'exploration et l'adaptation.

La livraison continue peut être la prochaine grande étape dans le fait de livrer rapidement de la valeur métier stratégique pour les clients, à moindre risque et peut être à moindre coût. Toutefois, cela ne se fera pas sans que le leadership[5] comprenne ses impacts potentiels au niveau stratégique et que l'organisation s'adapte nécessairement pour le mettre en œuvre.


Kanban signRetrouvez l'intégralité de mes traductions sur le wiki Traductions Agiles.

Notes

[1] Note : la livraison continue couvre le cycle de vie entier et peut ne pas inclure le déploiement continu qui reste un choix d'organisation du client. Ceci est illustré dans le schéma par la flèche "livraison continue" qui ne va pas complétement jusqu'au bout du "déploiement continu".

[2] NdT : Build

[3] NdT : Jim Highsmith a baptisé “Agile 101”, l'approche qui consiste pour une organisation à apprendre les fondamentaux des pratiques et techniques Agile et à créer l'environnement propice à l'Agilité pour une équipe. L'idée est d'atteindre ce qu'il appelle "Adult Agility" (Agilité adulte).

[4] NdT : Support, Production, Exploitation, ...

[5] NdT : je n'essaye plus de traduire ce terme en français, vu que le concept de leadership nous est étranger en France :-)