SIFOA:

Simulation of

Information Flows and

Organizational Architecture

 

 

Première Partie (2006) : Construction du Simulateur

 

Version : Mai 2006 (document provisoire, en travaux …)

1. Introduction

 Ce document est une synthèse de mon blog “Architecture Organisationnelle” sur le sujet de la simulation des flux d’information dans une entreprise. Le blog a été ouvert en tant que « blog-note » pour décrire, expliquer et discuter d’un projet de simulation et d’étude : SIFOA. Ce projet est né il y a trois ans, en 2004, et il est ambitieux à plusieurs titres. D’une part, je ne suis pas un expert des sujets tels que la théorie de la communication ou l’organisation des entreprises. J’ai commencé d’entreprendre mon éducation en 2004, et je suis preneur de tout commentaire, suggestion et proposition pour enrichir ma culture. D’autre part, il s’agit d’un sujet « risqué », puisque rien de garantit l’existence d’un modèle tractable et pertinent. Autrement dit, rien ne permet de penser que les couches successives de simplification nécessaires pour produire un modèle qui soit, d’une part, implémentable sur un ordinateur, et d’autre part  analysable suivant un nombre raisonnablement limité de dimensions, ne finissent pas par décorréler les résultats de la simulation de toute réalité. Pour finir, il s’agit d’un effort sur une très longue durée, probablement une dizaine d’année.

Pourquoi proposer une synthèse du blog ? Parce que les idées et la structure du modèle évoluent et qu’il devient difficile de comprendre l’ensemble en lisant uniquement la suite des messages. Le principe est donc de mettre à jour périodiquement (quelques fois par an), une synthèse des messages publiés, agrémentée de quelques figures réalisées pour des présentations de ce programme de recherche.

Ce document est organisé comme suit. La section 2 rappelle les motivations originelle de ce travail, à savoir l’étude d’un ensemble de règles d’organisation d’entreprise (que nous appellerons les « leviers » du consultant en organisation), au travers de la propagation de l’information dans l’entreprise. La section 3 propose un modèle du fonctionnement de l’entreprise, construit autour de la notion de processus métier.

La section suivante décrit le modèle de l’organisation que nous utilisons. Il représente l’entreprise comme un ensemble d’agents, réparti en deux catégories. Les agents productifs sont organisés en unités, tandis que les agents de coordination sont regroupé dans la catégorie « management », elle-même décomposée en une gestion hiérarchique verticale (contrôle-commande) et une partie de pilotage des processus.

La section 5 précise traite des flux d’information. C’est la section la plus importante et la plus originale du document, puisque le traitement des flux d’information est le cœur de notre approche. Il s’agit donc de caractériser les différents canaux de transfert d’information.

La section ­6 présente les principes de la simulation par « Jeux et apprentissage ». La section 7 propose une description sommaire du simulateur (c’est un sujet qui n’a pas encore été abordé dans le blog).

2. Motivations

Le point de départ de ce travail est la conviction que, dans notre « société de la connaissance » ou le travail de chacun est l’acquisition, la transformation et la diffusion d’information, il existe une relation structurelle entre l’organisation de l’entreprise et sa capacité à transporter les flux d’information. En particulier, je cherche à valider l’hypothèse qu’il est possible de qualifier la pertinence d’une réorganisation à partir des impacts souhaités sur le transfert d’information.

Un des objectifs concrets de ce travail est d’étudier 5 « leviers » de l’architecture des organisations. Ces cinq leviers font partie de la « boite à outil » des consultants en managements:

bullet

Réduire, ou augmenter, le nombre et la durée des « comités », c’est-à-dire des réunions planifiées

bullet

Aplatir l’organisation (en augmentant de nombre de « direct report »)

bullet

Introduire une forme d’organisation matricielle pour piloter les processus transverses de l’entreprise

bullet

Eliminer les « buffers » pour construire une organisation « lean and mean »

bullet

Augmenter la polyvalence, ou inversement, embaucher/former des spécialistes.

Ce qui est intéressant, c’est que chaque idée est bonne, mais que chaque fois, l’idée contraire peut être également adaptée à une situation donnée. Mon objectif est donc de comprendre l’impact de ces leviers, non pas pris de façon isolée, mais globale. Il est probablement illusoire de chercher une théorie complète, nous allons le voir, chaque levier joue de façon subtile et multiple, en fonction du contexte et de la culture d’entreprise. En fait, il serait probablement plus pertinent, pour un sociologue des organisations, de pousser l’analyse levier par levier.
Nous allons, au contraire, étudier les impacts combinés selon l’axe des flux d’information. Cette approche, dans la quelle l’organisation est vue comme un ensemble d’agents échangeant des flux d’information suivant plusieurs canaux, et pour laquelle la ressource critique est le temps, ne peut que produire des vérités simples.

Dans ce message, je me contente d'une réflexion générale sur les effets de ces leviers en terme d'emploi du temps (au sens littéral) et de flux d'information.

2.1 Faut-il faire des comités ?

Il n’y a pas de question sur l’utilité des réunions planifiées:

bulletPriorisation des sujets (file d’attente implicite)
bulletMutualisation des flux (1 émetteur -> n récepteurs)
bulletCapacité à planifier (vs. Réunions spontanées)
bulletMutualisation des sujets (éviter le temps de « setup/déplacement » )

La question est plutôt de savoir comment mesurer cette efficacité pour la contraster avec des inconvénients:

bulletCrée une structure rigide qui n’est pas forcément adaptée aux urgences
bulletTendance à accumuler des acteurs inutiles
bulletTendance à remplir l’espace temps, au détriment du reste

Cela pose la question de l’efficacité de la réunion en tant que canal de communication, qui est une des mesures de la performance de la culture d’entreprise.
 

2.2 Faut-il des organisations plates ?

L’idée qu’il faut aplatir les pyramides de management est particulièrement à la mode depuis 10 ans. Elle a été popularisée par un certain nombre de grands patrons américains et s’est transformé en véritable dogme. Parmi les avantages évidents, on trouve:

bulletTemps de propagation (descente des consignes) raccourci
bulletTemps d’arbitrage des conflits prioritaire raccourci (attention la bande passante est identique)
bulletFavorise une culture de la délégation

Il faut néanmoins balancer par un certain nombre d’effets pervers :

bulletMoins de temps disponible pour le coaching de ses « direct report » : l’effet « binôme » est moins fort et le contrôle est plus lâche
bulletMoins de managers: moins de capacité à transporter de l’information dans l’organisation
bulletIn fine, moins de temps personnel pour chaque manager

La question ouverte est : est-il possible d’étudier cet impact d’un point de vue quantitatif ou est-ce avant tout un problème qualitatif qui revient à connaître la valeur du « temps libre consacré à la réflexion et à l’anticipation » de chaque manager. Même si il y a un consensus à peut près égal dans les ouvrages de management sur le fait que 20 à 30% du temps d’un « top manager » doit être consacré au futur et à la réflexion, voire à la formation (cf. P. Senge), personne ne s’aventure à quantifier une telle proposition. En attendant une hypothétique étude à la M. Porter sur la corrélation entre la valeur crée par l’entreprise et le temps qu’elle passe à imaginer son futur, cette piste semble hasardeuse et spéculative.

