Quelqu'un dans mon entreprise a récemment proposé des changements à notre produit de base qui, selon nos gestionnaires, devraient déclencher ce que je suppose que mon entreprise considère comme un cycle complet d'AQ (c'est-à-dire tester la suite complète de produits à partir de zéro). Apparemment, notre AQ prend 12 semaines pour effectuer un cycle complet d'AQ pour notre produit. Mon problème avec cela est que nous essayons de faire du développement Agile (bien que la plupart du temps à moitié à mon avis). Nous ferons toute une série de sprints puis ferons une version, que le contrôle qualité prendra une éternité, je suppose. La question est vraiment, si notre AQ va prendre 12 semaines pour faire leur travail, ne devrions-nous pas simplement abandonner nos efforts pour faire de l'Agile? À quoi bon essayer de faire de l'Agile dans une telle situation?
24
Réponses:
Eh bien, la réponse directe à votre question serait Mu, je le crains - il n'y a tout simplement pas assez de détails pour faire une supposition éclairée si vous devez ou non arrêter d'essayer.
La seule chose que je suis assez positive, c'est que le niveau d'agilité devrait être déterminé par les besoins des clients / du marché (dont vous n'avez donné aucune information).
D'un autre côté, je peux facilement imaginer, disons, une société de négoce financier faire faillite s'il faut plus d'un mois pour que son logiciel s'adapte aux changements du marché - un cycle de test de 12 semaines dans ce cas serait une route vers l'enfer. Maintenant - quels sont vos besoins en matière de produits à cet égard?
Une autre chose à considérer est le niveau de qualité requis pour répondre aux besoins de votre client / marché.
Et oui, ils semblaient être agiles et oui, ils ont publié cette mise à jour en un mois (si leur cycle d'assurance qualité est de 12 semaines, ils l'ont probablement sauté). Et notre fonctionnalité a parfaitement fonctionné - devinez-vous que nous aurions dû être parfaitement heureux? non! nous avons découvert un bogue de régression showstopper dans certaines fonctionnalités qui fonctionnaient très bien auparavant - nous avons donc dû nous en tenir à l'ancienne version.
Un autre mois s'est écoulé - ils ont sorti une autre nouvelle version: notre fonctionnalitéétait là mais le même bug de régression était là aussi: encore une fois, nous n'avons pas mis à niveau. Et encore un mois et un autre.
En fin de compte, nous n'avons pu mettre à niveau que six mois plus tard, tant pour leur agilité.
Maintenant, regardons de plus près ces 12 semaines que vous mentionnez.
Quelles options avez-vous envisagées pour raccourcir le cycle d'AQ? comme vous pouvez le voir dans l'exemple ci-dessus, le sauter simplement ne vous donnera peut-être pas ce que vous attendez donc vous feriez mieux d'être, eh bien, agile et d'envisager différentes façons de le résoudre.
Par exemple, avez-vous envisagé des moyens d'améliorer la testabilité de votre produit?
Ou, avez-vous envisagé une solution de force brute pour simplement embaucher plus d'AQ? Aussi simple que cela puisse paraître, dans certains cas, c'est effectivement la voie à suivre. J'ai vu la direction inexpérimentée essayer de résoudre les problèmes de qualité des produits en embauchant aveuglément de plus en plus de développeurs seniors, où une paire de testeurs professionnels moyens suffirait. Assez pathétique.
Le dernier mais non le moindre - je pense que l'on devrait être agile quant à l'application même des principes agiles. Je veux dire, si les exigences du projet ne sont pas agiles (stables ou changent lentement), alors pourquoi s'embêter? J'ai vu une fois la direction forcer Scrum dans des projets qui se passaient parfaitement bien sans. Quel gaspillage c'était. Non seulement il n'y a eu aucune amélioration dans leur livraison, mais pire, les développeurs et les testeurs sont tous devenus mécontents.
mise à jour basée sur les clarifications fournies dans les commentaires
Version livrable je vois. Hm. Hmmm. Pensez à ajouter une dose ou deux de Lean dans votre cocktail Agile. Je veux dire, si ce n'est pas un besoin client / marché, cela signifierait seulement un gaspillage de ressources (de test).
Pour ma part, je ne vois rien de criminel en traitant Sprint-end-release comme un simple point de contrôle qui satisfait l'équipe.
Vous avez parfaitement compris. De ce que vous décrivez, il semble également que vous soyez arrivé à l'état (maturité équipe / gestion et relation client) vous permettant d'utiliser le développement de modèles itératifs régulier au lieu de Scrum. Si oui , alors vous pourriez être également intéressé de savoir que par mon expérience dans des cas comme celui itérative régulier ressenti plus productif que Scrum. Beaucoup plus productif - il y avait tout simplement tellement moins de frais généraux, c'était tellement plus facile de se concentrer sur le développement (pour que l'AQ se concentre respectivement sur les tests).
Lorsque vous conduisez sur une autoroute (et votre projet semble avoir atteint cette autoroute ), Ferrari bat l'enfer de Landrover.
C'est le tout-terrain où l'on a besoin d'une jeep et non d'une voiture de sport - je veux dire si vos besoins sont irréguliers et / ou si le travail d'équipe et l'expérience de gestion ne sont pas si bons, vous devrez choisir Scrum - simplement parce qu'essayer régulièrement vous coincé - comme Ferrari restera coincé hors route.
Ci-dessus sonne comme un bon plan. J'ai travaillé une fois sur un tel projet. Nous avons expédié des versions mensuelles avec des mises à jour localisées dans de petits composants à faible risque et l'approbation de l'assurance qualité pour ces derniers était aussi simple que possible.
C'est le casse-tête du testeur de s'assurer que des changements inattendus ne passent pas - parce que franchement, en tant que développeur, j'ai suffisamment d'autres choses à craindre qui sont plus importantes pour moi. Et à cause de cela, ils (les testeurs) ont vraiment vraiment besoin d' une preuve solide que les choses sont sous contrôle avec la version qu'ils testent pour expédier.
la source
Oh, je ressens ta douleur. Il y a de sérieux changements que vous devez apporter à l'équipe AQ pour que cela fonctionne.
Mon conseil est de diviser l'équipe en trois équipes:
Test des fonctionnalités - Délai d'exécution rapide pour tester les nouveaux développements.
Test de régression - Test complet du produit avant qu'il ne sorte de la porte. Cela ne devrait pas prendre 3 mois, même après avoir réduit la taille de l'équipe car la plupart des bogues seront détectés par la première équipe.
Tests automatisés - Rédaction d'une suite complète de tests de régression pour accélérer le travail de l'équipe de tests de régression.
La troisième équipe est un bonus, mais si vous ne pouvez pas avoir les deux premières équipes, vous pouvez tout aussi bien être une cascade.
la source
À titre d'illustration:
Notez que votre équipe d'AQ travaille probablement en dehors du cercle (ATDD) et que vous travaillez à l'intérieur.
Je pense que c'est OK de travailler de cette façon; si vous pouvez prouver dans vos tests automatisés que vous remplissez les exigences du client à chaque sprint, vous pouvez autoriser QA à effectuer ses tests à loisir et vous présenter des défauts, que vous pouvez ensuite travailler dans le sprint suivant.
la source
Il semble que vous ayez un problème de "Définition de Terminé".
Étant donné que votre groupe d'assurance qualité est externe et ne participe qu'aux versions client, vous ne pouvez pas vous fier à eux pour obtenir des commentaires en temps opportun sur les problèmes. Cela signifie que si vous voulez un retour rapide, vous devrez apporter un certain degré de test "en interne" pour l'équipe.
Traitez le groupe AQ comme s'il n'existait pas. Agissez si votre version à la fin du sprint sera déployée dans votre environnement le plus critique le lendemain. Le logiciel n'est pas terminé tant qu'il n'est pas prêt à être envoyé aux clients.
L'AQ ne devrait rien trouver.
Ce sera plus difficile à atteindre. Vous aurez probablement des choses qui se faufilent les premières fois. Les tests d'acceptation automatisés et les tests de "régression" sont vos meilleurs amis ici. TDD vous aidera à construire de grandes parties de ces suites. Vous devriez pouvoir savoir - rapidement - si vous avez cassé quelque chose.
la source
Avez-vous un représentant du client / propriétaire du produit qui peut voir une version donnée avant que le contrôle qualité ne soit terminé et vous donner un avis fiable à ce sujet? Si tel est le cas, vous pouvez utiliser et tirer le meilleur parti des méthodes agiles tout en traitant l'AQ comme une source secondaire, un peu lente de rétroaction. Une version ne serait "officiellement prête" qu'après que le contrôle qualité aura terminé, mais vous n'auriez pas à les attendre avant de commencer la suivante.
Mais si les règles de l'entreprise stipulent que le client ne doit pas voir une version avant que le contrôle qualité en soit terminé, vous pouvez à peu près oublier d'être agile, jusqu'à ce que vous parveniez à faire modifier ces règles.
la source
Le processus que vous avez décrit n'est pas un processus agile. Les équipes qui ont un haut degré d'agilité sont capables de fournir des builds fiables et potentiellement libérables à chaque sprint. Dans la plupart des implémentations agiles, la fonction QA est construite au sein de l'équipe agile, aidant à atteindre cet objectif.
Si vous, votre chef de projet, votre propriétaire de produit et les développeurs ne travaillez pas ensemble et que vous n'avez pas de plan d'amélioration (rétrospectives), nommez votre processus autrement et passez à autre chose. Il ne semble pas que les problèmes de vos équipes soient la faute des managers ou du QA. Ils semblent réagir à un problème systémique provenant de l'organisation de développement. Tout n'est pas perdu si l'équipe est prête à prendre ses responsabilités et à commencer à travailler avec les parties prenantes.
Vous pouvez essayer trois choses. Premièrement, assurez-vous que chaque partie prenante a des rôles définis de manière concise et que chaque personne comprend sa responsabilité. Deuxièmement, stabilisez la construction, puis obtenez l'approbation du contrôle qualité sans introduire plus de modifications. Troisièmement, instaurer l'automatisation des tests. L'équipe QA vous aimera pour cela.
la source
C'est dommage que le feedback prenne si longtemps, mais je ne pense pas que cela vaille la peine de s'arrêter avec l'agilité. À la fin d'un sprint (ou d'un couple), vous sortez un produit que vous êtes sûr qu'il pourrait être mis sur le marché. Pour votre équipe, l'agilité apporte la possibilité de se concentrer sur le travail à effectuer et de garder le produit libérable. Lorsque le contrôle qualité trouve des problèmes, je suggère de créer des rapports de bogues pour ces problèmes et de les résoudre dans le prochain sprint (s'ils ont une priorité suffisamment élevée).
Nos tests sur le terrain des produits durent 8 semaines et nous dépendons de producteurs extérieurs. En agissant toujours, nous pouvons rester concentrés sur le travail à accomplir et produire une nouvelle version très rapidement en cas de besoin.
Le problème réside (à vos yeux) avec le service AQ, le problème peut-il être résolu là-bas? Vous en avez discuté?
la source
12 semaines, c'est long, mais j'espère que le contrôle qualité peut vous fournir des commentaires et des rapports de bogues pendant cette période (plutôt qu'après les trois mois).
Ensuite, vous pouvez toujours répondre aux problèmes les plus importants de manière agile et pouvez résoudre beaucoup, sinon tous, avant même la fin!
la source
Que font les QA pendant que vous exécutez plusieurs sprints? On dirait qu'ils ressentent le besoin de tout tester après chaque changement (c'est pourquoi ils attendent un tas de changements.).
L'équipe de développement est agile, mais pas le reste de l'entreprise.
Celui qui est en charge de l'AQ ne sait pas ce qu'il fait ou il a effectué un Jedi Mind Trick sur la direction et est autorisé à prendre son temps. Comment l'AQ peut-elle prendre plus de temps que le développement?
la source