L’automatisation à grande échelle des processus métier nécessite une nouvelle approche de développement.

Dans tous les secteurs, les processus business subissent la transformation la plus profonde depuis que les entreprises ont remplacé les dossiers papier par des dossiers électroniques. Une nouvelle suite de technologies, y compris l’automatisation robotique des processus (RPA), les workflows intelligents et les techniques d’intelligence artificielle telles que l’apprentissage automatique, les outils du langage naturel et les agents cognitifs, promet d’améliorer radicalement l’efficacité tout en éliminant les erreurs et en réduisant les risques opérationnels. Les recherches menées par McKinsey Global Institute suggèrent que, dans toutes les industries, il est déjà possible d’automatiser plus de 30% des tâches qui représentent 60% des emplois actuels. Dans la finance et l’assurance, par exemple, les travailleurs consacrent plus de la moitié de leur temps à la collecte et au traitement des données, des tâches qui se prêtent parfaitement à l’automatisation à l’aide de techniques déjà disponibles aujourd’hui.

De nombreuses entreprises ont identifié d’importantes possibilités d’application de l’automatisation, et les résultats des projets pilotes et des démonstrations technologiques sont encourageants. Jusqu’à présent, cependant, la plupart d’entre eux ont eu du mal à exploiter pleinement le potentiel de ces nouvelles approches en les appliquant à l’échelle de leurs opérations.

Il y a de multiples raisons pour lesquelles la mise en œuvre de l’automatisation est un défi. Certaines des technologies concernées sont encore relativement immatures, par exemple. Leur application en dehors d’un environnement d’essai soigneusement contrôlé peut révéler des faiblesses et des limites imprévues. Et avec des milliers de processus impliquant des dizaines de milliers d’employés, les entreprises ont du mal à établir des feuilles de route réalisables pour une automatisation à grande échelle.

Le diable dans le détail du développement

Ensuite, il y a le défi du développement et de la mise en œuvre de logiciels. Les entreprises doivent adapter et personnaliser les technologies qu’elles ont choisies pour qu’elles fonctionnent dans le contexte de l’organisation au sens large. Et parce que l’automatisation implique des changements importants dans les rôles et les tâches existants, ils doivent coordonner le développement technologique dans le cadre d’un processus plus large de gestion du changement.

Comme de nombreuses organisations l’ont déjà découvert, les méthodologies de développement de logiciels établies ne fonctionnent pas bien dans cet environnement complexe. La première à échouer a été l’approche traditionnelle en cascade « waterfall », dans laquelle l’analyse, la spécification, la conception, le codage et les essais sont effectués de façon séquentielle.

Les projets d’automatisation organisés de cette façon ont souffert de retards et de dépassements de coûts, car les entreprises découvrent des problèmes ou des limites inattendus à un stade avancé du cycle de développement du projet. Cela peut poser un problème particulier lorsque les efforts sont centralisés au niveau de l’entreprise. Par exemple, après la réussite d’un projet de validation de principe, une société minière a utilisé l’approche waterfall pour automatiser un important processus de back-office. L’entreprise en était à dix semaines de mise en œuvre lorsqu’elle a découvert que la conception de son infrastructure ne pouvait pas être mise à l’échelle pour gérer les travaux. Au moment où elle a identifié et réglé le problème, le projet était déjà retardé de plus de quatre mois, ce qui a entraîné une spirale des coûts.

De telles expériences encouragent de plus en plus d’entreprises à adopter des approches de développement agiles dans leurs projets d’automatisation. En mettant l’accent sur des équipes interfonctionnelles soudées, des efforts de développement ciblés et des tests continus, la méthode agile s’est avérée très efficace pour relever des défis similaires dans d’autres domaines du développement logiciel.

Pourtant, l’application agile aux projets d’automatisation a apporté ses propres défis. Cela s’explique par le fait que l’automatisation des processus diffère du développement d’un produit logiciel conventionnel à de nombreux égards importants.

Scrum, une méthodologie agile qui s’appuie sur des itérations rapides pour développer des fonctionnalités, fonctionne en décomposant un problème complexe ou une fonctionnalité en morceaux discrets ou « stories ». Les équipes travaillent sur ces morceaux un à la fois, en se concentrant sur la qualité et en publiant des logiciels fréquemment plutôt qu’à la fin du projet. Dans un produit logiciel conventionnel, cela signifie généralement que les produits commencent par offrir une gamme limitée de fonctionnalités, avec de nouvelles fonctionnalités ajoutées au fil du temps. Dans l’automatisation des processus, cependant, il peut être difficile de décomposer une caractéristique de cette façon. Les composants individuels d’un processus sont souvent étroitement liés : soit il fonctionne de bout en bout, soit il ne fonctionne pas du tout.

De plus, la nature perturbatrice de l’automatisation des processus, qui peut entraîner des changements importants aux rôles et responsabilités de centaines d’employés, peut rendre irréalisables des cycles de sortie fréquents. Parfois, la valeur incrémentale saisie par un seul composant n’est pas suffisante pour justifier un rejet.

