A l’occasion de la conférence USI (Unexpected Sources of Inspiration), organisée par Octo Technology, Carlos Goncalves, DSI de la Société générale CIB, est revenu sur la mise en place de la livraison continue dans ses équipes pour accompagner la transformation des métiers de la banque.
Le secteur bancaire est en pleine évolution depuis la crise financière de 2008. Il doit se conformer à de nouvelles réglementations axées sur la transparence et la traçabilité, mais aussi s’adapter à des clients familiers des outils numériques. « Si parler de transformation digitale s’apparente à un buzzword, dans la réalité, nul ne peut nier que la relation de l’utilisateur avec l’informatique change », lance Carlos Goncalves, DSI de Société Générale CIB (Corporate & Investment Banking). « Dans un tel contexte, les banques doivent réinventer leur modèle et, pour cela, elles ont besoin du système d’information. »
SG CIB rassemble les activités de financement et d’investissement du groupe Société générale. Pour répondre aux besoins de métiers en plein changements, la DSI a dû, elle aussi, se transformer. « La solution, pour nous, passe par la livraison continue, ou continuous delivery », relate le DSI. « Celle-ci n’est pas une lubie d’informaticien : la capacité de l’entreprise à s’adapter rapidement dépend de celle de la DSI à faire de même. La vraie référence des professionnels de l’IT, ce sont les géants du Web. Si nous nous comparons avec d’autres banques, même si nous sommes plutôt bons, cela revient à se comparer entre mauvais. »
Impliquer toute la DSI
La Société générale s’est inspirée de l’approche continuous delivery souvent utilisée par les géants du Web. « En 2008, nous avons regardé comment fonctionnait Google, qui employait à l’époque environ 5 000 développeurs et s’était réorganisé autour des méthodes agiles et du continuous delivery. En tant que banque, une grande partie de nos développements étaient également réalisés en interne. S’ils avaient pu se transformer, cela devait également être à notre portée. »
Pour le DSI, il était important que la transformation cible l’ensemble de la DSI. « Il ne s’agissait pas de limiter ces nouvelles approches à une petite équipe isolée : il fallait que toute la chaîne puisse gérer la livraison continue pour envisager la création de nouveaux produits. »
La DSI commence à parler d’efficacité dès 2010, à travers un programme de Lean Management. « Il était difficile de réaliser des mesures incontestables pour les projets. Pour ceux-ci, le développement agile était plus pertinent que le Lean », se souvient Carlos Goncalves.
C’est donc en 2011-2012 que démarre vraiment la transformation. Durant cette période, cinq piliers, les « fondations », sont mis en place pour la soutenir :
- Le recours aux méthodes agiles et à l’innovation continue, d’abord avec les clients internes, puis externes.
- La convergence des plateformes technologiques autour de Java et .Net.
- La mise en place d’usines logicielles (software factories), afin d’automatiser tout ce qui pouvait l’être (tests, vérification de codes, livraisons…).
- La mise en œuvre de DevOps et des pratiques de déploiement en continu.
- La mise en place d’un cloud privé, notamment pour donner aux équipes de développement la possibilité de provisionner et déprovisionner leurs environnements, en fonction de leurs besoins.
A ces éléments s’ajoute un sixième facteur, essentiel pour créer des conditions favorables au changement : la gestion des talents, autrement dit la capacité à attirer et retenir les bons profils.
Un feedback immédiat
Une fois les fondations mises en place, la DSI a créé des « Labs », des plateaux entiers pouvant regrouper jusqu’à cent personnes, qui travaillent sur plusieurs applications liées à un même processus et fonctionnent en livraison continue. Treize applications sont aujourd’hui développées ainsi. SG CIB a également mis en place des « Go Fast », petites équipes conçues pour aller le plus rapidement possible. Dix-neuf applications sont concernées par ce mode de fonctionnement.
Pour les équipes, le passage à un mode de fonctionnement agile a modifié en profondeur la manière de percevoir le travail. « Avec les approches agiles, les équipes de la DSI ont un retour immédiat sur ce qu’elles font, en terme de motivation, cela change la donne par rapport aux projets où il faut un an avant de livrer quoi que ce soit », illustre le DSI.
« En outre, dans une approche traditionnelle de type cycle en V, ce qui importe est de respecter le contrat initial, même s’il manque sa cible. Dans les nouvelles approches itératives, ce qui compte, c’est la valeur pour l’entreprise : si celle-ci est absente, il faut changer le contrat de départ. »
Néanmoins, mettre de l’agilité côté projets ne suffit pas : « Un projet agile, si itératif soit-il, n’apporte aucune valeur tant qu’il n’est pas livré. » C’est donc à ce niveau qu’intervient l’apport principal du continuous delivery : « La livraison continue repose sur le principe de boucle de rétroaction. Il faut un feedback, non seulement de l’équipe projet, mais de toute la chaîne, y compris les clients finaux. Tous doivent faire en sorte que le produit livré soit le meilleur pour la banque. »
Pour parvenir à cet objectif, la qualité de la production et la stabilité de la plateforme sont essentielles, ce qui implique une automatisation complète. « Dans l’idéal, il faut tendre vers le presse-bouton : c’est non seulement un élément d’efficacité, mais aussi de stabilité », estime le DSI. Néanmoins, cette manière de fonctionner ne s’applique pas forcément à tout le système d’information : « Le continuous delivery convient bien aux projets d’innovation, mais nous ne l’appliquerons pas à des applications comme la comptabilité, très encadrées », nuance Carlos Goncalves.
Aujourd’hui, Société générale CIB possède 32 applications au niveau 3 de DevOps (la mesure). Quatre respectent les principes de la livraison continue de bout en bout, l’objectif étant que les 32 soient concernées en fin d’année. D’ici 2015, SG CIB souhaite atteindre 50 % d’applications en livraison continue.
Les bonnes pratiques de la SG CIB
Urbaniser le système d’information
Il est essentiel de stabiliser et de contrôler le système d’information. Pour cela, il ne faut pas hésiter, par exemple, à décommissionner les applications obsolètes ou redondantes (le nombre d’applications de la SG CIB est passé de 1 882 en 2009 à 960 en 2013).
Automatiser tout ce qui peut l’être
Relancer plusieurs dizaines de fois le même test ne sert à rien, de même que configurer à plusieurs reprises le même environnement. De nombreuses étapes peuvent êtres automatisées, notamment les tests (unitaires, d’intégration, de performance), l’intégration (Jenkins), le suivi des bugs (GitHub), la production de métriques (ElasticSearch Kibana pour l’analyse des logs, SonarQube pour la qualité du code…). Des approches comme le feature flipping (activation/désactivation de fonctionnalités directement dans les applications en production) peuvent également être envisagées pour automatiser la boucle de feedback. Enfin, pour automatiser de manière efficace, les différents environnements (développement, test, pré-production…) doivent tous êtes identiques, c’est essentiel même si c’est coûteux (d’où l’importance du cloud computing).
Informer les utilisateurs des évolutions
Cela peut se faire dans l’application elle-même, ou bien à travers un outil de gestion des changements leur permettant de savoir où en est leur demande.
Ne pas y aller seul
Se faire accompagner par ceux qui ont déjà mis en œuvre une approche continuous delivery constitue un vrai plus. Mais cela nécessite de dédier un budget pour le coaching des équipes.
Quatre étapes pour passer à DevOps
- Rendre les procédures de build (compilation et assemblage des différentes bibliothèques) et de déploiement transparentes pour tous.
- Rendre ces procédures répétables à travers l’automatisation.
- Mesurer pour avoir une visibilité sur chaque étape du processus.
- Mettre en place une boucle de rétroaction sur toute la chaîne pour aller vers l’amélioration continue.
Un cloud interne pour les métiers
La Société générale a développé un service de cloud interne pour l’ensemble de ses activités métiers, projet pour lequel le groupe a reçu le Trophée Cloud Vision, lors du dernier vForum de VMware, qui s’est tenu le 5 juin 2014 à Paris. Objectif : fournir des services de type IaaS et même PaaS, avec une refacturation fine à l’usage. Parmi les gains déjà observés, on peut noter, en particulier, la rapidité d’obtention de services IT (mise à disposition de machines virtuelles en quelques minutes, par exemple), la maîtrise du budget (grâce notamment à la facturation à l’usage et à la capacité de remettre à disposition une capacité qui n’est plus utilisée) et l’apport de nouveaux services et usages (par exemple, la fourniture d’un environnement de tests ou pré-production pendant un temps limité). « À travers ce projet, la DSI de la Société générale a pour objectif de devenir un broker de services cloud pour les métiers », souligne Bertrand Lemarignier, responsable des infrastructures des systèmes d’information de la Société générale.