Ces notes sur la mise en place de Scrum et de XP dans un projet "réel" sont disponibles en ligne sur le site de la société Crisp. Il s'agit d'une approche très pragmatique de Scrum avec de nombreux conseils sur des pratiques très concrètes sur les différents composants de Scrum: file d'attente produit, sprint, mêlée quotidienne...
Ou Product backlog
À définir avant la planification du sprint, différencier le degré d'importance de chaque élément pour ordonner (!!) facilement lors de la réunion.
Chaque narration est écrite sur une carte (pas d'interface informatique), pour pouvoir être affichée et manipulée sur un tableau visible de tous.
Division d'une narration en tâches: permet d'anticiper une sous-estimation, lever des problèmes flagrants...
Éléments techniques (architecture, infrastructure, tâches de maintenance des outils,....) difficiles à intégrer dans la file produit. Utiliser le coefficient d'effort pour les "masquer", ou les intégrer en tant que tâches.
Anomalies: différentes stratégies, soit les intégrer dans la file produit, soit en tenir compte pour le coefficient d'effort
Notion de Vélocité : total de l'estimation de charge pour un ensemble de narrations. Comparer le planifié avec le réalisé, sans tenir compte des narrations non achevées (ie. non démontrées). Attention: on ne prend pas en compte le temps ed travail effectif, mais l'estimation attachée à une narration. Le temps de travail effectivement accompli n'est jamais pris en compte dans Scrum et XP en tant qu'objectif.
Estimation de la vélocité: calcul du nombre de jours de travail disponibles (réel, aprés application congés, temps partiel) puis application d'un coefficient d'effort ou de concentration (focus factor).
La vélocité estimée représente une limite sur l'engagement de l'équipe pour le sprint (en terme de narrations). À comparer avec le réel des sprints précédents !
Définir le but du sprint (Sprint goal): motivation, justification du sprint.
Positionner la mêlée quotidienne: horaire, lieu, règles.
Information du démarrage du sprint: lieu et date de la démo, de la mêlée, membres de l'équipe. Communication à toute l'entreprise (wiki central).
File de sprint: classification des tâches et narrations par importance et état, mise en place tableau de bord (papier):
Seat the team together !! mais ne pas avoir le gestionnaire produit trop près.
Mise à jour du tableau de bord des tâches, reévaluation du temps, mise à jour du graphique RAF
Mise à l'amende des retardataires.
Matérialisation de l'atteinte de l'objectif du sprint. Effet positif sur l'équipe, communication envers le reste de l'entreprise, obligation de terminer le travail.
Résumé du déroulement du sprint, tour de table, analyse des écarts avec les prévisions.
SI plusieurs équipes: faire circuler l'information entre les équipes.
Planification de plusieurs sprints à l'avance pour identifier les narratinos à inclure dans une livraison (contrats au forfait).
Estimation des différentes narrations dans la file produits, puis séparation en plusieurs sprints en fonction de la vélocité estimée.
Effets positifs sur:
Toutefois:
Pratique la plus rentable en termes de qualité du code et de la conception, ROI rapide, nécessite du temps pour apprendre à le pratiquer et pour mettre en place l'environnement adéquat.
Nécessite outillage: xUnit framework, DB mémoire, containers légers...
Remarque concernant le code patrimonial: plutôt que d'essayer d'automatiser totalement les tests, étudier le travail des testeurs et automatiser les tâches administratives et répétitives
Effet de bord: réusinage et conception incrémentale
Maven + CruiseControl
Problèmes:
Il faut donc minimiser cette phase en :
Plusieurs solutions:
Gestion des anomalies de production (ou de recette): intégrer la résolution des anomalies dans le sprint (en jouant sur le facteur d'effort, en ajoutant une narration pour les anomalies à corriger, ...)