• Aucun résultat trouvé

Notion de Processus Collaboratif

Etat de l’art

2.3.2 Notion de Processus Collaboratif

La notion de processus collaboratif a ´et´e introduite pour formaliser et g´erer la collaboration au sein d’un processus. Un mod`ele de processus collaboratif d´ecrit la r´epartition du travail en son sein ainsi que les contraintes impos´ees. Une instance de processus collaboratif repr´esente la collaboration entre acteurs. Dans la suite de cette th`ese, nous adoptons la terminologie suivante : Processus collaboratif : c’est un processus qui est r´ealis´e par diff´erents acteurs. Un processus est d´ecompos´e en diff´erentes tˆaches. Les acteurs peuvent r´ealiser des tˆaches seuls ou peuvent participer `a la r´ealisation d’une mˆeme tˆache. La figure 2.4 montre un exemple de processus mod´elis´e en SPEM 2.0 sous forme de trois tˆaches : ”Design Modules” r´ealis´ee par un concepteur (Designer ), ”Develop Module 1” et ”Develop Module 2” r´ealis´ees chacune par un d´eveloppeur (Developer ). Les tˆaches ”Develop Module 1” et ”Develop Module 2” utilisent respectivement les produits ”Module 1” et ”Module 2”.

Comme mentionn´e dans l’introduction (section 2.1), nous distinguons deux formes de collabo-ration :

— Collaboration faible : Cette collaboration consiste en une r´epartition du travail entre plusieurs acteurs pour accomplir diff´erentes tˆaches. Ces acteurs peuvent jouer le mˆeme rˆole ou des rˆoles diff´erents. C’est le type de collaboration le plus courant.

Mo-Figure 2.4: Exemple de processus simple mod´elis´e avec SPEM 2.0.

dules et les deux tˆaches de d´eveloppement (Develop Module 1 et Develop Module 2 ). Cette collaboration permet de sp´ecifier la relation entre les diff´erentes tˆaches du pro-cessus (”inter-task relation” ). Les tˆaches dans cet exemple sont r´ealis´ees par les rˆoles designer et developer (voir figure 2.5).

Figure 2.5: Exemple de collaboration faible.

— Collaboration forte : cette collaboration consiste en une r´epartition du travail entre plusieurs acteurs pour accomplir la mˆeme tˆache. Ces acteurs jouent le mˆeme rˆole. Dans notre exemple, il peut arriver que la tˆache ”Design Modules” soit collaborative. La collaboration dans cette tˆache va porter sur la relation entre ses diff´erentes instances et leur coordination. De ce fait sur la figure 2.6, nous avons trois acteurs, Alice, Bob, Eve, jouant le rˆole de Designer pour la r´ealisation de trois instances de la tˆache ”Design

Module”. Cette notion de collaboration forte nous am`ene `a consid´erer une tˆache sous forme de plusieurs instances.

Figure 2.6: Exemple de collaboration forte.

Tˆache collaborative : une tˆache collaborative est une tˆache r´ealis´ee par une collaboration forte. A l’ex´ecution, la tˆache collaborative donne lieu `a plus d’une instance de la mˆeme tˆache. Nous parlons dans ce cas de tˆache multi-instance.

Dans la suite de cette th`ese, nous focalisons notre ´etude sur la notion de collaboration forte. Un processus collaboratif est un processus contenant une ou plusieurs tˆaches collaboratives. La Figure 2.7 repr´esente la d´ecomposition d’une instance de tˆache collaborative en plusieurs instances de tˆaches ´el´ementaires. De ce fait, l’instance d’une tˆache collaborative est d´esign´ee par le terme de tˆache multi-instance. Le nombre d’instances ´el´ementaires d´epend de la complexit´e de la tˆache collaborative, et du contexte du projet.

Dans cette figure, instance A1, instance A2 et instance A3 sont des instances de la tˆache collaborative A. Ces instances sont g´er´ees `a l’ex´ecution et sont assign´ees chacune `a un acteur sp´ecifique.

Pour permettre un contrˆole fin des interactions entre les acteurs du processus, une bonne coordi-nation est essentielle. (Malone and Crowston, 1990) ont propos´e une th´eorie de la coordination. Cette derni`ere est importante dans la collaboration parce que permettant une bonne utilisation des ressources utiles `a l’accomplissement des tˆaches. La coordination permet de savoir `a quel moment chaque participant du processus doit intervenir. Elle permet aussi d’influer sur l’uti-lisation des produits en les rendant disponibles pour l’activit´e ad´equate et ce au bon moment dans le cycle de vie d’un processus.

