Stratégie et Architecture d’Entreprise Agile

L’Entreprise orientée «service» a pour guide le tracking des exigences «client» et pour finalité la performance et la qualité optimale. La notion d’agilité s’attache quant à elle à un ensemble de valeurs optimisant la mise en œuvre des moyens de cette ambition. Le premier outil de l’Architecture d’Entreprise est une modélisation stratégique des exigences «client» incluant l’état, au présent et au futur immédiat, des solutions technologiques susceptibles d’apporter une réponse opérationnelle.
En second outil, une modélisation métier permet à l’organisation de formaliser les processus devant supporter ses missions. Et c’est seulement ensuite que la notion d’architecture technique, s’appliquant à un système d’information ou à un système de production industriel apparaitra.

Dans le «buzzword du framework architectural», la plus grande imprécision règne. L’absence de vision globale des informaticiens en est certainement la cause. Leurs propositions se limitent actuellement aux aspects techniques ou applicatifs du système d’information (figure 1). De plus, cette vision d’urbanisation qu’ils qualifient d’ «Entreprise» fait abstraction d’une modélisation des ressources humaines et n’implique pas de modèle anticipatif de l’environnement en évolution (1).

(1) Puma délègue l’architecture technique et la gouvernance à des modèles spécialisés ou standards.

   

La réponse n’est pas dans la structure du SI mais dans la dynamique du processus. Plus précisément dans une double dynamique : la première, en réaction maitrisée de l’adaptation opérationnelle du processus à supporter ; la seconde, en anticipation mesurée des impacts technologiques et fonctionnels de l’environnement.

Pour être Agile, l’entreprise doit maitriser en continu les dynamiques d’évolution du processus métier, des ressources humaines et du système d’information. L’agilité à ce niveau nécessite une projection dans le futur qui doit être instrumentée par des techniques formelles comme l’anticipation rationnelle. Cette pratique permet d’appréhender la dimension des évolutions technologiques ou fonctionnelles en émergence et leurs impacts prévisibles sur les composants de l’organisation.

Actuellement, en ce qui concerne la vision métier et l’architecture applicative devant la supporter, deux approches prédominantes collaborent complémentairement à la recherche de la solution optimale, l’une, le management des processus métiers (BPM), est liée à l’Agilité du processus opérationnel, l’autre, l’Architecture Orientée Services (SOA), apporte une solution élégante au développement des composants du système d’information :
le BPM s’appuie sur la modélisation métier pour optimiser et adapter l’ensemble des activités. En remodelant l’organisation autour des processus composant le cœur de l’organisation, le BPM s’impose comme le levier principal de la performance opérationnelle ;
la SOA, par son approche de conception et de construction de services sous la forme de briques applicatives indépendantes, facilite l’instrumentation des processus.

L’avantage de la SOA est de produire des composants simples, modulaires et faiblement couplés, donc permettant de recomposer rapidement l’agencement applicatif des fonctionnalités qu’ils assurent.
SOA comme BPM collaborent à la même stratégie : assurer l’atteinte des objectifs de l’Entreprise dans un contexte d’évolution rapide et le plus souvent lié à une obligation de différenciation concurrentielle.

   La performance du processus métier

Tous les processus opérationnels d’une organisation ne sont pas automatisés ou rationnellement automatisables. De plus, ils coexistent généralement avec un ensemble de pratiques individuelles souvent difficilement formalisables. La notion de productivité doit donc composer avec plusieurs variables dont certaines, comme les processus, peuvent faire l’objet d’un monitoring automatisé et d’autres, moins aisément mesurables, sont liées aux notions de compétence, de motivation ou d’appartenance.

Pour être pertinente, une approche globale de la performance doit intégrer l’ensemble de ces préoccupations. Ainsi a émergé le concept d’Agilité optimale.
L’approche ouverte PUMA pour Processus Urbanisant les Méthodes Agiles (voir Entreprise-Agile.com), propose le premier modèle Agile de ce genre (figure 2) couvrant la totalité de ces aspects et les déclinant pragmatiquement du niveau stratégique de l’anticipation rationnelle jusqu’aux pratiques de qualité du code des développeurs en passant par l’amélioration opérationnelle des processus métiers.

Dans cette approche, la dynamique d’évolution de l’entreprise se structure en 6 domaines d’actions modélisées. Ces domaines sont en liaison structurelle avec les 3 niveaux d’abstraction désormais représentatifs de la nouvelle Expression des Exigences (2).

Le fondement essentiel du paradigme Agile est la puissance de la simplicité, aussi PUMA propose-t-il une vision pragmatique de la mise en œuvre de cette architecture. Dans chaque domaine, après diagnostic d’une pratique réelle de l’organisation, la technique Agile recherchée donne lieu à une formation et s’implémente par coaching. L’efficacité obtenue est ensuite mesurée par monitoring.

Ainsi pour gagner rapidement un degré dans la performance ou la qualité, il suffit d’utiliser la technique adéquate nommée Agile QuickWin ou un groupe de techniques complémentaires (Agile Pack).
En ce qui concerne les aspects plus complexes de l’Agilité liés à la modélisation, au développement ou au pilotage de projets de système d’information, PUMA a intégré les aspects standards les plus puissants de l’Agilité (Agile Modeling, Agile Programming, eXtreme Programming, Agile Unified Process, Agile MDA, EssUP, etc.). Le processus guidant le pilotage du projet fédère l’ensemble des concepts de manière opérationnelle, Agile, formalisée, mais surtout cohérente.

(2) Les Exigences de contraintes non techniques et non fonctionnelles ne sont pas traitées à ce niveau.

