Le module processusCette leçon présente le module processus, qui permet de rendre explicite l'organisation. Présentation de la notion de découpage en processusLe découpage en processus est utile aussi bien pour organiser sa documentation personnelle que pour organiser celle d'une entreprise, association ou administration. Idéalement, l'ensemble des activités devrait décrire exhaustivement tout ce qui est fait au niveau de l'organisation. Une activité est un processus élémentaire qui est fait généralement par une seule personne, en une seule fois, c'est à dire que l'on ne peut pas redécouper. Ensuite, on regroupe les activités en processus simples, puis ceux-ci en processus plus généraux, et ainsi de suite. Dans la pratique on ne part généralement pas des activités quand on envisage la description du fonctionnement d'une organisation. En effet, ce qui vient immédiatement à l'esprit correspond souvent à des processus intermédiaires. Par exemple 'Les devis'. Si on y pense, c'est parce-que par exemple le temps d'établissement d'un devis est jugé trop long, ou que que le taux d'acceptation des devis est trop faible. A partir de là, il faut créer une fiche processus 'Devis', et ensuite expliciter ce processus, c'est à dire le détailler en les multiples sous processus qui le composent. Par exemple 'Prendre rendez vous avec le client pour lui faire préciser son besoin', 'choisir une solution technique', 'consulter les fournisseurs en vue du chiffrage', 'établir le devis', 'le présenter au client', 'relancer le client', etc. Or, ce qui pose problème, par exemple en constituant un goulot d'étranglement, ce n'est pas le processus devis dans son ensemble, mais un des sous processus, sur lequel on va être amené à approfondir l'analyse. De plus, ce qui conduit généralement à l'inefficacité, l'insatisfaction, c'est la présence de boucles inutiles liées au fait que l'on démarre une activité en ayant pas à disposition tous les éléments techniques et ressources nécessaires à sa bonne exécution. Par exemple, au moment du choix technique, on constate que une question n'a pas été posée au client. Dans un deuxième temps qu'il convient de se poser régulièrement la question : est-ce que ce que je suis en train de faire à l'instant fait bien partie de m'on arborescence de processus, où a été oublié. Remarquez aussi que dans certains cas, il peut y avoir une correspondance forte entre un processus et une organisation, si bien que l'on risque de ne pas bien savoir dans laquelle des deux pages ranger une information. Par exemple 'Payer ses impôts' est un processus, et 'Les Impôts' (ou 'Le fisc') est un tiers. Dans ce cas, il est judicieux de déplacer l'une des deux fiches (en utilisant le mode organiser de Storga) pour la mettre soit dans la même page Storga que l'autre, soit dans une sous page ce cette autre. Dans notre exemple, on pourrait décider de ranger dans la même page la fiche processus 'Payer ses impôts' et la fiche organisation 'Impôts'. A l'inverse, si l'on paye des impôts dans plusieurs pays, on peut préférer créer une sous page avec le tiers 'Fisc France' à l'intérieur de la page 'Payer ses impôts'. Voici, pour conclure cette introduction, quelques références externes concernant la notion de processus : ↣ Article wikipedia présentant la gestion de processus L'association APQC propose, sous la dénomination PCF (Processus Classifaction Framework), une classification standardisée des processus. Nous ne recommandons pas sa mise en oeuvre en l'état, mais la lecture de leur arborescence de processus peut être utile pour ne pas oublier certaines activités, et suggérer des regroupements pertinents mais différents du découpage induit par l'organigramme de votre organisation. Le module découpage en processusVoici le module processus complet, prêt à l'emploi : Le formulaire de recherche et le formulaire de créationLa mécanique de ces deux formulaires est très similaire à celle présente dans les modules personnes et organisations. Relisez et vérifiez que vous comprenez bien le programme du formulaire de création, qui n'est qu'une révision de ceux présents dans les modules personnes et organisations : if button_name="create" La fiche modèle des processusLa fiche modèle d'un processus est assez simple. Pour établir l'arbre des processus, on s'est contenté d'un champ 'Processus parent' au niveau de chaque fiche processus. Il s'agit là d'une propriété de topologie élémentaire : pour décrire sans ambiguïté un arbre, il suffit que chaque noeud (hormis la racine) indique quel est son unique parent. Les sous processus de chaque processus sont donc tous les processus ayant ce processus particulier indiqué au niveau de leur champ 'Processus parent'. Ils sont listés automatiquement au niveau de la fiche via un bloc Storga de type 'vue'. Cette vue fait référence à l'état listant l'ensemble des processus, et utilise le nom du processus pour positionner le champ 'parent_filter' de l'état. La liste de tous les processusAttention: ne confondez pas la sous page contenant la liste de tous les processus, simple état équivalent de ce qui se trouve dans les modules personnes et organisations, avec celle mise en forme, que nous présenterons plus loin. La seule bizarrerie de cet état de la liste des processus est sa formule de filtrage : (process contains process_filter) and (shunt parent_filter="root" parent="" (parent contains parent_filter)) là où l'on aurait pu attendre une version plus simple du type : (process contains process_filter) and (parent contains parent_filter) Le '(shunt parent_filter="root" parent="" ' qui a été ajouté permet, en indiquant 'root' au niveau du filtre, de ne lister que les processus principaux, c'est à dire ceux qui ne font pas partie d'un processus plus grand, c'est à dire ceux dont le champ 'parent' est vide. La version mise en forme de la liste des processusVoici, en mode organiser détaillé, et en affichant les blocs cachés, le contenu de la sous page présentant la liste des processus mise en forme. On y trouve deux parties. La partie 'Les processus généraux' est constituée d'un formulaire et d'une vue. La partie 'Tous les processus' est constituée d'un bloc de type 'Dataware', et d'un programme. L'utilisation du bloc dataware fait l'objet de toute la partie 'Mise en forme avancée' du manuel Storga, et dépasse très largement le niveau de compétence attendu au niveau 2 de l'autoformation. Pour autant, voici quelques explications concernant le programme qui rempli le tableau du bloc dataware : var (Index Str Str) path Le coeur de ce programme est la variable 'path' qui vise à associer à chacun des processus une chaîne de caractères que l'on appellera dans la suite son chemin, et qui est la liste de tous les processus conduisant à celui-ci, en descendant la séquence de parentée. Le problème, c'est que l'on ne peut pas déterminer le chemin d'un processus directement, par une simple formule. On ne peut le déterminer que par itération. report @processes_list ce qui signifie que si le processus n'a pas de parent, alors son chemin est simplement son nom, et sinon son chemin est provisoirement la chaîne de caractères '?' qui signifie que le chemin n'est pas encore déterminé. Ensuite, on effectue un certain nombre de nouveaux parcours de la liste des processus. On effectue un nouveau parcours aussi longtemps que la variable 'again' est vraie, ce qui signifie que l'on a réussi à déterminer le chemin d'au moins un nouveau processus lors du parcours précédent. report @processes_list ce qui signifie que si chemin correspondant à ce processus n'est pas encore déterminé, mais qu'il a un parent, et que le chemin du parent est déterminé, alors on peut déterminer le chemin de ce processus par concaténation du chemin de son parent, du caractère '/', et de son nom. Remarquez enfin que toutes les instructions de ce programme commençant par 'dw_' servent à remplir au vol le bloc dataware qui effectuera l'affichage effectif. Elles sont documentées dans cette page du manuel Storga : → Le type de données Dataware Dans le cas présent, on va utiliser une 'bin' (ou corbeille, ou ligne, comme vous préférez) pour chaque processus. La ligne qui est importante est : dw_bin process label (repeat (path:process count "/") "· ")+process order path:process qui enregistre de nouveau un processus (avec le type dataware, on peut déclarer plusieurs fois la même ligne; c'est la dernière définition qui sera prise) et précise : Travaux pratiques
|