Découvrons ce qui permet de bien préparer une sprint définition.
Nous avons vu comment se déroule la sprint définition, voici maintenant quelques conseils pour faire en sorte que votre sprint définition se passe encore mieux grâce à de la préparation. Par ici pour les gens pressés.
Le succès d'une bonne sprint définition réside dans la qualité des stories qui constituent le backlog du produit. Les critères qui définissent une bonne story sont : sa taille (volume implicite de développement / configuration), la liste de ses critères d'acceptation (ils sont précis et facilement reproductibles), sa priorité (est-ce indispensable, bien d'avoir ou facultatif).
Réfléchir à ces éléments va donc prendre du temps, lorsque vous allez accompagner votre client, au tout début de la dernière semaine d'un sprint faites le point avec lui sur l'état de l'art de la priorisation et du niveau de définition des stories éligibles pour le prochaine sprint.
N'oubliez pas que votre client n'est pas un développeur web (sauf accident industriel), il ne sait pas ce qu'un module contrib peut faire clé en main. Vous avez un rôle de conseil à jouer pour l'aider à identifier ce qu'est une bonne taille de story et les bons critères d'acceptation qui l'accompagnent. L'une des clés à lui transmettre c'est de bien comprendre comment vous permettre d'itérer en se concentrant sur le découpage des fonctionalités en sous-groupes indispensable / important / facultatif.
Exemple : "je souhaite implémenter une fonctionnalité de recherche à facettes" on va d'abord se concentrer sur les données à indexer, les données à afficher puis on montrera au client le rendu de base pour ensuite se mettre d'accord sur les facettes à ajuster, les comportements spécifiques de filtres, la mise en page etc.
On préfèrera multiplier les stories de taille intermédiaire plutôt que les grosses stories pour la simple et bonne raison que plus vous aurez de fonctionnalités de taille limitée, plus il sera simple de mesurer vos progrès, d'ajuster vos priorités et de coller à votre vélocité.
Identifier les dépendances entre les stories est également important, cela évite à l'équipe de devoir complètement retrier le backlog à cause d'interdépendances non identifiées. Orienter les sprints sur des thèmes fonctionnels facilitera cette organisation, il n'y a rien de pire que des blocs fonctionnels démarrés dans tous les sens mais où rien n'est terminé. Scrum vous encourage à terminer des choses quitte à y revenir plus tard quand les besoins l'imposent plutôt que d'être concentrés sur 15 ou 20 fonctionnalités. J'ajouterai également que le mieux est l'ennemi du bien, à vouloir trop bien faire on fini par ne jamais faire.
TL;DR
Si on récapitule ce dont il faut s'assurer pour bien préparer sa sprint définition :
- Rappeler tôt au client qu'il faut préparer le backlog
- Aider le client à dimensionner et découper les stories en petits morceaux
- Identifier les dépendances
- Donner un thème aux sprints