Qu’entend-t-on par agilité pour les systèmes d’information? Un système d’information sera sans aucun doute jugé agile, si en plus de supporter de façon robuste le modèle économique de l’entreprise, il peut réagir rapidement à de nouveaux besoins métiers de manière efficiente.
Dès que l’on évoque la transformation digitale, apparaît un autre mot : agilité. Et plus particulièrement l’agilité du système d’information, le cœur du réacteur de la transformation des entreprises. Tous les cas de transformation réussie ont un dénominateur commun : la capacité d’accélérer les temps de mise sur le marché de nouvelles offres depuis la conception, la promotion et la diffusion de ces offres.
En d’autres termes, pour obtenir un système d’information agile, il s’agit d’équilibrer au mieux la balance entre les besoins liés à la proposition de valeur de l’entreprise et la consommation de ressources nécessaires pour y arriver … au plus tôt, tout en maîtrisant les risques. Cette définition est celle que nous impose le tournant pris par l’économie numérique au 21e siècle. C’est également celle qui met le plus en lumière le cloud computing comme catalyseur de la transformation pour ces entreprises qui ont su saisir les opportunités d’agilités qu’il présente. Car il s’agit bien d’agilités au pluriel. En effet, le cloud facilite la mise en musique des quatre valeurs du « manifeste agile » pour le développement agile de logiciels, mais offre aussi d’autres leviers d’agilité pour jouer sur la balance réduction de coûts et/ou optimisation de la couverture des besoins.
On peut classifier ces leviers en quatre catégories d’agilité :
1. Agilité financière (laquelle peut conduire à de l’agilité stratégique)
2. Agilité opérationnelle dans l’allocation des ressources et la collaboration
3. Agilité opérationnelle dans la livraison du service logiciel
4. Agilité fonctionnelle dû au pilotage en continu du service numérique
Du capex à l’opex
Pour l’Agilité financière, le premier avantage perçu est de déplacer le poids du budget IT du Capex (coût d’acquisition des ressources) vers l’Opex (dépenses de fonctionnement, d’exploitation), via l’aspect location et service à la demande.
En réduisant les besoins en trésorerie de départ via l’IAAS, l’agilité stratégique des entreprises s’accroît, autorisant dès lors plus de réactivité et de prise de risques sur des projets innovants pour exploiter des marchés naissants ou réagir à une concurrence inattendue. Si les résultats ne sont pas au rendez-vous, l’entreprise n’aura pas à amortir sur le long terme un investissement IT trop lourd et décidera de réallouer ses ressources financières vers des activités commerciales plus prometteuses. Ce choix lui apporte alors de l’agilité opérationnelle. Cela grâce à la capacité fournie par le service de cloud computing d’ajuster l’infrastructure aux besoins, ce qui garantit de disposer des ressources IT dimensionnées au juste nécessaire pour assurer les performances en cas de succès et d’importantes charges de trafic ou de pics d’activités.
D’autre part, au-delà de la réduction de coûts l’entreprise disposera en externalisant son SI d’une flexibilité et d’une mobilité dans l’allocation des ressources. Cela va de la réallocation de salles informatiques à la réallocation de ressources humaines. Sans nécessité de maintenance, l’entreprise pourra chercher à former et retenir des talents IT davantage dédiés à déceler et mettre en œuvre les opportunités des technologies pour les métiers.
La possibilité accrue de gérer la mobilité, grâce à l’émergence de terminaux légers associés à la virtualisation des applications, offre également des supports concrets pour mettre en œuvre des modes plus agiles de collaboration, avec motivation et responsabilisation, dans les organisations.
Casser les silos
Les silos sont un frein à la transformation. Le recours au cloud computing est un levier pour casser les silos entre les fonctions métier. En accélérant les développements la DSI peut montrer rapidement des résultats opérationnels aux parties prenantes du projet de service. Et ce dans le respect des exigences fonctionnelles exprimées et sans sacrifier à la robustesse, la sécurité et la fiabilité de la cible.
Un objectif qui ne peut être atteint à la condition d’aligner toutes les parties prenantes, dont les responsables d’exploitation du produit, et de les faire collaborer. Parce que la valeur du service n’existe que si le service est rendu, on ne peut pas négliger dans sa conception et son développement les aspects opérationnels de son cycle de vie complet : montée en charge, gestion des versions, stabilité, gestion des mises à jour, sécurité/traçabilité/auditabilité, contrôle d’accès, …
De l’utilité du Devops
C’est ce que le concept « devops » s’attache à faire en proposant des principes et des outils de mise en œuvre destinés à réduire les temps de livraison des services informatique. Couplé avec de l’IAAS, l’équipe projet dispose rapidement de l’infrastructure et des environnements de développement. Elle peut mettre en place un référentiel de gestion des sources, installer des outils pour automatiser compilation, tests unitaires et fonctionnels, validation produit, tests de performances sur toute nouvelle brique logicielle livrée et créer ainsi l’ensemble nécessaire à réaliser de l’intégration continue.
Le cycle de développement sera raccourci et amélioré par l’intégration rapide des modifications apportées au code et l’automatisation des tests de non régression. L’IAAS garanti également une plus grande facilité d’accès pour des équipes distribuées géographiquement et la mise à disposition des puissances de calcul au bon moment pour la compilation d’application volumineuse et de tests en charge, tâches souvent gourmandes en ressources d’exécution, ce qui permettra de réduire encore les cycles.
L’intégration continue : la vélocité à l’œuvre
Des outils d’intégration continue peuvent être eux-mêmes disponibles sur le Cloud, en mode Paas ou Saas, ce qui renforce encore le support des concepts « devops » et développement Agile. Avec l’intégration continue, on favorise les interactions entre individus et l’obtention d’un logiciel opérationnel de qualité qui fonctionne. Mais la collaboration avec le client ? La possibilité d’avoir des cycles courts et itératifs de livraisons avec rétroaction rapide ? Là encore, le cloud aide à mettre en place un déploiement continu, via l’accès facilité pour les clients aux plateformes nécessaires pour la livraison des incréments et aussi la batterie d’outils d’automatisation de configuration et de tests pour une gestion de mise en production performante (via des services de type IAAS, PAAS et SAAS). L’objectif est d’industrialiser les déploiements au point de pouvoir faire des mises en production des dizaines de fois par jour, sans interruption de service. L’adaptation au changement peut être rapide dès lors que les freins liés à des opérations manuelles et des erreurs de communication s’estompent.
Ainsi les services de cloud computing agissent ainsi en catalyseur des concepts « devops » et « développement Agile », au sens où ils provoquent l’agilité opérationnelle, pas forcément perçue par l’organisation, qui aboutira à une agilité dans la livraison des services IT.
Toutefois, il reste à questionner le ” pourquoi ” du service. Faut-il vraiment un développement personnalisé pour les fonctionnalités recherchées ? Dans ce cas, où se trouvera l’infrastructure qui l’opérera? Sinon ne peut-on pas aussi avoir de vrais environnements standardisés, des composants réutilisables pré packagés, une usine logicielle, pour les développeurs, pour se concentrer uniquement sur les fonctionnalités qui feront la valeur différenciatrice? Là encore, le cloud agit en catalyseur, parce qu’il conduit l’organisation à se poser les bonnes questions et accélère les transformations.
L’usage et le service avant tout
Avec l’apparition du Saas (Software As A Service), c’est l’usage du service qui a été remis en avant. La complexité des infrastructures informatiques restait toutefois un vrai problème dès lors que l’entreprise souhaitait des fonctionnalités plus personnalisées ou intégrer le service ainsi obtenu aux autres. L’IAAS (l’Infrastructure As A Service) a offert de quoi masquer cette complexité et se concentrer sur le cœur de métier. Le PAAS (Plaform As A Service) vise plus d’agilité dans les développements en proposant des offres qui intègrent de plus en plus des outils d’intégration et de déploiement continus. Le cloud est un mode de consommation des services IT qui ramène l’entreprise aux questions fondamentales liées à la création de valeur du SI, en masquant la complexité des produits pour revenir à la valeur des usages.
Ces questions occultées autrefois par des problématiques de fonctionnement au quotidien reviennent en première ligne, là où elles auraient dû toujours être. L’agilité de l’entreprise est un concept sous-jacent au pilotage du service numérique entre l’énoncé du besoin et la livraison d’une solution opérationnelle. L’agilité stratégique est en question quand on s’interroge sur le choix du Saas, d’un service personnalisé sur infrastructure publique ou privée, en fonction de la nature standard ou non des services recherchés et sur le besoin de protection du patrimoine immatériel (les données). Le cloud computing permet de mettre en musique l’agilité opérationnelle (via les allocations de ressources adéquates) et l’agilité fonctionnelle, grâce au fait de pouvoir obtenir rapidement et facilement des services standards, l’organisation peut en effet repositionner ses ressources sur la livraison de services personnalisés, réellement différenciateurs.
Au final, s’il n’est qu’un catalyseur d’une réaction en chaîne vers plus de continuité des efforts entre la conception et la livraison de services numériques et qu’il ne se substitue pas aux pré-requis de stratégie et de gouvernance de l’entreprise, le cloud computing est sans doute LE catalyseur dont les entreprises ont besoin pour obtenir l’agilité de leur système d’Information et réussir leur transformation numérique.
Les 4 valeurs fondamentales du manifeste Agile privilégient :
1. Les individus et leurs interactions plus que les processus et les outils
2. Des logiciels opérationnels plus qu’une documentation exhaustive
3. La collaboration avec les clients plus que la négociation contractuelle
4. L’adaptation au changement plus que le suivi d’un plan
Pour aller plus loin : le manifeste agile