Ensuite, il y a la question de la propriété. Avec le scrum, il y a un  » propriétaire de produit  » – product owner (le PO) – dédié qui agit en tant que représentant du client final, travaillant en étroite collaboration avec les équipes de développement pour répondre aux questions, hiérarchiser les travaux et donner son avis sur les prototypes. L’automatisation des processus peut s’étendre à plusieurs fonctions, unités et régions géographiques, ce qui rend difficile la recherche d’une personne ayant les connaissances et les relations requises. Et parce que l’automatisation est nouvelle, le « propriétaire de processus » – processus owner – le plus approprié au sein de l’organisation peut avoir peu ou pas d’expérience de travail sur des projets de développement logiciel, sans parler de l’environnement agile, rapide et intensément itératif.

Automatisation agile à l’échelle

En réponse à ces limites, certaines entreprises sont en train d’adapter et de faire évoluer le cadre de travail de l’automatisation des processus. Cette approche « d’automatisation agile » fonctionne comme une variante du scrum, avec quelques caractéristiques distinctives.

L’automatisation agile divise l’analyse, le développement et les tests en phases parallèles.

Structure de l’équipe.
L’automatisation agile utilise une structure d’équipe flexible ou « pod », qui comprend des développeurs, des testeurs, du personnel informatique et des partenaires commerciaux. Chaque pod est dirigé conjointement par un product owner, avec une expertise dans la technologie d’automatisation spécifique, et un expert en la matière de l’entreprise, qui fournit les connaissances essentielles de l’entreprise et du domaine.

Design front-end. L’automatisation agile implique un effort initial qui définit entièrement le processus avant que le travail de développement ne commence sérieusement. Ce travail permet de s’assurer que le projet d’automatisation s’intégrera à l’ensemble de l’entreprise et respectera les exigences réglementaires et autres contraintes. Elle permet également aux intervenants des secteurs touchés de l’organisation de préparer leurs employés au changement à venir.

Des stories déclenchées par des déclencheurs. Pour décomposer le projet en éléments adressables, l’automatisation agile remplace les users stories conventionnelles par le concept de' »trigger-driven stories ». Ce processus identifie un « événement déclencheur », tel que la disponibilité de certaines données ou une action de l’utilisateur ; il définit ensuite les actions requises en réponse à cet événement et le résultat à produire. Cette approche permet aux équipes de séparer les processus en parties gérables. De plus, comme les intrants et les résultats de chaque élément sont clairement définis, les équipes peuvent travailler en parallèle, ce qui accélère le travail de développement.

Gestion des versions. L’automatisation agile découple les versions du prototype et du logiciel de production. Afin de minimiser les perturbations pour l’ensemble de l’organisation, les mises en production sont effectuées selon un calendrier contrôlé et étroitement coordonné avec les secteurs touchés de l’entreprise. Les prototypes sont lancés plus fréquemment dans un environnement de test dédié où leur performance est évaluée sur des ensembles de données représentatifs.
Soutien du programme. L’automatisation agile exige des changements organisationnels profonds, car elle exige des entreprises qu’elles soumettent en même temps leurs activités critiques à des technologies et à de nouvelles méthodes de travail qu’elles ne connaissent pas bien. Ces efforts nécessitent un soutien important, surtout dans les premiers stades. La plupart des organisations trouvent utile d’établir un bureau de programme spécialisé pour fournir une expertise, établir de bonnes pratiques et surveiller les progrès de l’effort global d’automatisation.

Il est encore trop tôt pour une automatisation agile à grande échelle, mais l’approche donne déjà des résultats encourageants. Après ses premiers écueils, la société minière décrite plus haut a reconstruit ses efforts d’automatisation en utilisant des principes agiles. Sa deuxième tentative de déploiement a été deux fois plus rapide que la première et a permis d’économiser environ 5 000 heures de travail au cours de la première année, remboursant ainsi son coût en moins de 10 mois.

Une autre entreprise, cette fois dans le secteur des services financiers, s’est dotée d’une capacité d’agilité à grande échelle pour soutenir ses ambitieux objectifs d’automatisation. Dans une approche progressive, l’entreprise a d’abord introduit des techniques agiles dans ses équipes de développement logiciel. Elle a ensuite fait preuve d’agilité au sein des équipes afin de coordonner les efforts et de partager les meilleures pratiques. Enfin, l’entreprise a persuadé ses responsables de programme d’adopter cette approche comme norme pour tous les efforts d’automatisation. Depuis ce changement, l’entreprise a vu les délais de livraison des projets diminuer d’environ 30 % et les coûts de 15 à 20 % dans six secteurs d’activité différents.

Pour les grandes entreprises, l’automatisation d’aujourd’hui n’atteindra son plein potentiel que lorsqu’elle atteindra sa pleine échelle. Une application réfléchie des concepts agiles permet de réduire la complexité pour ceux qui sont prêts à s’engager dans le changement, non seulement dans leur façon de penser aux logiciels, mais aussi dans leur façon de travailler au quotidien. On n’a pas le temps d’attendre.

McKinsey

Publicités

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.