Utilisation d'un logiciel de suivi des bogues / suivi des problèmes pour discuter des questions de conception, de nouveaux outils, etc.

13

Quelqu'un a-t-il de l'expérience dans l'utilisation d'un logiciel de suivi des bogues / de suivi des problèmes comme bugzilla, mantis ou JIRA non seulement pour les bogues ou les tâches, mais aussi pour initier et maintenir des discussions qui mènent finalement à une décision?

Par exemple, un développeur pense que tous les champs protégés doivent être supprimés et remplacés par des champs privés avec des méthodes protégées qui y accèdent. Ce n'est pas son appel, et il aimerait en discuter. Normalement, il soulève le point lors de la prochaine réunion des développeurs à la fin de laquelle une décision est prise. Au lieu de cela, mon idée était pour lui d'ouvrir un problème d'un certain type de "décision" et de décrire son intention comme normalement on décrirait un bug ou une tâche.

D'autres développeurs peuvent faire leurs commentaires s'ils en ont envie, et à la fin, le problème est clos comme "accepté" ou "refusé".

Les avantages que je vois dans ceci:

  • Communication asynchrone: personne n'est obligé d'exprimer son opinion lors d'une réunion alors qu'il n'a pas encore eu le temps de superviser toutes les ramifications de cette décision.
  • Journal écrit des considérations qui mènent à une décision. Si l’on soulève ultérieurement cette question, il peut y être renvoyé.
  • Des relations avec d'autres questions peuvent être établies, par exemple une tâche peut être suivie jusqu'à une décision.
  • L'intégration avec un logiciel de contrôle de version, par exemple un commit peut être retracée à une décision.

Désavantages:

  • Forte odeur d'un marteau d'or: un logiciel de suivi des problèmes est normalement utilisé pour suivre les éléments exploitables
  • Les frais généraux organisationnels peuvent être disproportionnés: au lieu d'un petit entretien informel, il faut communiquer ses idées par écrit
Ozan
la source
1
Personnellement, je trouve ces discussions douloureusement lentes et inefficaces. Au moins avec Jira et Redmine.
c69
1
@ c69: Oui, c'était ma préoccupation. Un rapide "hé, ces champs ne devraient-ils pas être privés?" devient un processus formel qui peut décourager une telle discussion.
Ozan
1
De nombreux outils de suivi des problèmes s'intègrent aux composants de discussion. . .
Wyatt Barnett

Réponses:

8

Dans notre façon de travailler, le suivi des problèmes doit suivre tous les problèmes. Nous ne savons pas quels problèmes peuvent donner lieu à une action tant qu'ils n'ont pas été analysés. Si le système de suivi ne contient que des problèmes exploitables, il est probable qu'ils soient triés trop tôt, ce qui signifie que toutes les discussions et décisions sont perdues. Nous adoptons l'approche dans laquelle tout doit entrer (dans notre flux de travail de toute façon), sinon les problèmes peuvent être soulevés de manière répétée sans visibilité.

Nous avons une catégorie dans notre implémentation Jira pour «Risque», nous utilisons donc Jira pour suivre les éléments qui ne sont pas exploitables, mais nous avons la possibilité de compromettre le logiciel d'une manière ou d'une autre. La discussion sur l'élément est suivie et une fois que le risque a disparu (ou atténué), le problème est résolu. L'exemple que vous avez donné pourrait facilement entrer dans la catégorie Risque.

Il est important que des choses comme celle-ci soient discutées et suivies, et la décision enregistrée. Lorsque le développeur soulève à nouveau le problème dans quelques mois, la réponse «Demandé et répondu» est justifiée.

mattnz
la source
Intéressant, le classer comme risque semble contrer la possibilité qu'un problème de "décision" soit laissé en suspens. Le flux de travail d'un tel problème de catégorie de risque est-il simple ou y a-t-il un aspect en particulier à prendre en compte?
Ozan
Il a un flux de travail légèrement différent, mais est essentiellement le même que tout autre élément - Les problèmes sont soulevés, triés, résolus, testés et finalement acceptés. De mémoire, un risque ne passe pas par le cycle d'AQ comme le fait un changement de logiciel.
mattnz
3

