Nous avons un important arriéré de choses que nous devons faire dans notre logiciel, dans beaucoup de catégories différentes, par exemple:Comment gérez-vous un arriéré de produits important?
- nouveaux problèmes pour nos produits pour résoudre
- Les nouvelles fonctionnalités de soutien les problèmes existants
- nouvelles fonctionnalités demandées par nos utilisateurs existants
- utilisabilité et améliorations « look »
- Mises à niveau d'architecture à l'arrière-plan
- Bug f ixes
La gestion de tous ces éléments de manière rationnelle est un travail qui relève de la gestion des produits, mais c'est difficile pour de nombreuses raisons. Tout d'abord, nous avons différents systèmes qui contiennent des choses différentes (documents sur les exigences du marché dans les fichiers, bogues dans une base de données de bogues, besoins des clients dans notre système d'assistance, liste de souhaits d'enginering sur notre intranet, etc.). Et deuxièmement, beaucoup d'éléments sont de taille, d'envergure, de complexité et bien sûr de valeur très différents, ce qui signifie que le choix n'est pas aussi simple que de simplement classer une liste par priorité. Parce que nous sommes maintenant assez grands, que nous avons un produit complexe et beaucoup de clients, les solutions de base (une feuille de calcul, un google doc, une liste de choses à faire) ne suffisent pas. Nous avons besoin d'un moyen de regrouper les choses de diverses façons, de les hiérarchiser de façon continue, de préciser ce que nous faisons et ce qui s'en vient - sans que cela demande à tout le monde de gérer un outil.
Comment gérez-vous cela d'une manière qui permette à l'entreprise de toujours faire ce qui est le plus précieux pour les clients existants, d'en obtenir de nouveaux et de maintenir le bon fonctionnement du logiciel? Notez que cela est différent du développement, ce que je pense que nous avons assez bien. Nous développons tout de manière itérative et agile, et une fois que quelque chose a été choisi pour la conception et la mise en œuvre, nous pouvons le faire. C'est la partie où nous devons déterminer ce qu'il faut faire ensuite, c'est le plus dur!
Avez-vous trouvé une méthode ou un outil qui fonctionne? Si oui, partagez! (Et si vous souhaitez connaître la réponse, évaluez la question afin qu'elle reste visible :)
Addendum: Bien sûr, il est bien d'abord de corriger tous les bogues, mais dans un vrai système qui est réellement installé sur les machines des clients, ce n'est pas toujours pratique. Par exemple, nous pouvons avoir un bug qui ne se produit que très rarement et qu'il faudrait beaucoup de temps et de bouleversements architecturaux à résoudre - nous pourrions laisser cela pour un moment. Ou nous pourrions avoir un bug où quelqu'un pense que quelque chose est difficile à utiliser, et nous pensons que le corriger devrait attendre une plus grande refonte de cette zone. Donc, il y a beaucoup de raisons pour lesquelles nous ne les réparons pas tout de suite, mais nous les gardons ouverts pour que nous n'oublions pas. De plus, c'est la priorisation des non-bogues qui est la plus difficile; Imaginez que nous n'en avons pas :)
Voir aussi http://sqa.stackexchange.com/q/17385/8992 –