L’implication des ressources humaines

La première valeur fondatrice de l’Agilité se situe dans l’implication des ressources humaines. Elle se décline dans le sentiment d’appartenance et les conditions de motivation, puis la vision commune et la connaissance partagée. Cet ensemble, qui s’apparente à une philosophie comportementale, portera ensuite le pragmatisme de l’action.
A la base de l’entreprise Agile, se situent les ressources humaines opérationnelles. Leur implication est déterminante dans la recherche d’optimisation permanente des processus en termes de performance et de qualité. Pour les maîtriser et les simplifier, il faut utiliser le pouvoir de l’intelligence collective.

Les techniques PUMA basées sur le principe d’amélioration continue de la qualité, sont en ce sens de puissants moyens d’obtention d’avantages concurrentiels au meilleur coût. Le principe tire sa force de la connaissance pratique des personnels opérants, dont la participation à une recherche systématique d’améliorations est suscitée. Bien déployée, cette technique peut optimiser tous les secteurs de l’entreprise.

Dans cette quête de productivité et de qualité, lorsque les règles Agiles sont réellement et complètement implémentées, l’organisation dispose d’un fantastique outil de résolution de la «complexité de détails». La détection et la résolution des problèmes peuvent alors s’appliquer à une multitude de dysfonctionnements mineurs qui échappent généralement aux échelons supérieurs compte tenu de leur faible visibilité.

Ainsi, l’entreprise Agile maîtrise en continu la complexité d’un environnement mouvant, en traitant, dès leur détection, les évolutions émergentes.

La performance du système d’information

Au niveau du SI, l’adoption du paradigme «orientation service» repose essentiellement sur un style d’architecture technique qui sera pris en compte lors de la recherche d’une solution applicative. Plus généralement, l’obtention Agile d’une application s’appuie sur un modèle (3) de recherche de composants «clé en main». Parfois les solutions génériques sont inexistantes (nouveaux besoins, nouvelles technologies) ou inadaptées au contexte (différenciation concurrentielle).

Dans ces cas, un développement spécifique est justifié, et trois aspects vont concourir à la performance du projet et à l’efficience de la solution en résultant :
la souplesse de l’architecture applicative, et particulièrement la facilité de redéploiement qui conduit à privilégier les techniques de la SOA ;
la pertinence, la qualité et la fiabilité de la solution, qui résultent généralement de pratiques de développement industrialisées (Frameworks, Design patterns) et orientées Agile programming ;
la maîtrise des délais, coûts et autres contraintes de projets auxquelles les techniques PUMA de pilotage Agile offrent des solutions élégantes et performantes.

En l’état de l’art, et en ce qui concerne l’architecture technique, la solution faisant consensus est actuellement l’orientation services des applications (SOA). Cette approche consiste à décomposer les fonctionnalités, telles que les appréhende un utilisateur, en un ensemble d’éléments basiques nommés «services».
L’étape suivante consiste à décrire finement leur schéma d’interactions dans le cadre d’un processus métier. Les services seront ensuite développés et déployés sous forme de composants logiciels indépendants.

L’objectif de ce type d’architecture logique est de supprimer la construction d’applications lourdes tentant de figer une logique métier en évolution, pour organiser les éléments Agiles d’une réponse adaptée à cette évolution. Lorsque ces techniques s’implémentent par des Web services, l’acronyme utilisé est WSOA, pour (Web Services Oriented Architecture).

Idéalement chaque service est construit indépendant afin de garantir sa réutilisabilité et son interopérabilité, ainsi que finalement, la facilité d’évolution de l’ensemble dans lequel il s’inscrit. Il n’existe pas actuellement de spécifications officielles d’une architecture SOA mais un ensemble de notions fédératrices et de standards trop techniques pour être abordés ici.

La réponse Agile optimale

En résumé, pour l’Entreprise confrontée à la nécessité d’adaptation, l’agilité opérationnelle se situe à la convergence de deux dynamiques :
– l’une, en projection dans le futur immédiat, intègre l’anticipation rationnelle des évolutions de la technologie et de l’exigence client ;
l’autre, en collaboration avec les ressources humaines, se nourrit au présent de l’impact des divergences fonctionnelles entre le processus et la réalité des opérations.

Dans ce contexte, l’agilité s’affirme comme un outil d’alignement et de cohérence entre les forces internes et les défis externes qui dynamisent l’organisation. Le framework méthodologique PUMA instrumente ce principe en s’appuyant sur les fondements du mouvement Agile et ses standards techniques qu’il intègre et fédère.

Conçue par Jean-Pierre Vickoff, désormais en collaboration avec le Groupe TeamLog, l’approche PUMA se compose d’une palette de solutions Agiles couvrant le scope complet de la problématique évoquée. De plus, PUMA représente une couverture native de diagnostic et de correction, aussi bien des principaux macro-risques liés à l’évolution de l’environnement (obsolescence technologique, débordement concurrentiel, etc.), que des émergences de failles mineures susceptibles de fragiliser le processus opérationnel ou le système d’Information.
PUMA, outil d’adaptation et d’accélération permettant de rendre dynamiquement l’entreprise plus performante, représente la première formalisation d’un modèle global d’Architecture d’Entreprise Agile.

(3) Modèle en 7 couches correspondant à des niveaux du cycle de production. Décrit dans le livre Systèmes d’Information et Processus Agiles.

Jean-Pierre Vickoff,

Bibliographie et références : Systèmes d’Information et processus Agiles, Vickoff (J-P), Editions Hermes, 2003.

Stratégie et Architecture d’Entreprise Agile