Coordinating Virtual Teams by Measuring Group ... - CiteSeerX

3 downloads 0 Views 211KB Size Report
Virtual Teams, Coordination, Awareness, Divergence. INTRODUCTION. “Virtual teams work across space, time and organizational boundaries with links ...
Coordinating Virtual Teams by Measuring Group Divergence Abdelmajid Bouazza University of Nancy LORIA, INRIA Lorraine [email protected]

Hala Skaf-Molli University of Nancy LORIA, INRIA Lorraine [email protected]

ABSTRACT Coordination is crucial to support Virtual Teams. We argue that a coarse grained definition of tasks coupled with a pertinent awareness system based on divergence metrics can improve coordination by generating auto-coordination among members of the virtual team. We describe in this paper this idea and how divergence metrics can be calculated and presented to end-user.

during tasks enactment. Tasks are just constrained to give results at predefined checkpoints, typically for meetings. Checkpoint1

A virtual team is first of all a team whose members have to interact through interdependent tasks to reach the goal. Distribution in time, space and organization just makes communication, cooperation and coordination harder. The most important thing in a virtual team is the mission goal. This can be decomposed into sub-goals and tasks can be determined to produce expected results. For example, in software engineering, a common simple process to produce a piece of software can be represented by a sequence of goal/tasks/results:

Analasys 

Mail  System 

interview 

Prototype 

Human Cost  Cost   Estimation 

Hardware  Cost 

modelling 

Use case+  Activity D.  

prototyping 

Scale  model  Dimension  computation +  Cocomo  Estimation 

This process is not really difficult to elaborate because tasks are very coarse grained. However in the real world, all these tasks are interdependent and are executed concurrently. People exchange data and communicate

Checkpoint2

Checkpoint3

interviews modelling prototyping

Keywords Virtual Teams, Coordination, Awareness, Divergence. INTRODUCTION “Virtual teams work across space, time and organizational boundaries with links strengthened by webs of communication technologies”. Virtual teams can be quickly gathered for a mission goal to produce a result in a competitive time, giving the opportunity for different organizations to cooperate in leveraging their core competencies. For example, a virtual team can be formed to quickly design a new building in architecture, a seat car in car manufacturing or a piece of software in software engineering.

Pascal Molli University of Nancy LORIA, INRIA Lorraine [email protected]

Hardware Cost Interdependant tasks

Human Cost

Managing interactions between people is very important in this context. It can avoid data corruption and at the same time it generates good awareness and produces synergetic effect on members. We can distinguish two approaches to coordinate people in virtual teams: 1.

Refine this schematic process with more fine-grained tasks. Finally, we will obtain something like a workflow , probably flexible and adaptive Anyway, this will require a significant amount of work to elaborate and manage this workflow.

2.

Generate pertinent awareness and let people coordinate themselves within coarse grained tasks.

In the context of virtual teams, i.e. working with small groups (about 10 persons), we have chosen the second way. We think that tasks are not black boxes with input and output. People involved in these tasks will interact with people involved in other tasks. They exchange data, they communicate using the whole range of communication means from letters to synchronous environment, and finally they coordinate themselves to converge towards the mission goal. In a virtual team, people work in isolation in a private workspace with copies of shared data they synchronize from time to time following a configuration management approach . When work is finished, people make their results visible to others. If this way of working is very natural, it is natural too to know what other people are currently doing and in real time. We argue that performing a task is punctuated by the repeated iteration of two stages: 1.

When people work in isolation on copies of shared

data, they diverge, i.e. shared data distributed among workspaces are updated in different ways and distance between documents increases. 2.

When they publish their work, many late validation protocols ensure convergence of shared data towards a common value. Convergence can be ensured by advanced transaction models, flexible merge algorithms and operational transformation .

We are convinced that if we are able to measure the divergence between people in real time and to visualize it in the working environment of each partner, this will generate communication and auto-coordination between members of the virtual team. To achieve this goal, we are currently adding an awareness system based on divergence metrics on top of the MOTU system , a distributed configuration management tool developed in our research team. An experimentation based on this concept is currently under progress in a project funded by the CNET 1in the domain of architecture. MEASURING GROUP DIVERGENCE To calculate global divergence between two members M1 and M2 of a virtual team, we first start by measuring for each shared object O, the editing distance between OM1 and OM2. Then we can propagate this measurement across the dependencies graph of O. Divergence for one shared object Divergence is treated in several research domains. However, all of them try to avoid inconsistencies rather than manage inconsistencies. To avoid inconsistencies conflict detection algorithms have been developed, we will use these algorithms to calculate divergence instead of ensuring consistency. 1.