2.3 Faut-il des structures matricielles pour piloter les processus transverses ?


Ce sujet est parfaitement expliqué et traité par Galbraith dans son livre fondateur « Designing Organizations ». Il montre précisément ce qui est la thèse de ce travail: les avantages et inconvénients de chaque modèle d’organisation, et les traits caractéristiques qui prédisposent à l’une ou l’autre.
Dans la réalité, le sujet de l’organisation matricielle est complexe car il y a de nombreux axes: géographiques, segmentation par ligne de marché, par fonction ou compétence, par processus, etc. Dans le cas de la modélisation SIFOA, il ne reste que deux axes mais ils sont suffisants pour évaluer certains concepts de base et voir si les « perles de sagesse » recueillies par Galbraith peuvent se « démontrer » à partir d’un modèle quantitatif.

Nous allons donc supposer que nous faisons cohabiter deux rôles de management (qui sont ou non exécutés par les mêmes individus, cela échappe à la précision de notre modèle) : (1) le rôle de pilotage hiérarchique (vertical) et d’optimisation des ressources (2) le rôle de pilotage (horizontal) des processus. En faisant varier la répartition de l’énergie disponible, nous pouvons représenter des organisations plus ou moins « matricielles ».

L’avantage de l’organisation « par processus » est classique:

bulletAugmente la capacité de transfert de flux pour le pilotage du processus
bulletPilotage plus réactif, évite les montées/descentes dans l’organisation
bulletFavorise l’amortissement horizontal des aléas, en faisant jouer la transversalité de l’organisation
Néanmoins, une organisation traditionnelle de « bureaucratie » possède des avantages qui sont également classiques:
bulletUne structure stable (fonctionnelle) qui évite les « overheads »
bulletPeut éviter l’apparition d’une population de « coordinateurs » qui génèrent leur propre activité (le phénomène du « passeur de plats »)
bulletFavorise l’optimisation verticale et l’absorption des aléas par un meilleur pilotage des ressources.

2.4 Quel niveau de redondance est souhaitable ?

La question du « juste effectif » est une question éternelle dans l’optimisation des organisations. D’un coté, nous avons l’école de pensée « lean & mean », du « right-sizing » qui cherche à :

bulletRéduire les coûts associés aux effectifs
bulletEviter la dispersion, c’est-à-dire : la capacité à générer sa propre activité, le « bruit » engendré par le sureffectif
bulletSe concentrer sur le « core » business et externaliser ce qui peut être (mieux) fait à l’extérieur

Même si cette approche est facile à comprendre et à justifier, il existe des facteurs importants de succès qui, au contraire, s’accommodent d’un « léger sureffectif », ou, autrement dit, sont difficiles à obtenir dans une organisation trop « maigre »:

bulletLa capacité à anticiper, à être réactif
bulletLa capacité à capitaliser, à apprendre

Cette question du dimensionnement est malheureusement une question complexe, qui ne se traite correctement que dans le contexte d’une industrie, voire d’une entreprise. Par exemple, on peut reprendre la remarque précédente : il est très difficile de valoriser le temps disponible pour l’apprentissage et la réflexion. L’impact positif ou négatif du sureffectif dépend de l’activité et des conditions de travail.
Néanmoins, dans le cadre d’une évaluation SIFOA des capacités de transfert d’information, il est facile de simuler des scénarios qui testent la réactivité (rapidité d’adaptation) et la flexibilité (capacité d’adaptation) d’une organisation.

2.5  Faut-il des généralistes ou des spécialistes ?

Cette question est la question qui a fait couler le plus d’encre depuis la re-visite du « Taylorisme » que ce soit sur les chaînes de montage ou dans les « bureaucratie ». Comme la question précédente, c’est une question très difficile à modéliser et qui dépend d’un très grand nombre de facteurs. A ce titre, il est imprudent de vouloir la traiter de façon générique, puisque ces facteurs varient d’une industrie à l’autre et d’une culture d’entreprise à l’autre. Néanmoins, les « bases du Taylorisme » restent d’actualité pour une grande partie des activités humaines:

bulletLa spécialisation, c’est-à-dire le fait de confier les mêmes tâches aux mêmes personnes, produit une courbe d’apprentissage accélérée et permet d’atteindre un plus grand niveau de compétence
bulletL’efficacité augmente avec le niveau de compétence, en délai et en qualité.

Mais ..

bulletLa polyvalence des acteurs (non-spécialisation) est un facteur de flexibilité
bulletLa non-spécialisation est un facteur de motivation (diversité des activité et vsion plus globale)
bulletLa polyvalence diminue le besoin de coordination de bout-en-bout (elle permet des organisations plus simples)

Notre seule ambition ici est d’étudier l’impact réciproque de la spécialisation et de l’organisation de l’entreprise. L’objectif est de mesurer l’effet positif de la polyvalence en terme d’organisation du travail, qu’il conviendra de comparer avec les bénéfices de la taylorisation propre à chaque métier. Il ne peut donc pas y avoir de conclusion générique, mais il est peut-être possible de caractériser des liens génériques entre flexibilité et polyvalence.

3. Modèle de fonctionnement de l’entreprise

3.1 Vision générale

 Le modèle que je propose est un modèle générique d’entreprise centré sur les processus. Il s’agit d’une abstraction du fonctionnement de l’entreprise, qui fait apparaître les flux d’information entre les acteurs et qui explicite le couplage (action <-> information), c’est-à-dire quels flux sont produits par quelles actions et comment l’efficacité du transfert d’information influe sur le résultat des actions.
Ce modèle générique repose sur des paramètres internes que nous ne connaissons pas (coût du travail, impact de la compétence sur la productivité, efficacité des canaux de communication, etc.), c’est pour cela que nous avons développé l’approche « Simulation par Jeux & Apprentissage » présentée dans les la section 8.

Le modèle de fonctionnement des processus est le socle de ma démarche : si ce modèle ne vous convainc pas, rien de ce qui va suivre n’a le moindre intérêt. Il sert à formuler les interactions entre les différents « leviers » sur l’organisation de l’entreprise. C’est donc un exercice délicat en terme d’équilibre :

bulletsi le modèle est trop complexe, personne n’y comprendra rien et le château de cartes s’écroule,
bulletsi le modèle est trop simple, il ne traduira pas les interactions organisation / flux / processus.

 La structure du modèle (modéliser une entreprise par ses processus) est classique et repose, par exemple, sur les livres dont j’ai cité une partie précédemment. Ce qui est plus original, c’est la modélisation quantifiée des flux d’information associés et des interactions. La question qu’il faudra se poser à la fin du message est : « si nous connaissions les paramètres, ce modèle pourrait-il décrire le fonctionnement d’une entreprise ? »

 Les ressources sont séparées en deux catégories, U pour les agents qui effectuent des activités et H pour les agents qui participent au management et au transfert d’information. Cela signifie que nous avons « virtualisée » l’activité de management et pilotage de chaque unité, et l’avons rattaché à l’entité globale de management. Ce regroupement évite de se poser des questions d’allocation de ressource de management, il représente une abstraction idéale du fonctionnement et rend la simulation plus simple.

