vendredi 27 avril 2007

Ainsi SOA-t-il !

Il a peu de temps encore, les entreprises s’organisaient autour des projets. Chaque département ou gros service implémentait son système, un îlot. Cette construction que l’on baptise ‘en silo’ a amené l’introduction de technologies différentes et, pire encore, la redondance et l’incohérence de données. C’est là la cause profonde de la fameuse « architecture accidentelle » subie par tout professionnel de l’IT qui a un peu de bouteille.

Et c’est ainsi qu’un fossé se creuse entre les besoins métiers et le service de l’IT.

Entre temps, la pression s’est accentuée sur les entreprises.
Les fusions et acquisitions se multiplient. La performance est demandée. La quantité de travail croît. Les règles et lois évoluent et rendent la gestion plus complexe et plus exigeante. Certaines branches sont outsourcées (pas nécessairement l’informatique). Bref, la compétition et la mondialisation sont au rendez-vous.

Les sociétés de services se sont penchées sur la problématique : apporter une réponse était indispensable.

La théorie que l’on nous a enseignée il y a 30 ans ne devait pas ressurgir : l'approche cartésienne (Descartes) qui prône le découpage d’un problème en sous-problèmes. Cette approche prend peu en compte les interactions entre problèmes et c’est bien là sa tare.
Par contre, l'approche systémique favorise une vision globale sur la réalité considérée comme un système. Et comme l’entreprise est un système ouvert (càd en interaction avec le monde qui l’entoure), la pensée systémique offre une bonne base à l’amélioration de ses éléments organisés en fonction d’un but. Dans son cours d’Organisation et de Management le professeur Mohamed Bayad de l’Université de Nancy 2 nous confirme que « Lorsque la complexité (degré d’organisation) d’un système augmente, les propriétés qui le caractérisent dépendent de plus en plus de sa structure (ensemble des relations) et moins en moins de la nature de ses parties. ».
Il faut donc comprendre l’entreprise comme un ensemble de variables en interaction ayant un certain de degré de finalité. Et la modélisation en ‘Business Process’ répond à la demande de formalisation que demande un système informatique.
Des packages informatiques qui reprennent les logiques métiers ont été développés. Ils comportent néanmoins différents inconvénients : d’une flexibilité limitée, ils n’apportent pas ou peu de différenciation ou d’innovation sur des marchés concurrentiels. Ils ont également le lourd inconvénient de rendre l’entreprise dépendant des tierces parties.

Le SOA (Services Oriented Architecture), qui est le pendant informatique du BPM (Business Process Management) est un modèle intéressant. Il aligne l’IT et les métiers sur l’organisation en processus. Il accroît les capacités des investissements informatiques consentis. Enfin, son implémentation se veut incrémentale et non radicale. C’est d’ailleurs un point très fort de l’approche car le « big bang » n’est souvent pas une option envisageable.
Alors que pendant des années, l’IT s’est focalisé sur la ‘complexité de gérer cette complexité’ (et de la maintenir), le principal objectif de l’IT peut ici être de permettre l’exécution de processus métiers et d’accompagner les changements. Et ce sont bien ces derniers qui apportent la différenciation tant recherchée par les entreprises.
Autre avantage du SOA, l’entreprise peut établir des plans d’expansion ou d’amélioration en se basant sur des capacités informatiques plus claires.

Alors comment mettre du SOA dans le moteur d’une entreprise ?
Le SOA se construit sur 4 dimensions, les 4 P : People, Process, Platform et Practice. Tout va partir d’un modèle de service qui va aligner les objectifs d’entreprise et les besoins (attentes clients, les lois, …).

D’une cartographie de l’organisation existante (AS IS) on sera en mesure de construire une vision d’amélioration, un futur (TO BE). Et l’IT sera en mesure de suivre et de s’adapter, ayant abandonné son architecture ‘spaghetti’ pour une structure en ‘bus’ que certains qui ne manquent pas d’humour baptiseront ‘lasagne’.
En marge des solutions proposées par les ‘sofware houses’ (je citerai par exemple le white paper de SUN de févier dernier : a pragmatic approach to implementing a SOA with sun java composite application platform suite), quelques sites décrivent l’approche en long et en large. Une récente présentation m’a permis de découvrir le site de http://www.praxeme.org/ que je vous invite à consulter.