Calculating differences. Here, we can use algorithms for merging changes. We can use the “diff” algorithm for plain text data files, or we can use more sophisticated algorithms from SEPIA or GINA. We will obtain with these algorithms an editing distance between two concurrent changes. Of course, on a plain text files, this distance can be meaningless, but if we consider XML files, domain by domain, we can obtain very realistic editing distance.

2.

Counting dirty-reads. This technique is used by Epsilon-Serializability in the domain of advanced transaction models to increase concurrency between distributed transactions. A transaction has a limited amount of dirty reads allowed for its execution. The transaction is canceled if the maximum amount is passed. We can use Epsilon-SR algorithm to calculate how much out-of-date a user’s workspace is.

3.

Counting concurrent operations. These algorithms are used in synchronous editors. All operations produced by each participant have to be executed in

1 National Telecommunication Research Center of France

Telecom.

all sites. Of course, all local execution have to give the same results, preserve causal dependencies and the intention of the operations. In virtual teams, people work asynchronously, but all workspaces are logging all their operations. The divergence engine can apply in real time the algorithms on all logs to detect conflicts. 3.

Combine metrics. Of course, all these sources of divergence metrics can be combined to obtain for each object a degree of divergence. We think that the combination of all metrics compensates a meaningless metric and should give a global pertinent metric.

PROPAGATING DIVERGENCE It is insufficient to measure the divergence for each shared object. In fact, in many domains like architecture or software engineering, one project participant can access a lot of data; hundreds of plans for an architect, and many files for a programmer. Often these objects are linked syntactically or semantically. Thus divergence on one object can have an impact on another object. Divergence has to be propagated. We can distinguish two types of dependencies: 1.

Structural dependencies: This kind of dependencies requires users to declare and manage dependencies. People familiar with “make” utility know that this work can be difficult. For example, in the Java programming language, a class file depends on a java file and in the C programming language a #include directive introduces a well-known structural dependency.

2.

Semantic dependencies: These dependencies are more difficult to detect. However, the change set technique developed in CM tools can help us to discover hidden dependencies. For example, when a user publishes his work, he does not produce a sequence of changes, but he produces a set of changes on objects. These objects are somehow linked by this Change-Set . Thus if a system can detect that each time the object O1 is updated, the object O2 is updated too, a hidden dependency can be suspected and the more this situation occurs, the more the suspicion of dependency seems to be true.

By using Change-Set dependencies, we can build a model to propagate the divergence through a set of objects without declaring dependencies. FEEDBACK TO END-USER By adding all divergence metrics on shared objects between all tasks, we can generate a new graphical interface artifact in the end-user environment. By this way, the user can see in real time his divergence degree with each other member of the team. We expect that user will react to this new kind of awareness by initiating communication with other members and make some autocoordination to converge later. Divergence can be displayed to the end-user by:

Divergence wrt me

User1 User2

time

Or like that :

Divergence vs baseline

Divergence vs other users

preserves privacy. In fact, people will not see exactly what other people are currently doing but only if other people are doing something related to their own work. We think that this kind of awareness can be accepted by people. Of course, only a real experimentation can give definitive answers. CONCLUSION AND FUTURE WORK We are convinced that coarse grained definition of tasks with pertinent awareness based on divergence can improve the coordination within a virtual team. We have presented how we can calculate divergence metrics on a single object and propagate them across the dependency graph of objects. We have demonstrated how these metrics can be represented to the end-user and the expected benefits. Of course, all these hypotheses have to be validated by a real experimentation.

On this second representation, more the people are near the center, the less they diverge. If all people are on the center, all people have the same view on data. We think that this kind of awareness is pertinent and

 Copyright on this material is held by the authors.

ACKNOWLEDGMENTS Our thanks to Professor Claude Godart and Olivier Zendra for their comments and insights. REFERENCES