Avec l’av`enement du d´eveloppement agile qui permet une planification souple et adaptative au changement (´evolution fonctionnelle et/ou ´evolution technique), les exigences d’un projet ne sont plus fix´ees d`es le d´ebut. Il est alors difficile d’avoir un mod`ele de processus complet d`es le d´ebut sans changement au cours de l’ex´ecution. L’impact sur la collaboration est que les activit´es et les rˆoles de chaque participant ne peuvent pas forc´ement ˆetre d´efinis et exhaustifs au d´ebut de l’ex´ecution. Ajout´e `a cela, il peut se produire des changements de contexte amenant une ´

evolution et fr´equente du processus. Pour supporter ces changements de contexte, les processus collaboratifs doivent ˆetre agiles d’o`u la notion de flexibilit´e `a l’ex´ecution.

2.4 Exigences pour la Gestion de Processus

Collabora-tifs

Une gestion efficace de processus collaboratifs devrait fournir un contrˆole `a la fois fin et flexible de ces processus. Pour atteindre cet objectif, il faut d´efinir les exigences qu’un SGP (Syst`eme de Gestion de Processus) doit satisfaire pour supporter un processus collaboratif.

Le manque d’informations fournies par les SGP sur les relations entre artefacts et/ou le statut des membres de l’´equipe est souvent constat´e (Dustdar, 2004). Ce manque impacte l’un des aspects les plus importants des syst`emes qui est la communication (Ellis et al., 1991; Ignat et al., 2015). En effet, cet aspect, appliqu´e tout au long du processus favorise la coordination et

la coop´eration dans le processus. Ces trois aspects permettent, ensemble, une gestion efficace de la collaboration.

Un ensemble d’exigences auxquelles devrait r´epondre un syst`eme de gestion de workflow sup-portant un travail collaboratif a ´et´e d´ecrit dans (Charoy et al., 2006). La possibilit´e de changer le type ou l’instance du processus en cours d’ex´ecution revˆet un caract`ere important tout comme la flexibilit´e `a l’ex´ecution. Cela est justifi´e par le fait que les processus collaboratifs sont pour la plupart ´etendus dans le temps (Charoy et al., 2006).

Nous d´eduisons de cela deux exigences importantes pour un processus : la collaboration et la flexibilit´e. Ces exigences, d´etaill´ees dans les sous-sections ci-dessous, permettent de faire ressortir des crit`eres sur lesquels nous avons fond´e notre ´etude bibliographique. Chaque exigence peut ˆ

etre d´efinie selon diff´erents aspects `a couvrir pour la respecter. Les aspects `a leur tour sont d´ecompos´es en crit`eres pour lesquels nous d´efinissons les diff´erentes solutions utilis´ees par les approches pour leur r´ealisation. Nous obtenons ainsi le tableau g´en´erique 2.1 ci-dessous qui sera utilis´e comme cadre pour l’analyse des diff´erentes approches choisies.

Exigence Aspects Crit`eres Solutions

Exigence 1 Aspect 1

Crit`ere 1 Solution 1, Solution 2 Crit`ere 2 Solution 1

Aspect 2

Crit`ere 1 Solution 1, Solution 2 Crit`ere 2 Solution 1, Solution 2 Crit`ere 3 Solution 1, Solution 2,

Solution 3 Table 2.1: Tableau g´en´erique de d´ecomposition d’une exigence.