Je vois dans le SOA de nombreux rapprochement avec la théorie des contraintes qui me séduit tant. J’ignore si des travaux ont déjà abordé les analogies ou ont réalisé des études d’écart. Si vous avez des références ou des liens, merci de me les transmettre !

lundi 23 avril 2007

Structure matricielle

Les grandes dimensions autour desquelles les décideurs conçoivent la structure d’une organisation relèvent souvent d’un besoin à un moment donné.
On peut définir les besoins de structure organisationnelle par un positionnement sur base de l’identification de quelques paramètres simples. Des maîtres en la matière tels Mintzberg[1] caractérisent une structure de la manière suivante (vue simplifiée) :

Qu’advient-il après ? Du stade de la création au stade de la montée en puissance (le plein développement), la croissance d’une entreprise impliquera un certain nombre de changements, d’adaptations organisationnelles nécessaires. C’est un besoin d’agilité qui se fera sentir car l’entreprise devra rester compétitive et atteindre ses objectifs de rentabilité.

Dans ce contexte d’adaptabilité vitale, les structures matricielles ont le vent en poupe. L’adoption des principes d’amélioration continue (PDCA: roue de Deming), le contexte de la réorganisation sur base des processus primaires et secondaires, de la mise en place de services de ‘support’ et l’introduction progressive de l’outsourcing y contribuent.

Ce changement, qui ne s’improvise pas, fait l’objet de bon nombre de discussions. La Théorie des Contraintes apporte ses réponses. Dans un échange avec le groupe de discussions qu’il a initié, David Laffineuse, qui dirige le bureau de gestion de projets de la société Bendix (groupe Knorr-Bremse) à Elyria dans l'Ohio, précise que certains principes se doivent d’être suivis : « trois principes fondamentaux doivent changer pour permettre une meilleure performance dans une structure matricielle.
  1. Ces organisations doivent se rendre compte des effets néfastes d'une utilisation maximale de chaque ressource. Leur expliquer l'application de la loi de Little (théorie des files d'attente simples de type M/M/1) à leur processus de développement peut parfois les convaincre (principalement l'effet sur le temps moyen des tâches dans le système).

  2. Il faut que l'organisation mette en place une discipline de séquençage des projets, sur base de la capacité de leur ressource critique. Bref, créer un système 'PULL' alors que maintenant ils utilisent en majorité un système 'PUSH'.

  3. Il faut que ces organisations adoptent une discipline de priorités claires (aussi bien au niveau des projets qu'à celui des tâches) qui mette fin au multitâche chronique de leurs ressources. Ici, toujours en utilisant la théorie des files d'attente, on peut voir l'effet du multitâche sur le temps moyen de service. Ce qui est intéressant par contre c'est de voir que quel que soit le niveau de multitâche, le temps moyen dans le système n'est pas affecté. Le multitâche se traduit en effet par une réduction du temps moyen d'attente mais par une augmentation proportionnelle du temps de service. Ce qui prouve d'ailleurs que le bon vieux système du multitâche ne procure qu'une illusion d'efficacité, son résultat étant en vérité une destruction complète de la productivité.
Si ces trois principes sont respectés, une organisation pourra fortement améliorer la performance de sa matrice en terme de son débit de projets. Ceci dit, il faudra quand même s'assurer que la structure de la matrice en elle-même contribue à cette amélioration de la performance.»
Orienter une société et ses départements vers la structure matricielle est un défi de gestion d’importance qui pourrait vite être perçu comme une bureaucratie naissante, une déstabilisation ou un alourdissement de toute une organisation.

Pour rendre performante la structure, il faut que les principes fondamentaux de gestion changent. C’est au niveau des décideurs de l’entreprise que le premier challenge se situe. Ils doivent être réelle partie prenante dans la démarche de changement.
Le pragmatisme, les douloureuses expériences passées d’un dirigeant ou simplement la crainte d’une perte de pouvoir (financier, humain, …) sont autant de freins à la formalisation et l’adaptation d’un nouveau fonctionnement. Mais un manque d’évolution, un maintien du concept organique fragilisera immanquablement une société à terme.

[1] Structure et dynamique des organisations
Henry Mintzberg – Editions d’Organisation – ISBN : 2-7081-1971-0