Un ancien collègue m'a dit que tous les bogues n'avaient pas besoin d'être corrigés, car au fur et à mesure que vous descendez dans la liste des bogues prioritaires, le cas d'utilisation qui provoque ce bogue devient plus obscur ou la satisfaction client acquise diminue. Mais vous devez encore passer beaucoup de temps à corriger ce bogue.
Dans un effort pour convaincre notre propriétaire de produit de ce concept, je n'ai pas pu trouver de bonnes ressources. Tout ce que j'ai pu trouver, c'est des discussions sur la question de savoir s'il y a un coût marginal dans le développement de logiciels ou non.
Y a-t-il un avantage vraiment marginal à corriger les bogues? Y a-t-il un terme différent qui explique ce concept?
project-management
time-management
Gökhan Kurt
la source
la source
Réponses:
D'un point de vue commercial, une correction de bogue n'est pas différente d'une demande de fonctionnalité. Il a un certain coût en temps de développement, et il a une certaine valeur pour les clients. Si un bogue n'est pas critique, il peut être tout à fait judicieux sur le plan commercial de prioriser une fonctionnalité précieuse au-dessus du correctif de bogue.
Mais d'un point de vue technique, les bogues peuvent être plus critiques, car ils indiquent une erreur dans une fondation sur laquelle un autre code pourrait utiliser / s'appuyer, auquel cas l'erreur est "contagieuse" et augmente les coûts de maintenance future. Donc , pas la fixation d' un bug est une dette technique qui exige que la direction, tout en ne mettant en œuvre une fonction n'a pas vraiment un coût permanent. Mais le niveau de dette technique encourue par un bug dépend beaucoup de la nature du bug.
Tous ces facteurs doivent être pris en considération lors de l'établissement des priorités.
Quant à savoir s'il y a un avantage marginal à corriger les bogues: c'est une donnée. Étant donné que tous les bogues n'ont pas la même gravité, vous priorisez naturellement les bogues les plus importants en premier. Donc, plus vous corrigez de bogues, plus la valeur marginale de la correction du suivant est faible. Mais s'il atteint le niveau de correction du bug ne vaut pas la peine, c'est une décision commerciale plutôt qu'une décision technique.
la source
Voici une bonne référence
http://www.joelonsoftware.com/articles/fog0000000043.html
Vous pouvez être sûr que plus ces bogues resteront longtemps, plus il faudra de temps pour les corriger une fois qu'ils deviendront prioritaires. Ainsi, au lieu d'avoir un avantage brut en ce moment, vous évitez une perte plus coûteuse à l'avenir.
Une bonne façon de gérer cela serait de définir une quantité de temps allouée pour traiter les problèmes de backlog. Cela ne pousserait pas aussi fort que Microsoft, mais cela garantira une quantité de résolution de problèmes futurs, s'ils ne sont pas déjà votre problème même si le client ne s'en soucie pas vraiment.
la source
En supposant que vous travaillez pour une organisation commerciale, il y aura sûrement quelqu'un là-bas qui est au courant de l' analyse coûts-avantages .
Votre organisation dispose d'une quantité limitée de ressources pour les développeurs et d'une liste infinie de choses bénéfiques à faire. Ces avantages sont à la fois l'ajout de nouvelles fonctionnalités et la suppression de bogues existants - la suppression d'un bogue améliore le logiciel, tout comme l'ajout d'une nouvelle fonctionnalité.
Donc, évidemment, il y a des décisions à prendre sur la façon d'allouer cette ressource finie à cette liste infinie, et il n'est pas particulièrement surprenant que le résultat soit que certains bogues ne soient pas corrigés en ce moment, ou la semaine prochaine, ou l'année prochaine, ou dans fait jamais.
Si vous recherchez une approche plus structurée ici, vous pouvez essayer le système PEF / REV qui attribue des numéros aux vues Utilisateur et Programmeur d'un bogue, comme point de départ pour décider de ce qui sera corrigé - et de ce qui ne le sera pas.
Voir également ces deux articles ici sur le génie logiciel:
Résoudre les bogues les plus rentables
Presque tous les bogues signalés sont des bogues de haute priorité
la source
Tous les aspects involontaires ou indésirables du comportement du logiciel ne sont pas tous des bogues. Ce qui est important, c'est de s'assurer que le logiciel dispose d'une gamme de conditions utiles et documentées dans lesquelles il peut être utilisé pour fonctionner de manière utile. Considérons, par exemple, un programme qui est censé accepter deux nombres, les multiplier et produire les résultats, et qui génère un faux numéro si le résultat est supérieur à 9,95 mais inférieur à 10,00, supérieur à 99,95 mais inférieur à 100,00, etc. Si le programme a été écrit dans le but de traiter des numéros dont le produit est compris entre 3 et 7, et ne sera jamais appelé à en traiter d'autres, la correction de son comportement avec 9,95 ne le rendrait pas plus utile pour son objectif. Cela pourrait cependant rendre le programme plus adapté à d'autres fins.
Dans une situation comme celle ci-dessus, il y aurait deux solutions raisonnables:
Résolvez le problème, si cela est possible.
Spécifiez les plages dans lesquelles la sortie du programme serait fiable et indiquez que le programme ne peut être utilisé que sur des données connues pour produire des valeurs dans des plages valides.
L'approche n ° 1 éliminerait le bogue. L'approche n ° 2 pourrait rendre la progression moins appropriée à certaines fins qu'elle ne le serait autrement, mais s'il n'y a pas besoin de programmes pour gérer les valeurs problématiques, cela pourrait ne pas être un problème.
Même si l'incapacité à gérer correctement les valeurs 99,95 à 100,0 est le résultat d'une erreur de programmation [par exemple, décider de sortir deux chiffres à gauche de la virgule décimale avant d'arrondir à un endroit après, ce qui donne donc 00,00], cela ne doit être considéré que comme un bug si le programme était spécifié autrement comme produisant une sortie significative dans de tels cas. [Par ailleurs, le problème susmentionné s'est produit dans le code d'impression Turbo C 2.00; dans ce contexte, c'est clairement un bogue, mais le code qui appelle le printf défectueux ne serait bogué que s'il pouvait produire des sorties dans les plages problématiques].
la source
Dans un sens large, oui, tous les bogues n'ont pas besoin d'être corrigés. Il s'agit d'analyser le rapport bénéfice / risque.
Ce qui se passe généralement, c'est que l'entreprise organisera une réunion avec les responsables techniques et les parties prenantes pour discuter des bogues qui ne sont manifestement pas dans le besoin de corriger. Ils décideront si le temps (= argent) investi dans la correction du bug en vaudra la peine pour l'entreprise.
Par exemple, un «bug mineur» pourrait être une légère erreur d'orthographe / grammaire dans la section Conditions générales d'un site Web. La personne qui a soulevé cette question peut penser qu'il est trop mineur pour changer, mais l'entreprise reconnaîtrait le préjudice potentiel qu'elle pourrait causer à la marque et la facilité relative de fixer quelques caractères.
D'un autre côté, vous pourriez avoir un bogue qui semble important, mais qui est difficile à corriger et n'affecte qu'un nombre négligeable d'utilisateurs. Par exemple, un lien de bouton mineur est rompu pour les utilisateurs utilisant une ancienne version de Google Chrome et Javascript est également désactivé.
D'autres raisons pour lesquelles l'entreprise ne résout PAS un bogue pourraient être que le temps investi repousserait le projet un temps inattendu, ou que le temps du développeur serait mieux utilisé pour travailler sur d'autres correctifs / codages. Il se peut également que le bogue soit suffisamment mineur pour pouvoir être mis en ligne, puis corrigé à une date ultérieure.
J'espère que cela explique un peu mieux le concept! Je voudrais certainement éviter de penser à cela en termes généraux - chaque bug est unique et doit être traité comme tel.
la source
Donc, leur «argument» est en fait
Les bogues doivent être classés par ordre de priorité et traités "dans l'ordre", tout comme les nouvelles demandes de fonctionnalités (mais, sans doute, en plus de ces dernières).
la source