Travailler en groupe

CS-108

Les membres d'un groupe de deux personnes peuvent travailler soit en binôme, soit chacun de leur côté. Ces différentes manières de s'organiser sont décrites et comparées ci-dessous.

Travail en binôme

Le travail en binôme consiste à travailler en même temps, soit en étant à deux devant un même ordinateur, soit en partageant un écran à distance. Un premier membre du groupe, le conducteur, tape au clavier, tandis que l'autre, l'observateur, l'assiste. Pour qu'une telle organisation soit efficace et profitable à chacun, il convient de respecter quelques règles :

  1. aucun des deux membres ne doit être passif, et l'observateur ne doit donc jamais faire autre chose qu'assister le conducteur,
  2. les rôles de conducteur et d'observateur doivent être fréquemment échangés, même (surtout !) dans le cas où un membre est plus expérimenté que l'autre,
  3. l'observateur ne doit jamais laisser le conducteur s'échapper, c-à-d qu'il doit toujours comprendre ce que le conducteur fait, et poser des questions lorsque ce n'est pas le cas.

Travail individuel

Le travail individuel consiste à travailler chacun de son côté sur des aspects différents du projet, et à se synchroniser périodiquement. Avec une telle organisation, il est très important de trouver une bonne répartition des tâches, qui soit à la fois efficace et juste. Nous vous conseillons de procéder ainsi :

  • la totalité du travail à effectuer est répartie de manière égale entre les deux membres du groupe, en tenant compte de la difficulté des différentes tâches,
  • la division du travail se fait au niveau des classes, c-à-d qu'une classe (ou interface) donnée est développée en totalité par une seule personne qui en est propriétaire,
  • les tests unitaires d'une classe donnée sont écrits par le membre du groupe qui n'en n'est pas propriétaire.

L'avantage d'une telle organisation est que le partage du code écrit est relativement simple : comme chaque fichier Java ne contient qu'une seule classe et comme chaque classe a un propriétaire, chaque fichier a un propriétaire. Dès lors, chaque fichier n'est susceptible d'être modifié que par une personne — son propriétaire — ce qui évite les problèmes de modifications concurrentes.

Néanmoins, les groupes décidant de travailler individuellement feront bien de réfléchir à comment synchroniser leur travail. Quelques conseils sont donnés dans notre guide à ce sujet.

Conseils

Même s'il peut, à première vue, paraître plus efficace de travailler individuellement, nous vous conseillons de travailler si possible en binôme car cela présente plusieurs avantages :

  1. les membres du binôme peuvent s'aider mutuellement à comprendre le projet et à trouver des solutions aux problèmes rencontrés,
  2. le projet a plus de chances d'être correct lorsqu'il a été écrit par deux personnes réfléchissant simultanément que par une seule,
  3. chaque membre du binôme connaît et comprend à tout moment la totalité du projet et en a ainsi une meilleure vue d'ensemble,
  4. il n'existe qu'une seule copie du code du projet, ce qui élimine tous les problèmes de synchronisation.

Néanmoins, les groupes qui le désirent peuvent également travailler individuellement, bien entendu.