Le cœur du modèle est un ordonnanceur de blocs de temps, en fonction de priorités. Comme nous raisonnons de façon macroscopique, il n’est pas possible de modéliser des chaînes de propagation. Si un bloc représente un ensemble de réunions, nous ne savons pas « à quel moment la décision de réallouer des ressource va être prise ». En ne représentant pas dans le modèle des éléments qui dépendent du temps de propagation, nous faisons également une simplification qui est une idéalisation du fonctionnement de l’entreprise.

 

3.2 Fonctionnement nominal : le déroulement d’un processus

 Les processus sont simplement décrits comme des enchaînements de tâches (cf. figure). Les tâches sont effectuées par des unités. Une tâche est spécifiée par une charge de travail, en jour-homme, une compétence associée et un niveau minimal pour cette compétence. Le travail peut être réparti en un nombre variable d’agents, mais il y a un minimum et un maximum (le minimum pour des raisons d’efficacité, le maximum pour gérer la complexité du travail en commun : on n’écrit pas un rapport avec 100 personnes qui travailleraient 10 minutes).

Le processus crée de la valeur, qui est supposée dépendre du temps de façon simple : la valeur est nominale si le processus est effectué avant la date objectif, puis décroît linéairement jusqu’à une date limite (et vaut 0 au-delà).

début

Fin

valeur

Priorité = f(vMax, proba)

Skill i, level l,

Quantité = temps

#agents: [min,max]

Tache 1

Unité U

Tache 2

Unité U’


La charge de travail pour une simulation est obtenue en générant de façon aléatoire un ensemble de processus, avec une loi d’arrivée qui est soit uniforme soit de type Poisson. Les charges associées aux tâches sont également générées aléatoirement, suivant un écart-type qui est un des paramètres des scénarios (on peut choisir de simuler des activités régulières ou d’autres plus « chaotiques »).

Il est intéressant de récapituler l’ensemble des paramètres associés au modèle qui forment le scénario d’une expérimentation :

bulletLoi de distribution de la charge de l’entreprise : granularité, déviation, etc.
bulletDegré d’interdépendance dans l’exécution : quantité de flux de type pilotage et synchronisation par rapport au « temps productif »
bulletFacteur de compétence: gains de productivité en fonction du niveau de compétence
bulletEfficacité des canaux de communication. Cette efficacité se mesure dans trois dimension : quantité d’information transportée, latence et fidélité du transfert. C’est ce point qui mérite plus de discussion
bulletCoût du travail (en % de la valeur produite)

Comme nous l’avons dit en introduction, nous n’allons pas essayer de qualifier ces paramètres, mais plutôt utiliser l’approche « jeux & apprentissage » pour explorer les espaces de scénarios. 

3.3 Gestion des Aléas

Le modèle des flux d’information qui est décrit dans la 5e section s’intéresse au « transport » du contenu plus qu’à la « signalisation ». Comme cela a été dit, c’est un modèle d’ordonnancement des blocs temporels d’activité nécessaire au transport de l’information. Ce modèle tient néanmoins compte du temps de propagation de l’information sur deux aspects : la réaction aux aléas et l’enchaînement des séquences de tâches.

Ce modèle représente deux types d’aléas dans le déroulement d’un processus :

  1. Nous créons des événements aléatoires de changement de valeur associée à un processus. Ce changement entraîne une ré-évaluation de la priorité, qui modifie l’ordre de traitement. Nous utilisons la latence du canal de management du processus pour représenter le délai de réaction. Plus ce délai est court, plus la réaction de l’entreprise est optimale.
  2. La durée réelle d’exécution des tâches qui composent le processus est, de façon aléatoire, perturbée par rapport au « plan type » que représente le modèle de processus. Ici aussi, cette modification est traitée comme un ajout/retrait de quantité de travail à ordonnancer et nous utilisons la latence du canal de communication pour représenter le délai de réaction.

Par ailleurs, nous représentons un délai explicit de synchronisation entre deux tâches qui forment une séquence. Si la tâche B a besoin que la tâche A soit terminée pour commencer :

  1. Il existe une tâche « flux d’information associé à un transfert » qui représente le nécessaire transfert d’information entre A et B. Il n’est pas nécessaire que ce flux soit entièrement  transmis pour que B commence (le transfert et l’exécution de B peuvent se faire en parallèle) mais B ne peut pas terminer avant que le transfert soit complet, et …
  2. Le départ de B suppose que le flux de transfert ait commencé, ce qui signifie qu’il existe un temps de « set-up » qui est la latence du canal utilisé pour le flux de transfert.

 Cette modélisation est conforme avec le parti-pris de représentation d’un fonctionnement idéal : nous sous-estimons grandement les effets du délai de propagation de l’information, mais au mois ce que nous prenons en compte « fait sens ».

 

4. Modèles de l’organisation d’entreprise

Nous allons représenter une entreprise par un ensemble d’agents, et abstraire l’organisation interne en deux catégories, U et H. L’ensemble des agents H représente la structure de management, qui pilote un certain nombre d’unités U. Il ne s'agit pas d'une séparation supervision production, tous les agents sont des "acteurs de la société de la connaissance" et ont pour fonction le transfert, l'enrichissement et le routage de l'information. Disons simplement que les acteurs U participent directement aux processus (ce qui inclus de la coordination) et que les acteurs H effectuent uniquement des tâches de coordination.

H

U1



 

L’organisation de management H est définie par une structure pyramidale hiérarchique (un arbre déterminé par sa taille et sa profondeur), qui remplit les fonctions classiques liées au lien manager-collaborateur, et une fonction de collaboration transverse liée aux processus de l’entreprise. La combinaison des deux éléments permet de simuler différents degrés de « matriciel » de l’organisation, en fonction d’un paramètre qui va déterminer la « distribution des prises de décision » selon les deux axes horizontaux et verticaux.

La structure H « contient » tous les managers, y compris les managers « locaux » de proximité ; il s’agit donc d’une décomposition théorique du travail des agents, et non pas d’une organisation. Si le niveau de management local est effectué par des collaborateurs qui répartissent leur temps entre des activités « productives » et des activités de « management », ils seront représentés par deux agents différents dans le modèle. De la même façon, nous séparons les heures de réunions des autres activités de communication de façon à pouvoir contrôler le temps alloué aux réunions comme un paramètre stratégique. Un agent de H n’est donc pas l’abstraction d’un collaborateur, mais l’abstraction d’une capacité de quelques heures d’activité par jour, selon plusieurs finalités.

Une organisation U est une collection d’agents, définis par leurs compétences. L’organisation U gère les tâches qui lui sont confiées en fonctions des compétences. Elle s’apparente au méta-processus de planification (au sens d’un planning de Gant) des tâches : qui fait quoi de quand à quand ? La modélisation de la spécialisation de l’entreprise joue sur le nombre d’unités et sur la distribution des compétences.

U1

Un

H



 

Un agent d’une unité U a pour but unique d’exécuter des tâches liées aux processus. Comme expliqué précédemment, les activités de management sont représentées par des agents de type H. La gestion du temps « disponible » pour la planification, réflexion, etc. est ignorée dans la version 2006 du modèle. Le temps « libre » est juste un « buffer » pour d’autres tâches. Cela signifie que, lorsque nous allons évaluer l’intérêt de disposer d’un peu de « marge » dans le dimensionnement, nous ne pourrons évaluer les avantages qu’en terme de flexibilité. C’est parfaitement logique, puisqu’il n’existe pas de modèle permettant d’évaluer les bénéfices de la réflexion (en terme d’anticipation, d’évitement de risques ou d’erreur, etc.).

