-
Organisez les revues dans le cadre de réunions, mais cela n'exclut pas que les participants préparent certaines
revues individuellement.
-
Surveillez constamment la qualité au long du processus pour éviter qu'un nombre trop important de défauts reste
caché jusqu'aux revues. Pour mettre l'accent sur cet aspect, les listes de contrôle reprises ci-dessous sont
référencées dans chaque tâche du processus RUP (Rational Unified Process) ; utilisez-les lors des réunions de revue
informelles ou en cours de travail.
Dans un glossaire standard 1990, l'institut IEEE définit trois types de revues :
-
Revue
-
Réunion formelle au cours de laquelle un produit, ou un ensemble de produits, est présenté à l'utilisateur, au
client ou à d'autres parties prenantes pour approbation et commentaires.
-
Inspection
-
Technique d'évaluation formelle au cours de laquelle des produits sont examinés par une ou plusieurs personnes
autres que l'auteur afin de détecter des erreurs, des violations des normes de développement ou d'autres
problèmes.
-
Revue structurée
-
Processus de revue au cours duquel un développeur guide un ou plusieurs membres de l'équipe de développement
dans un segment de produit qu'il ou elle a écrit. Les autres membres posent des questions et font des
commentaires sur la technique, le style, les erreurs potentielles, les violations des standards de
développement et les autres problèmes.
Lorsqu'ils sont organisés entre plusieurs équipes, les revues permettent également aux intéressés de découvrir le code
et les conceptions des autres groupes et augmentent les possibilités de détection de code commun, d'opportunités de
réutilisation et d'opportunités de généralisation. Les revues permettent également de coordonner le style
d'architecture entre les différents groupes.
Dans le processus RUP, les revues jouent un rôle important mais secondaire dans le contrôle de qualité. Les principaux
agents de qualité dans le processus RUP sont décrits dans la section sur les inspections par les pairs de [ROY98]. Cependant, ce livre identifie un effet secondaire important des revues dans
le développement professionnel : les membres de l'équipe moins expérimentés ont la chance de voir le travail d'experts
et de voir leur travail évalué par des personnes plus expérimentées.
La phase de planification permet de définir l'accent et l'étendue de la revue et de s'assurer que tous les participants
comprennent leur rôle et les objectifs de la revue.
Avant la revue, définissez la portée de la revue en déterminant les questions à poser ; définissez ce qui doit être
demandé et pourquoi. Les listes de contrôle des produits à réviser peuvent indiquer le type de questions à poser. Les
questions exactes dépendront de la phase du projet : les revues du début seront plus centrées sur les problèmes
d'architecture générale tandis que les revues suivantes se concentreront sur des problèmes plus spécifiques.
Lorsque vous avez déterminé la portée de la revue, définissez les participants, l'agenda et les informations requises
pour conduire la revue. Lorsque vous sélectionnez les participants, veillez à respecter l'équilibre entre les experts
en architecture logicielle et les experts dans le domaine. Désignez clairement un meneur d'évaluation qui coordonnera
la revue. Si nécessaire, utilisez des experts (domaine ou technique) provenant d'autres parties de l'organisation.
Le nombre de réviseurs devrait être égal ou légèrement inférieur à sept. S'ils ont été correctement choisis, ils
pourront identifier les problèmes de l'architecture. Plus de réviseurs réduit la qualité de la revue en rendant les
réunions plus longues, la participation plus difficile et en ajoutant des problèmes dérivés et plus de discussions. Un
nombre de réviseurs inférieur à 4 augmente les risques de myopies de revue car la diversité des points de vue est
réduite.
Les réviseurs doivent être expérimentés dans le domaine à analyser ; pour les cas d'utilisation, les réviseurs doivent
comprendre le domaine des problèmes ; pour l'architecture du logiciel, une connaissance des techniques de conception de
logiciel est également requise. Des réviseurs inexpérimentés apprendront probablement l'architecture en participant
mais apporteront peu à la revue et leur présence risque de devenir une distraction. Tenez-vous à un groupe réduit,
entre trois et sept personnes. Moins de réviseurs mettrait la qualité de la revue en doute et plus de réviseurs
rendrait impossibles les discussions interactives essentielles à un résultat de qualité.
Sélectionnez les réviseurs en fonction de la matière :
-
ceux qui comprennent la matière présentée
-
ceux qui sont parties prenantes dans la qualité du produit à réviser
Avant la revue, les produits à réviser et les documents associés doivent être rassemblés et distribués aux
participants. Ceci doit intervenir suffisamment tôt pour permettre aux réviseurs de consulter les documents et de
rassembler les problèmes. Distribuer les documents avec suffisamment d'avance et permettre aux réviseurs de préparer la
revue améliore la qualité des résultats de la revue de manière significative. La préparation des revues permet
également d'améliorer l'efficacité de la revue et de ses résultats.
Les réviseurs devraient étudier la documentation, créer une liste de questions et identifier les problèmes à discuter
avant la revue. Compte tenu de la charge de travail des réviseurs, le laps de temps de préparation minimum est
généralement de quelques jours ouvrables.
Il y a plusieurs clés pour une revue réussie :
Ces points sont repris en détails ci-dessous.
Généralement, le processus de revue suit un cycle répétitif :
-
Un problème est relevé par le réviseur
-
Il est discuté et potentiellement confirmé
-
Un défaut est identifié (quelque chose est identifié comme demandant à être corrigé)
-
Continuer jusqu'à ce qu'il ne reste plus de problèmes
Pour qu'une revue fonctionne correctement, tout le monde doit comprendre que son objectif est d'améliorer la qualité du
produit. Le produit doit être considéré d'un point de vue critique, dans le but de trouver des problèmes. Cette
opération est parfois difficile car les réviseurs doivent garder à l'esprit qu'ils doivent se concentrer sur
l'identification des problèmes (nous avons tous tendance à résoudre les problèmes, mais les réviseurs doivent
l'ignorer).
Nous sommes tous fier de notre travail et acceptons difficilement les critiques, même constructives. Il faut donc se
concentrer sur les objectifs de la revue, améliorer ce travail.
Tout le monde doit avoir un rôle pour rendre la revue efficace. Particulièrement, certains rôles doivent être remplis
et les réviseurs ne peuvent pas changer de rôle facilement. Les rôles de base de la revue sont les suivants :
-
le modérateur
-
le clerc
-
le présentateur
-
les réviseurs
Le modérateur veille à ce que la revue s'en tienne à l'agenda et reste concentré sur le sujet en cours. Le modérateur
veille à ce que les discussions parallèles ne fassent pas dériver la revue dans le hors-sujet et que tous les réviseurs
ont une participation équivalente.
Le clerc est un rôle généralement ignoré mais essentiel de l'équipe de revue. Tenir des minutes des discussions et
documenter les actions à prendre est une tâche à plein temps. Si vous assignez cette tâche à l'un des réviseurs, vous
l'excluez automatiquement de la discussion. Si vous ne documentez pas les décisions prises, les problèmes rencontrés se
reproduiront probablement à l'avenir. Veuillez à nommer un clerc et à ce que cette personne ne reçoive pas d'autre
rôle.
Le présentateur est l'auteur du produit soumis à la revue. Le présentateur explique le produit et les informations
permettant de comprendre son fonctionnement (cependant, si ces informations sont requises, le produit n'est
probablement pas encore terminé). Il est important de ne pas transformer une revue en "procès", l'attention est sur le
produit et non sur le présentateur. Le modérateur doit veiller à ce que les participants (dont le présentateur) gardent
ce point à l'esprit. Le présentateur démarre la discussion, répond aux questions et éclaircit les points plus obscurs.
Les réviseurs relèvent les problèmes. Il est important de garder ce point à l'esprit et de ne pas se laisser glisser
dans des discussions sur la manière de résoudre le problème. L'accent est sur le résultat, pas sur les moyens.
Comme indiqué ci-dessus, le modérateur joue un rôle clé en évitant que la revue ne s'égare. Il est important que le
modérateur se concentre sur ce point, il ne devrait pas être un réviseur. Le rôle du modérateur est de faciliter la
discussion, de veiller à une participation égale et de désarmer les conflits. Il s'agit d'une tâche à temps plein. Si
une revue n'est pas modérée correctement, elle s'égare, dépasse les conclusions voulues et n'atteint pas ses objectifs.
Les revues sont plus efficaces lorsqu'elles sont brèves et concentrées sur des objectifs clairs. Comme il est difficile
de maintenir la concentration sur des périodes plus longues et comme les réviseurs ont d'autres tâches, limitez les
revues à un maximum de deux heures. Si une revue doit excéder ce laps de temps, divisez-la en plusieurs revues plus
courtes et plus concentrées. Les résultats sont de meilleure qualité si les réviseurs gardent leur concentration.
Le meilleur moyen d'arriver à ceci est d'avoir un agenda bien défini et des objectifs très clairs. Ceux-ci doivent être
communiqués lors de la distribution des documents de la revue et le modérateur doit insister dessus au début de la
réunion de revue. Le modérateur doit ensuite les rappeler constamment (et parfois de manière intraitable) lors de la
réunion.
L'une des principales causes d'échec d'une revue réside dans le fait que les revues deviennent une discussion sur la
procédure à suivre pour résoudre les problèmes. La résolution des problèmes requiert généralement des recherches et de
la réflexion, le format de la revue n'en fait pas le forum idéal pour ce type d'exercice. Lorsqu'un problème est
identifié, déterminez s'il s'agit d'un défaut à résoudre et assignez-le à quelqu'un pour recherche et correction. La
réunion de revue doit se concentrer sur la seule identification des problèmes.
Si le problème requiert de plus amples discussions au sein d'un groupe de personnes, organisez une réunion distincte
pour traiter du problème. Généralement, cette réunion requiert des recherches et de la préparation et doit rassembler
les gens dotés de certaines capacités. La revue doit se concentrer sur l'identification des autres problèmes. Le
modérateur doit parfois exercer des pressions considérables pour parvenir à maintenir la réunion sur la bonne voie.
Une revue est de peu de valeur en elle-même. Après conclusion de la revue :
-
Organisez la liste des problèmes en fonction de leur priorité.
-
Créez des incidents pour suivre les problèmes et leur résolution.
-
Si des recherches supplémentaires sont requises, assignez une équipe réduite à l'étude du problème (mais pas à sa
résolution).
-
Pour les problèmes qui ne peuvent être résolus lors de l'itération en cours, assignez une personne ou une équipe à
leur résolution.
-
Ajoutez la liste des problèmes non résolus à l'effort de planification des itérations à venir.
Voir aussi [MCO97].
|