Ainsi, un sprint Scrum est une période de temps fixe au cours de laquelle un ensemble spécifique de fonctionnalités doit être implémenté. Et une équipe Scrum se compose de toutes les personnes engagées dans la fourniture de ces fonctionnalités, la majorité d’entre elles étant généralement des développeurs et des testeurs.
Ayant établi ces règles, on peut se demander comment garder toutes ces personnes occupées pendant tout le sprint. Au début du sprint, rien n’a encore été testé, et à la fin du sprint, il n’ya généralement plus rien ou très peu à développer / réparer.
J'ai vu 2 approches pour gérer cela, mais aucune d'elles ne semble résoudre correctement le problème.
1) Laissez les membres de l’équipe décider quoi faire chaque fois qu’ils sont à court de tâches.
Les inconvénients:
- Si ce qu'ils font n'est pas planifié de manière approfondie (refactorisation majeure, passage à un nouveau cadre de test), leur travail peut s'avérer inutile ou être bloqué à mi-parcours.
- D'autre part, la planification d'un tel travail peut prendre beaucoup de temps et le client peut être déçu de voir l'équipe perdre du temps sur quelque chose qui n'apporte pas de valeur immédiate.
- De telles tâches ne peuvent généralement pas être évaluées avec précision. Il est donc très facile pour les travailleurs sans principes de passer leur temps à regarder des chats YouTube sans que cela se répète sur le tableau de bord ou ailleurs.
2) Faites de la place dans le sprint uniquement pour le développement et démarrez les tests une fois le sprint terminé (lorsque les développeurs commencent à travailler sur les fonctionnalités du prochain sprint)
Les inconvénients:
- Lors du développement de fonctionnalités pour le sprint actuel, les développeurs sont distraits par la correction des bogues du précédent et ils peuvent ne pas réussir à effectuer la quantité de travail estimée à être effectuée pendant le sprint actuel.
- Deux tableaux de mêlée sont nécessaires: un pour les fonctionnalités actuelles du sprint et un pour les précédents bugs du sprint
Ma question est donc la suivante: comment répartir correctement le travail entre les développeurs et les testeurs pendant le sprint, afin que personne ne soit surchargé de travail ou ne se retrouve sans tâche à aucun moment? Existe-t-il des moyens d'améliorer les approches décrites ci-dessus? Ou existe-t-il de meilleures approches?