Un agent d’une unité est donc simplement défini par un ensemble de compétences, auxquelles des niveaux sont associés. Nous utilisons un générateur aléatoire de profils de compétences qui équilibre la « valeur totale » de l’agent : la somme des niveaux reste constante. La sensibilité au niveau en terme d’efficacité économique est un paramètre externe du modèle. Ce paramètre décrit à quel point un spécialiste qui se concentre sur une compétence est plus efficace, à valeur intrinsèque égale, qu’un autre collaborateur de même valeur qui développe deux compétences. Ce paramètre est un bon exemple de paramètre externe, très variable selon le type d’activité et d’industrie, qui est difficile à évaluer, et qui justifie l’emploi de techniques de « sampling » pour travailler sur la thématique spécialisation vs. polyvalence.

D’un point de vue opérationnel, un agent est assimilé à son emploi du temps, c’est-à-dire la liste ordonnées des tâches auxquelles il participe. L’ordonnancement des tâches pour chaque unité est fait de façon simple, en utilisant une heuristique :

1.       recherche d’un sous-ensemble d’agent avec les bonnes compétences et disponible au plus tôt (le tri est fait avec une fonction qui est défini par les paramètres tactiques de l’organisation)

2.       recherche de la liste d’agent qui permet de terminer la tâche au plus tôt, en respectant les contraintes du nombre min/max d’agents

3.       la tâche est inscrite, de façon synchrone (i.e., même date de début et de fin pour tous) dans les emplois du temps de ces agents.

On notera la contrainte forte de synchronie, qui représente le travail en équipe. Pour éviter d’introduire une trop grande rigidité, chaque tâche est décomposée de façon préalable en sous-tâches,  de charge limitée, qui peuvent être confiée à différentes équipes en parallèle. Dans la pratique, nous décomposons  une « macro-tâches » en blocs qui sont de durée inférieure à 15 jour et peuvent être effectué par une équipe de 10 agents.

Comme nous l’avons expliqué dans la section 2, nous allons étudier les « stratégies organisationnelles » des entreprises selon 5 axes, qui correspondent aux cinq leviers que nous avons identifiés. Pour chacun, nous utilisons un paramètre simple (un pourcentage) :

bullettemps total passé en réunion : pourcentage du temps passé en réunion,
bulletorganisation plate ou profonde : profondeur de l’arbre H, qui est fonction du nombre moyen de subordonnés par manager,
bulletdegré de redondance ou, au contraire, organisation dimensionnée « au plus juste : nombre d’agents par rapport à la charge de travail théorique-. Ce paramètre existe à la fois pour le dimensionnement du management et des unités. Nous ne considérons que le dimensionnement du management dans la stratégie, tandis que le facteur de « marge » dans le dimensionnement des unites est un des paramètres des « scénarios ».
bulletspécialisation des collaborateurs (vs. généralistes) : distribution et nombre de compétences. Comme expliqué précédemment, nous utilisons un pourcentage de spécialisation : 100% représente un spécialisation complète (chaque agent possède une compétence unique) et 0% représente une polyvalence complète.
bullettype d’organisation matricielle : pourcentage des agents de H qui sont désignés dans des rôles de coordination processus, et n’ont par conséquent pas d’activité de type hiérarchique. On notera, puisqu’un agent ne représente pas un collaborateur mais une abstraction, que les variations de ce paramètre ne représentent pas des variations en terme de structure matricielle, mais en terme d’allocation des heures des managers.

 En revanche, l’utilisation des canaux pour les différents types de flux représente ce que nous avons appelé la « tactique » de l’entreprise, et que nous allons optimiser à l’intérieur de la simulation. Plus précisément, la tactique est l’ensemble des paramètres qui représentent :

bulletL'utilisation des quatre types de canaux de communication pour les 4 types de flux. Dans cette première version du modèle, nous utilisons une matrice à triple entrée : le type de flux, la priorité et le « span » du flux, c’est-à-dire le nombre de destinataires du message (cf. plus loin, Section 5).
bulletLe management des priorités : comment l’entreprise associe des priorités aux processus et aux tâches. Nous supposons que la priorité est une fonction de la valeur finale, du coût de production et de la probabilité de succès (sous forme d’espérance de résultat). En jouant sur les paramètres, on peut représenter des approches plus ou moins favorables à la prise de risque et des choix heuristiques (favoriser ce qui rapport et qui va bien, ou se concentrer sur ce qui a besoin d’être réparé, …).
bulletL’ordre de préférence de remplissage des agendas des agents, en fonction des compétences et de la disponibilité
bulletLe « diamètre réunionel » associé au système des réunions, c’est-à-dire le nombre moyen d’autres collaborateurs que chaque collaborateur rencontre durant ses réunions programmées (cf. Section suivante).

 

5. Modèles des flots d’information

5.1 Typologie des flux

L’exécution d’un processus engendre et nécessite un certain nombre de flux d’information. Le modèle que je propose en distingue quatre :

  1. les flux de transfert, lors du passage d’une tâche à une autre dans le déroulement d’un processus. Ce flux a pour origine les agents de l’unité qui termine la tâche et comme cible les agents de l’unité qui démarre la tâche suivante.
  2. les flux de « feedback » qui permettent à l’unité de signaler l’état de l’avancement ou les incidents (cf. section suivante) à son management
  3. inversement, les flux de « pilotage » ont pour origine le management H et pour cible l’unité U et servent à propager les ajustements en réaction aux événements (qu’ils soient internes ou externes), de deux types : re-priorisation des tâches ou re-allocation de ressources.
  4. des flux de synchronisation (par exemple, anticipation) entre l’unité qui exécute une tâche et les unités qui ont ou vont exécuter les taches précédentes ou ultérieure. Ce flux est proportionnel à la complexité et la « transversalité » de l’activité de l’entreprise. Il peut ne pas exister pour des processus extrêmement stables et matures, ou au contraire représenter une part importante du temps pour une entreprise jeune.

Les pourcentages de génération de type de flux par processus font partie des paramètres généraux (liés aux scénarios). Ils dépendent, par exemple, du type d’industrie (voire d’entreprise) :

-                   Processus plus ou moins complexes,

-                Processus plus ou moins transverses.

Il serait effectivement intéressant de savoir, pour une entreprise donnée, combine une heure d’activité génère d’heures ou minutes de transfert d’information et de synchronisation. Pour l’instant, nous allons traiter ces grandeurs comme des paramètres, mais leur détermination statistique n’est pas hors de portée d’une entreprise moderne.

Nous avions une typologie simple en terme de flux que nous pouvons encore simplifier puisque n’avons pas besoin d’associer des actions à la réalisation de l’ensemble des types de flux. Nous obtenons le deux catégories suivantes :

·         Monitoring & Feedback