Corrigez-moi si je me trompe; mais je pense que ce dont vous parlez est "Can / How to use Bug tracking / Issue Tracking systems to also do 'Decision Tracking'. Est-ce que je manque quelque chose?

Au départ, je dirais que c'est effectivement une excellente idée. Bien que nous ne l'utilisions pas de la manière indiquée, il est logique que nous l'utilisions à des fins de suivi. Dans notre cas, un long fil d'email - plus comme un forum / liste de diffusion est suivi.

Cependant, votre question au sens large est de savoir comment prendre (et gérer) efficacement les décisions et relier les implications du travail aux décisions prises qui apportent de meilleures informations.

Comme je l'ai dit, cela peut être une excellente idée si cela aide les gens. Rien de mal à cela. Mais pour prendre / gérer efficacement des décisions, il faut peu de choses concrètes.

  1. Il est vrai que la plupart des décisions doivent reposer sur un effort inclusif de grande envergure afin que tous les aspects importants soient couverts et pesés de manière appropriée avant de prendre des décisions. Donc, quel que soit l'outil que vous utilisez, il doit avoir permis un accès transparent aux informations pour toutes les personnes concernées. Vous avez raison, le mode asynchrone de transmission et de collecte d'informations aide, car les gens peuvent mettre du temps avant de faire des suggestions. Si on lui demande des réponses initiales - généralement lors des réunions, le jugement peut ne pas être aussi solide que celui de la même personne avec suffisamment de devoirs.

  2. Cependant, cela ne signifie pas nécessairement une «démocratie pure» où chaque vote est égal. En général, la personne qui prend la décision doit être une ou quelques personnes - et bien qu'elles aient pris toutes les opinions, elles doivent être individuellement responsables des décisions et non pas toutes les personnes qui ont donné leur avis.

  3. La plupart des décisions doivent pouvoir donner lieu à une action. Il pourrait être difficile d'éviter les contradictions; mais le fait que les décisions ne soient pas susceptibles de donner lieu à une action et seulement subjectives signifie qu'il existe des possibilités d'interprétations (erronées) futures.

  4. Il est important de classer le niveau et la portée de la décision. Plus important encore, nous devons déterminer si nous discutons d'un problème de conception spécifique ou d'un aspect spécifique du code, de l'aspect des processus ou ces problèmes de planification et de suivi des projets sont-ils liés? Très souvent, lorsque des problèmes surgissent d'un code de production - tous ces éléments sont applicables, mais nous devons être en mesure de distinguer tous les différents aspects et de manière indépendante pour pouvoir gérer ces décisions efficacement.

  5. Parfois, les décisions pourraient être de savoir si nous utilisons certains systèmes ou rôles et responsabilités pour les individus; il peut être difficile de mettre ces décisions en parallèle avec le codage de décisions spécifiques sur un forum de type tableau d'affichage.

  6. Juste une anecdote supplémentaire; chaque équipe doit mettre les revues de code et les revues de conception comme un processus à part entière - qui couvrira de manière exhaustive de nombreux problèmes comme l'exemple que vous avez cité. Ils sont indispensables que les décisions de suivi traitent ou non d'autres choses ou non.

Les bonnes pratiques de prise de décision impliquent beaucoup de discipline sur la façon dont nous rassemblons les informations et veillons à ce que les décisions soient suivies avec les mises en œuvre avec le bon esprit.

Un outil ne peut que contribuer à rendre l'information plus présentable, pas au-delà de cela; mais cela pourrait être d'une bonne aide si cela fonctionne pour vous.

Dipan Mehta
la source
1

FogBugz est la voie à suivre. Ce n'est pas gratuit. Les nouvelles fonctionnalités facilitent encore plus la mise en œuvre d'une méthodologie agile.

Un moyen plus simple et gratuit d'aller serait Asana.

Quel que soit l'outil que vous utilisez, la communication d'équipe est la plus importante pour faciliter la réussite d'un projet.

Scott Coates
la source