·         Transfert & synchronisation :

 Un flux est donc caractérisé par son type, par le nombre de destinataire (le « span ») et par la durée totale de communication, qui est le produit du span et de la durée unitaire. La notion de span est une caractérisation abstraite du flux (elle n’est pas mesurée de façon habituelle) qui détermine le « degré de transversalité de l’entreprise ». Il a été communément remarqué que les entreprises ne sont pas égales devant de phénomène de l’accroissement des réunions, en fonction de leur taille mais surtout de la nature de leurs activités. Pour simplifier notre modèle et la compréhension des résultats, nous avons défini trois catégories de span :

  1. individuel : un seul destinataire
  2. faible : deux à quatre destinataires
  3. groupe : cinq à dix destinataires

La répartition des flux par groupe de span est un paramètre extérieur qui décrit le type d’entreprise que l’on veut simuler.

La durée globale d’un élément de communication est considérée comme proportionnelle à la durée de la tâche du processus à laquelle cet élément s’applique. Le facteur de proportionnalité est également un paramètre externe.

5.2 Typologie des canaux d’information

Les communications sont réparties selon quatre canaux :

  1. M(eet) : la communication se fait lors d’une réunion planifiée
  2. A(sync) : communication asynchrone, par email, papier, site web, etc.
  3. S(ync) : communication synchrone, par téléphone, IM ou en direct
  4. H(F2F): communication en one-to-one selon la « voie hiérarchique »

La répartition entre les canaux fait partie de la tactique de l’entreprise, en fonction du « span » (nombre d’agents impliqués dans le transfert d’information) et de la priorité du processus. La répartition « idéale » en fonction des besoins et de l’efficacité des canaux sera obtenue par apprentissage. Cela signifie que la matrice à trois entrées évoquée précédemment est obtenue par raffinements successifs (cf. prochaine section).

Le traitement d’un flux de communication est, finalement, relativement sophistiqué et peut être décrit par les étapes suivantes :

  1. déterminer le canal de communication (utilise la matrice à triple entrée)
  2. déterminer le nombre réel de participants ainsi que la durée réelle unitaire de communication à partir des données « théoriques », la charge L et le span S. Ce calcul représente notre modélisation de l’efficacité des canaux et est détaillée dans la section suivante.
  3. décomposer, si nécessaire, le flux en plusieurs unités de communication. Lorsque le canal est ASYNC, un flux à 1 + n participants (n lecteurs) est décomposé en n + 1 unités. Si il s’agit du canal SYNC, n participants produisent n/2 unités, une par communication entre deux participants. Dans le cas du canal HF2F, un flux produit (P – 1) unités (réunion de deux personnes) ou P est la profondeur hiérarchique de l’organisation. Une réunion (MEET) est directement considérée comme une unité.
  4. Chaque unité de communication est assignée et ordonnancée (cf. plus loin) comme un bloc synchrone (i.e., les participants sont actifs en meme temps)

 Il faut noter que le modèle s’est enrichi de façon progressive, au fur et à mesure que les versions plus simples aboutissaient à des simulations non réalistes.

 L’ordonnacement des unités de communication dans les emplois du temps des agents de H est similaire à l’ordonnancement des taches pour les agents des unités U :

1.       Recherche d’un sous-ensemble d’agents disponibles au plus tôt (le tri est fait avec une fonction qui est défini par les paramètres tactiques de l’organisation) et qui sont disponibles sur le canal concerné.

2.       Recherche de la date au plus tôt permettant d’inscrire le bloc de communication de façon synchrone pour les participants à cette communication. C’est parce que nous utilisons un ordonnancement synchrone que nous faisons la décomposition que nous venons d’expliquer en fonction du canal. C’est également pour cette raison que les tâches sont décomposées en sous-tâches de durée inférieure à une semaine, ce qui produit des éléments de communication courts (quelques heures) dont la planification synchrone est réaliste (pour représenter une réunion par exemple).

5.3. Caractérisation des canaux   
 

Nous caractérisons les quatre canaux de communication avec quatre paramètres, les trois que nous avons déjà présenté et que nous allons reprendre ; plus un quatrième qui représente la fréquence d’accès au canal :

bulletLe taux de répétition (R): nombre moyen de fois ou le message a besoin d’être émis pour être efficace. Cette idée élégante est due à Thierry Benoit : plutôt que de représenter une notion de perte d’information, ce qui est complexe, nous utilisons une caractérisation macroscopique qui précise combien de fois il faut répéter le message pour que l’information soit réellement transmise. Dans un premier temps, nous allons ignorer ce paramètre (et travailler dans un monde idéal ou « tout le monde comprends tout du premier coup ») mais, ensuite, nous pourrons étudier la sensibilité du modèle à cette dimension. Aujourd’hui, le « taux de répétition » est une grandeur que certains managers savent caractériser de façon intuitive (en fonction du type de message), mais il serait envisageable de le mesurer (par exemple sur les mails) et d’en faire un indicateur d’efficacité (par exemple, un sujet qui génère des dizaines de cascades de mails aurait-il été mieux traité en direct ?).
bulletMutualisation (M): le nombre de récepteurs moyen d’un message. Cela permet de représenter la mutualisation obtenue en réunion ou avec l’envoi d’un email. Contrairement au paramètre suivant, on parle ici des récepteurs « utiles » qui sont réellement concernés par le transfert d’information.
bulletUtilisation (U): le nombre de personnes occupées durant l’échange d’information, y compris les personnes qui ne sont pas concernées de façon utile (participants qui s’ennuient en réunion, destinataires inutiles en cc d’un email, etc.). Ce paramètre est facile à mesurer de façon statistique (nombre de participants moyens dans les réunions planifiées, nombre de destinataires dans les mails.
bulletFréquence (F) : ce dernier paramètre représente la fréquence « de base » de l’accès au canal. Par exemple, une collaborateur a, en moyenne, quatre réunions planifiée par jour, il lit ses messages deux fois par jours (fréquence de 5 heures), etc. Ces valeurs sont très dépendantes de la culture d’entreprise (est-ce qu’on sort d’une réunion pour prendre un coup de fil ?) mais elles sont raisonnablement stables et faciles à estimer.

Nous pouvons en déduire les règles d’ordonnancement de « charge de communication en fonction du canal ». Cela signifie que nous attribuons, en fonction du canal, une durée et un nombre d’agents à une tache de communication définie par une charge théorique (L, en heure, appelée durée théorique globale de communication précédemment), de la façon suivante :

bulletsi le canal est synchrone, la durée globale (durée unitaire x nombre d’unité) est égale à la charge et le nombre de participants par unité est deux (d’où le principe de décomposer un flux en S/2 unités).
bulletsi le canal est le canal de réunion, D = L * R et le nombre d’agents est S * U / M. Le rapport (U/M) est un facteur multiplicatif qui traduit le nombre de participants « inutiles » lors d’une réunion.
bulletsi le canal est le canal mail (ASYNC), la durée D vaut L * R, tandis que le nombre d’agents vaut *alpha* + *beta* x S * (U / M). Nous utilisons deux constantes : *alpha* est le rapport de vitesse d’écriture sur celui de l’élocution (combien de temps faut il pour écrire un mail par rapport au temps pour le dire) et *beta* est le rapport de la vitesse de lecture sur celui de l’écoute. Pour faire simple, on écrit (lorsqu’on le fait en continu devant un terminal, lorsqu’on écrit un mail) 5 fois plus lentement qu’on ne parle, mais on lit 10 fois plus vite (resp. 30, 150 et 300 mots à la minute). C’est une simplification, il existe une littérature passionnante et abondante sur le sujet. Pour un résumé et une bibliographie, voir : http://www.keller.com/articles/readingspeed.html
bullet si le canal est HF2F (le canal hiérarchique), nous utilisons la profondeur de la hiérarchie (P) comme approximation de la longueur de la chaîne de points « face à face » qui doivent avoir lieu pour transporter l’information d’un point à une autres (P – 1). C’est d’ailleurs sur cette hypothèse que les partisans des organisations plates s’appuie : une organisation plus plate signifie une redescente/remontée d’information plus rapide. La durée globale est (P – 1) x L / S, ce qui signifie que nous faisons l’hypothèse que le nombre de points est indépendant du span. En clair, le canal hiérarchique est un peu coûteux, mais il est efficace pour toucher plusieurs destinataires..

5.4. Modèle pour la latence

Nous arrivons maintenant à la question cruciale de la modélisation de la latence. Commençons par caractériser ce la latence signifie dans notre modèle macroscopique du fonctionnement de l’entreprise. Le déroulement des processus (enchaînement de tâches) produit des transfert de flux d’information (monitoring, feedback, synchronisation, etc.). Comme notre modèle d’ordonnancement traite ces flux en bloc, on ne peut pas utiliser de dépendance entre des blocs. Par exemple, si la coordination d’une activité de 100 homme.jour nécessite 50 heures de réunion, nous allons placer un bloc de 50h. La latence est le temps qu’il faut pour transmettre une information d’une unité au management (ou à une autre unité) au travers de ce canal (réunion). La modélisation par bloc est suffisante pour raisonner sur les quantités totales, mais pas sur la propagation. La réalité de ce qui est représenté dans le modèle par deux blocs consécutifs peut être un entrelacement de réunions. Pour que le modèle d’ordonnancement puisse servir à calculer la latence, il faudrait un niveau de précision beaucoup plus grand, et on retomberait sur un modèle « intractable » (en franglais).

Voici, en conséquence, les modèles que j’ai retenus :

bulletsi le canal est ASYNC, la latence est 1/F x N. F est la fréquence, N est le nombre de sujets moyen dans l’agenda des agents impliqués. Le principe est de faire le produit de la latence « à vide » (si l’agent est disponible) par un facteur qui indique la probabilité d’être disponible pour le sujet concerné. C’est la que nous pouvons utiliser les informations produites par l’ordonnancement. Puisque les blocs sont triés par priorités, nous pouvons compter le nombre de sujets plus importants et l’utiliser comme facteur multiplicateur (N). De la sorte, si le flux est prioritaire, on supposera que la première « pause email » est la « bonne », tandis que si il est le troisième dans l’ordre d’importance, on supposera qu’il faut attendre trois séances de lecture de mail pour traiter le sujet.
bulletsi le canal est SYNC, la latence est 1/F x (N1 + N2 – 1). Le doublement de l’effet du taux d’occupation est lié au fait qu’il faut que les deux agents soient disponibles au même moment pour pouvoir communiquer. C’est également une approximation optimiste par rapport à un modèle probabiliste qui ferait un produit de disponibilité.
bulletsi le canal est MEET, il nous faut estimer deux choses: la latence pour trouver la réunion “adaptée”, soit 1/F * N, et le nombre de réunions à monter pour transmettre l’information d’un point à un autre. Nous avons besoin, pour cela, d’introduire un autre paramètre qui décrit la culture de réunion d’une entreprise, que nous avons appelé « diamètre réunionnel » (DR) est qui est le nombre de personnes rencontrée (total) dans les réunions programmée d’une personne. DR est fonction du nombre de réunion, de la taille des réunions et du fait que les réunions ait lieu « toujours avec les mêmes » ou au contraire « couvre une grande partie de l’entreprise ». Le degré de connexion (dans le graphe des participation aux réunions) est le nombre de réunions nécessaires pour faire passer l’information est estimé par log(#Agents)/log(DR). Par ailleurs, en première approximation, (DR / U) représente le nombre de réunions différentes d’un agent. Il faut donc attendre (DR / U) réunions en moyenne pour trouver « la bonne » pendant la quelle l’information est passée à une autre personne qui va relayée à la réunion suivante et ainsi de suite … Le nombre de relais est la degré de connexion dont nous venons de parler.      
Ceci nous donne la formule de la latence pour les réunions :
                                1/F * log(#Agents)/log(DR) * (DR / U)   
Le fait que ce temps est indépendant du taux d’occupation des agents est bien sur une simplification, qui suppose que le principe des réunions programmées avec un ordre du jour et un thème est respecté.
bulletenfin, si le canal est HF2F, nous comptons simplement le nombre de points hiérarchiques nécessaires, comme dans la section précédente et obtenons 1/F *  (P – 1) * (H / 2), en supposant que si un manager a H subordonnés, le point adéquat parmi les points hiérarchiques de fréquences 1/F est en moyenne « au milieu ».

6. Théorie des Jeux et Apprentissage

Nous allons aujourd’hui nous intéresser à une approche de la modélisation de systèmes complexes fondée sur la théorie des jeux, et sur la théorie de la rationalité limitée, qui postule que le comportement de chaque acteur est lié à l’optimisation d’objectifs propres (qui correspondent à sa perception). Nous allons proposer une méthode de simulation dont l’objectif est de faire émerger des propriétés d’un système complexe, incertain et partiellement inconnu.

Le point de départ est le suivant : supposons que nous ayons construit un modèle, qui nous semble valide dans sa structure, mais pour lequel ils soit difficile d’obtenir les paramètres (par exemple, les cœfficients des équations du modèle). Ce modèle représente un « jeu » dans le sens le plus général possible : il existe un certain nombre d’acteurs, et une notion de valeur produite par chaque acteur en fonction du contexte (marché) et des décisions des autres acteurs. Le modèle est en quelque sorte une mise en équation des « règles du jeu ». Ce qui est difficile dans une modélisation économique n’est pas de trouver des équations, mais bien d’ajuster les paramètres pour décrire une réalité le plus fidèlement possible. Nous allons distinguer trois types de « difficultés » :

  1. les coefficients représentent des sensibilités, des élasticités, qui demanderaient des études poussées. Par exemple, il est raisonnable de modéliser l’appétence du public à un produit donné avec une « courbe en S », il est par contre difficile, sauf à disposer d’études marketing, de connaître précisément les valeurs qui caractérisent cette courbe en S.

  2. les coefficients représentent la stratégie des acteurs (ou de l’acteur, si il est unique). Dans ce cas, nous souhaitons précisément conserver ces paramètres globaux de notre modèle. Nous ne connaissons pas forcément la stratégie des acteurs, mais l’intérêt de la simulation est précisément d’étudier les effets combinés des différentes stratégies, comme dans une approche de théorie des jeux.

  3. Les coefficients qui sont sous l’arbitrage de chaque acteur, mais qui sont dominés par les objectifs stratégiques. Autrement dit, il s’agit de paramètres que chaque acteur peut adapter en fonction de ses objectifs. Si nous laissions ces paramètres comme des éléments de stratégies, nous aurions un espace de combinaisons très grand et dont une partie n’aurait pas de sens.

Le premier groupe contient les paramètres qui sont indépendants des acteurs et qui peuvent représenter « le marché ». Le deuxième groupe contient les paramètres qui définissent les objectifs de chaque acteur dans le jeu/modèle, tandis que le troisième groupe contient les paramètres que chaque acteur tient à sa disposition pour atteindre ses objectifs. Pour reprendre un exemple trivial, le premier groupe peut décrire les appétences du marché à un certain type de produits, le second groupe les objectifs des acteurs (part de marché, bénéfice, etc.) et le troisième groupe les tactiques associées (prix de vente, promotion, etc.)

Nous proposons une approche que nous nommerons « Simulation par Jeux & Apprentissage », qui consiste à étudier les effets de combinaisons de stratégies dans un contexte incertain, et lorsque la fonction qui décrit le retour économique est elle-même complexe (ce qui représente donc une extension de la « théorie des jeux classiques » dans deux dimensions. Plus formellement, nous allons supposer que pour chaque combinaison de stratégie d’acteur, la fonction qui décrit le retour économique est une fonction paramétrique, dont une partie des paramètres décrit le marché et n’est connu que de façon approximative sous la forme d’intervalle, et l’autre partie est optimisable par chaque acteur. Nous retrouvons donc ici nos trois groupes de paramètres que nous allons traiter de la façon suivante :

  1. Les paramètres du premier groupes, dits paramètres économiques, seront géré par une simulation de type Monte-Carlo, c’est-à-dire en générant un très grand nombre de tuples de paramètres de façon aléatoire. Comme nous ne formulons aucune hypothèse sur la distribution des « vraies valeurs » des paramètres au sein des intervalles, nous utiliserons une distribution uniforme des valeurs aléatoires.

  2. Les paramètres qui décrivent les stratégies des acteurs sont identifiés comme paramètre stratégique et vont servir à déterminer une matrice d’interaction (à n dimension, pour n joueurs). Le but de la simulation sera de caractériser une, plusieurs, ou l’ensemble des cases de cette matrice.

  3. Les paramètres du troisième groupe sont les « paramètres tactiques » et nous allons déterminer leurs valeurs (ou leurs trajectoires) par optimisation/apprentissage. Si le problème d’optimisation est parfaitement défini pour chaque acteur, le problème global est plus complexe, et nous allons voir plusieurs façons de l’aborder.

Le déroulement de la simulation, pour un ensemble de stratégies fixé (c’est-à-dire pour une case de la matrice) peut être décrit comme suit (j'avais prévu une Figure mais je maîtrise mal cet outil :-(). Chaque tirage des valeurs des paramètres économiques correspond à une phase. Une simulation va comporter de quelques milliers à quelques millions (ou plus) de phases, selon la complexité de l’espace des paramètres économiques. La simulation d’une phase consiste à rechercher un équilibre de Nash dans l’optimisation des paramètres tactiques des acteurs. Il y aurait un livre entier à écrire sur la caractérisation des espaces de recherche et sur les stratégies d’optimisation. Pour l’instant, nous procédons par :          

(a)             optimisation locale pour chaque acteur pour ajuster ses paramètres,

(b)             cycle d’optimisation acteur par acteur, jusqu’à l’obtention éventuelle d’un point fixe.

Compte tenu de cette approche très simple, nous pouvons caractériser certains équilibres (de Nash par construction) mais nous ne pouvons pas garantir que nous allons trouver de tels équilibres si ils existent. Notre approche expérimentale distingue 3 états :

-           Convergent,

-           divergent (on peut caractériser une trajectoire divergente, le plus souvent qui correspond à une « guerre » économique)

-           chaotique (par différence).

Une modélisation est « réussie » si les phases chaotiques sont « rares ». Les informations que nous cherchons à extraire (dominance d’un acteur, adéquation d’une stratégie à un objectif, etc.) sont obtenues des phases convergentes. Ce sujet méritera, bien sûr, des développements plus longs.

Nous allons maintenant illustrer cette approche sur deux exemples.

Le premier exemple que j’ai implémenté représente une simulation de trois acteurs dans un marché mature, tel que celui de la téléphonie mobile. Comme il s’agit d’un marché avec subvention du terminal, donc coût d’acquisition important (cela serait vrai pour de nombreux autres exemples), il existe un certains nombre de dimensions dans les actions de chaque acteur qui rend le jeu « intéressant » (quelle subvention, quelle fidélisation, etc.).

Le modèle économique est simple, il décrit le marché selon deux processus, celui de « churn » et celui d’acquisition. Les équations sont des équations « différentielles », en ce sens que les valeurs sont obtenues comme la somme d’une valeur par défaut et d’une différence. Les valeurs par défaut (churn et part de marché) sont celles qui ont été publiées en 2005. Les différences sont des fonctions linéaires des changements de prix, de subvention et de fidélisation. Les paramètres économiques sont précisément ces coefficients d’élasticité du comportement des consommateurs par rapport aux prix. 

Le « jeu » se joue sur 3 ans. Les stratégies représentent simplement les objectifs, sous forme d’une  trajectoire espérée, en terme de part de marché, d’ebitda ou de chiffre d’affaire. Par exemple, la stratégie d’un acteur peut être de garantir une croissance de 8% de son EBITDA par an. Certaines stratégies sont plus agressives que d’autres (par exemple, si chaque acteur souhaite augmenter sa part de marché), mais il est possible de représenter des stratégies plus « financières » (orientées résultat).

La tactique dans ce modèle représente les règles qui vont déterminer le prix de vente du « produit moyen », le montant de la subvention moyenne et le montant de ce qui est dépensé par client dans le programme de fidélisation. La même approche différentielle/linéaire est appliquée : nous partons des valeurs moyennes 2005 avec des coefficients pour introduire des variations linéaires en fonction des variations constatés sur les trois paramètres stratégiques (part de marché réelle vs. objectif, ebitda constaté vs. objectif et chiffre d’affaire vs. objectif). La tactique est donc décrite avec une matrice 3 x 3. L’apprentissage se fait par optimisation locale (hill-climbing) de chacun des 9 coefficient et semble donner de bons résultats : pour une phase et une situation donnée (les jeux des autres acteurs), l’algorithme d’apprentissage converge très rapidement.

Bien sûr, ce modèle souffre de nombreux défauts, le premier étant la linéarité des équations (ce qui serait facile à corriger avec des « courbes en S » appropriées). La seconde limitation (cohérente avec la première) est que la tactique est une matrice indépendante de la situation. Cela signifie que ce modèle n’est « valide » que lorsque les phases correspondent à des évolutions proches de la situation de 2005. Les premiers résultats sont néanmoins intéressants J Je renvoie le lecteur aux autres messages du blog sur ce thème.

Ce second exemple est précisément l’étude des effets combinés des leviers stratégiques d’organisation d’une entreprise. Dans cet exemple, nous n’avons qu’un seul acteur, mais un espace de stratégie organisé selon 5 axes et pour lequel nous souhaitons examiner les combinaisons, à la manière d’une matrice de théorie des jeux. Ici, le modèle économique représente les flux d’informations et de travails nécessaires pour effectuer des processus dans une entreprise. Plus précisément, voici quelques exemples de ce que nous avons appelés les paramètres économiques :

bullet

Facteur de compétence: gains de productivité en fonction du niveau de compétence.

bullet

Efficacité des canaux de communication.

bullet

« Besoin de coordination » (quantité de temps pour le transfert, quantité de temps pour la synchronisation, …).

bullet

Coût du travail (en % de la valeur produite).

bullet

Quantités d’aléas générés lors de la simulation.

Ces paramètres sont définis par des intervalles (min, max) et nous utiliserons l’approche Monte-Carlo pour engendrer des phases correspondant à des situations multiples. Si l’on se réfère à ce qui a été dit dans les messages précédents, chaque phase (instanciation des paramètres économiques) va correspondre au contexte économique et industriel d’une entreprise.

Les stratégies représentent les choix d’organisation selon les cinq leviers que nous avons identifiés dans le message précédent :

-           temps total passé en réunion,

-           organisation plate ou profonde,

-           degré de redondance ou, au contraire, organisation dimensionnée « au plus juste »,

-           spécialisation des collaborateurs (vs. généralistes),

-           type d’organisation matricielle.

L’objectif est de confronter les effets combinés des 5 axes stratégiques. En particulier, il s’agit de voir si il est possible de caractériser des « espaces de phases » propices à certaines combinaisons stratégiques.
Les paramètres tactiques représentent l’adaptation de l’entreprise en fonction de ses objectifs stratégiques. Plus précisément nous allons représenter les choix suivants :

bullet

Management du temps : comment le temps est alloué dans l’entreprise par catégorie (communication, travail, préparation, etc.)

bullet

Utilisation des canaux de communication en fonction des flux d’informations. Les canaux correspondent approximativement aux contacts directs (synchrones), asynchrones (mails) et aux réunions. Les différents flux correspondent au fonctionnement de l’entreprise et de ses processus (pilotage, synchronisation, transfert).

bullet

Gestion des priorités : chaque processus participe à la création de valeur, la gestion des priorité représente à la fois la formule pour attribuer des priorités variables en fonction des différents critères (valeur, délai, difficulté) et la façon dont ces priorités influence les transferts d’information (flux).

bullet

Gestion des aléas et délai : le modèle de fonctionnement inclut la génération d’aléas en terme de valeur et de délai. La façon dont ces aléas sont traités est également un paramètre tactique.

Il va de soi que pour que les indications relevées par simulation soient le moins du monde pertinentes, il faut d’abord se convaincre du bien-fondé du modèle. Pour cela il nous faudra revenir en détail sur la notion de processus et la façon dont ils sont représentés dans notre modèle.
Cette approche s’inspire de la théorie des jeux, mais représente une évolution radicale, puisque nous quittons la modélisation mathématique pour rentrer dans la modélisation informatique (cf. « A New Kind of Science » de Steve Wolfram). C’est à la fois beaucoup plus puissant et beaucoup moins convaincant. Les équations qui représentent les comportements des joueurs et leurs retours ne sont plus des matrices ou des processus markoviens, ce sont des automates programmables. C’est pour cela que nous avons besoin d’apprentissage.

7. Simulation et Scénarios

 Le principe de fonctionnement du simulateur reprend l’approche de « Jeux et apprentissage » que nous venons d’évoquer. Les paramètres du modèle sont décomposés en trois catégories :

  1. Le « scenario » regroupe les paramètres « externes » à l’entreprise, qui décrive le secteur d’activité. Pour chaque paramètre, un intervalle de variation est fourni, et il est exploré par « instantiation », suivant une approche de type Monte-Carlo. Nous pouvons créer plusieurs scénarios qui correspondent à des domaines d’activités ou des macro-hypothèses différentes.
  2. La stratégie est l’ensemble des 5 paramètres, liés à l’entreprise et représentant des choix explicites en terme de management, dont nous souhaitons étudier les effets, y compris les effets combinés
  3. La tactique est un ensemble de paramètres plus techniques, toujours sous le contrôle de l’entreprise, que nous pouvons ajuster par apprentissage pour trouver une valeur optimale (i.e ; qui optimise le revenu)

 

 

Scénario

Stratégie

5 leviers

Tactique

Expérience

Simulation

Apprentissage

Valeur produite

Par les processus

 

Une expérience de simulation est définie par la donnée des deux éléments : scenario, stratégie ainsi que quelques méta-paramétres qui contrôle l’algorithme suivant :

- Répéter N fois (nombre d’instanciations) :

  1. Tirer une valeur aléatoire des paramètres du scénario
  2. Executer K fois une boucle d’optimisation des paramètres :

     Pour chaque paramètre de la stratégie,

    Ajuster la meilleure valeur possible (cela dépend du domaine de valeur, continu ou discret) :

    -         Choisir un « mouvement local »

    -         Tester le changement sur 5 tirages (chaque tirage produit une charge de travail différente par instantiation aléatoire des processus)

    -         Le test consiste « simplement » à lancer la simulation à événements discrets

    -         Le changement est retenu si il améliore le revenu généré

     

  3. produire 10 simulations pour extraire des valeurs moyennes et écarts-type des paramètres les plus importants

- Stocker les résultats de l’expérience sur un fichier

 On voit que l’algorithme d’apprentissage est très simpliste, mais il est néanmoins effectif. En 2007, l’utilisation de méthodes plus puissantes telles que les algorithmes génétiques ou hybrides sera à l’ordre du jour …

Le simulateur représente approximativement 2000 lignes de CLAIRE <référence>, soit approximativement 8000 lignes de C++. Avec le recul des deux dernier mois, je suis surpris par la difficulté rencontrée à réaliser un simulateur stable et réaliste.

(1)   réaliste : comme les messages précédents l’atteste, ce simulateur est plus complexe que prévu. La structure du programme (simulation à événement discrets, génération de processus, apprentissage) s’appuie sur des expériences précédentes. En revanche, la modélisation des tâches et les méthodes d’ordonnancement sont plus complexes et subtiles que ce à quoi je m’attendais.

(2)   stable (et efficace) : pour traiter plusieurs milliards d’événements, il faut une programmation « un peu sérieuse » avec des structures de données optimisée et un soin (classique) porté à la gestion de la mémoire.

A l’heure où j’écris ces lignes, le programme de simulation tourne depuis plus d’une semaine. Chaque fichier script contient entre 10 et 20 expériences à réaliser, et utilise le PC (moderne, bi-pro et 3.2 Ghz/1Go de RAM) en continu pendant plusieurs jours. En effet :

    bullet

    une itération de simulation consiste à simuler une année d’activité et à ordonnancer 25 000 tâches.

    bullet

    un itération d’apprentissage nécessite, pour l’instant, 1000 simulations, soit 25 millions de tâches à ordonnancer

    bullet

    une expérience repose, pour l’instant, sur 10 instantiation Monte-Carlo (chiffre qui devra être porté à 100 par la suite).

Ce programme de recherche serait un bon candidat pour un grid … J

8. Conclusion

Il est beaucoup trop tôt pour écrire une conclusion J  Il faut continuer à suivre le blog pour connaître les épisodes suivants … ainsi que les premiers résultats de la simulation.