AGILITÉ ET PROJETS AVEC SCRUM ENSIMAG 2014 Jean-François Jagodzinski @jfjago www.agilessence.fr 1 Jean-François Jagodzinski - Coach Formateur et accompagnateur d équipes agiles Site -> http://www.agilessence.fr Twitter -> @jfjago Blog -> http://blog.jago.fr 2 1
2
3
Il m énerve à toujours se mettre en avant Pourquoi on ne m écoute pas? Pourquoi est-ce qu on fait ca? Oups ils ont l air costaud en Web, je n ai pas le niveau 4
C est limpide, belle intelligence Je sens que l on va s éclater Le sujet semble bien maîtrisé Avec leur niveau technique il vont m aider à progresser Inversion des valeurs Les individus et les interactions plutôt que des procédures et outils Un logiciel qui fonctionne plutôt qu une documentation abondante La collaboration avec le client plutôt que la négociation du contrat L accueil du changement plutôt que le respect du plan http://agilemanifesto.org 5
Méthodes Le rapport au temps SADT Merise Début Fin RUP MS Rational project Modéliser et tracer Office Le rapport Pratiques au temps XP Scrum succession de cycles complets Post it Messagerie instantanée Wiki, forums 12 6
Méthodes Pratiques Début Fin succession de cycles complets Qualité du suivi des procédures Qualité des relations et des échanges MS project Rational Office Messagerie instantanée Post it Wiki, forums CARTÉSIEN OU EMPIRIQUE? 14 7
La vision du projet est analytique, linéaire, séquentielle 15 Approche cartésienne 16 8
Est-ce que ça marche avec le logiciel? Est-ce que chaque tâche est clairement comprise? Est-ce que au moins on en approche? Étant données les même entrées (y compris les gens) Est-ce que l on aura le même résultat à chaque fois? Est- il même possible d avoir les mêmes entrées? 17 Ce n est pas simple, ce n est même pas compliqué c est complexe 18 9
La réponse à la complication c est la simplification La réponse à la complexité, c est la simplicité 19 La complexité s adresse de façon simple 10
Regarder et ajuster 11
Approche empirique Notre connaissance nous vient de nos perceptions au travers de nos sens. Nos expériences nous permettent d ajuster notre connaissance 23 Modèle empirique Surveillance Entrées Exigences Technologie Personnes Processus Sorties Produit fini partiellement complet Feedback 24 12
Trois mots clefs Inspecte et Adapte 25 Scrum STAND-UP CHAQUE MATIN BACKLOG PRODUIT BACKLOG DE SPRINT 24 h PRODUIT FINI (PARTIELLEMENT COMPLET) QUE L ON PEUT METTRE EN SERVICE 2 à 4 sem 26 13
Avant tout poser la Vision Par exemple : exposé de l ascenseur Pour (clients) Qui (exposé du besoin ou de l opportunité) Le (nom du produit) est un (catégorie du produit) Qui (bénéfice clé, raison convaincante d acheter) À la différence de (produit concurrent, ancien produit) Notre produit (différenciant principal) 27 Backlog produit Image available at www.mountaingoatsoftware.com/scrum C est ici Les exigences Une liste de tout le travail désiré dans le projet Idéalement exprimé de telle façon que chaque item ait une valeur pour l utilisateur Priorisé par le product owner Re-priorisé au démarrage de chaque sprint 28 14
Exemple de backlog Prio Fonction du backlog Effort 1 Permettre à un visiteur de réserver une chambre 3 2 3 4 5 En tant qu utilisateur je souhaite pouvoir annuler ma réservation En tant qu utilisateur je souhaite changer mes dates de réservation En tant qu employé de l hôtel je souhaite pouvoir consulter la liste des clients ayant réservé en ligne Améliorer la gestion des exceptions 13 5 8 5 30 50 29 user story = user + story (histoire utilisateur = histoire + utilisateur) Il y a deux parties dans une user story Un utilisateur Une histoire Représente les utilisateurs et priorise leurs besoins Impliquez les autant que possible Pensez à tous les utilisateurs du système 30 15
En tant que <rôle> Je souhaite <faire une action> De façon à <obtenir un gain> Exemple de user story En tant qu habitué des voyages, je souhaite réserver à nouveau les commodités d un voyage précédent de façon à gagner du temps en réservant pour mes destinations régulières 32 16
Estimer l effort sur les stories En utilisant le planning poker http://www.planningpoker.com/ Les story points s évaluent en relatif 17
Estimer à l instinct 35 Plus difficile Les story points représentent l effort estimé 8 etc 1 2 3 5 Plus long 36 18
Cela permet à l équipe d estimer sa «vélocité» = le nombre de points quelle est capable de réaliser en une itération http://www.planningpoker.com/ Itérations fixes STAND-UP CHAQUE MATIN BACKLOG PRODUIT BACKLOG DE SPRINT 24 h PRODUIT FINI (PARTIELLEMENT COMPLET) QUE L ON PEUT METTRE EN SERVICE 2 à 4 sem 38 19
Toujours livrer On ne retarde pas la fin d un sprint La date de livraison est sacrée un produit «fini» En cas de nécessité: réduire le périmètre 39 «fini»? Analyse Conception Codage Test Performance Test utilisateurs Pilote Etendre le périmètre aussi loin que possible Production 40 20
Une équipe Scrum : 3 rôles Le product owner Désigne le but L équipe Réalise le but et ne laisse aucun obstacle la ralentir Le scrum master Assure la progression vers le but 41 Product owner Le product owner C est l acteur «métier» : Il a une vision du produit Il définit ce qu il faut y mettre Il décide dans quel ordre il faut le faire 42 21
Product owner Il est métier Il représente les utilisateurs ou clients Il a une vision du produit à réaliser Il en définit les fonctionnalités Il les négocie et les priorise en fonction de la valeur métier Il décide des dates de release Il est responsable du ROI Il travaille avec l équipe Il explique les fonctionnalités, il intègre les remarques de l équipe Il tient à jour et communique ses priorités Il décide de la planification de sprint Il donne les éclairages fonctionnels au quotidien Il accepte ou rejette le résultat du sprint 43 Scrum master Le scrum master C est l acteur processus Agile de l équipe Il est garant de l adhésion et du respect de la pratique de Scrum par l équipe et le product owner Il est garant du fait que rien ne vienne faire obstacle à la progression des équipes 44 22
Scrum master Il est gardien du processus Il assure que Scrum est bien appliqué Il facilite toutes les collaborations Il participe au daily stand up, à la planification de sprint, à la démo, à la rétrospective Il facilite le travail de l équipe et du product owner Il veille à ce que l équipe soit fonctionnelle et productive, Il fait en sorte que la coopération s établisse indépendamment des fonctions et retire les obstacles, Il protège l équipe des interférences externes Il n a aucun pouvoir sur l équipe 45 L équipe de développement L équipe C est l acteur «réalisation produit» Elle définit comment il faut construire le produit Elle s organise de la meilleure façon pour le faire Elle le fait au meilleur niveau de qualité 46 23
L équipe de développement L équipe Typiquement 5 à 9 personnes Les équipiers sont dédiés au projet Ils s organisent seul Stable, pas de changement en cours de sprint L équipe doit inclure toutes les compétences nécessaires pour aller du product backlog à la préparation d un produit fini Elle est pluridisciplinaire et il n y a pas de rôle réservé Les egos sont mis de coté 47 Les engagements de l équipe Décider de la quantité de travail quelle va réaliser dans le sprint Quelles stories elle peut accepter Combien de points elle peut réaliser S engager à compléter le travail une fois la décision prise C est un engagement collectif et non individuel L équipe a autorité pour faire tout ce qu elle juge nécessaire à réussir son engagement 48 24
Plannification de sprint Revue de sprint Rétrospective Plannification de sprint 26/05/2014 Rythme de production 49 Cérémonies Scrum Scrums journaliers 50 25
Planification de sprint Première partie Le product owner Analyser et évaluer le product backlog Définir un objectif de sprint Sélectionner le contenu du sprint Seconde partie L équipe Décider comment atteindre l objectif Créer le sprint backlog (tâches techniques) Estimer les tâches techniques Initialiser le burndown Le scrum master 51 1 Décider des stories à faire Dans le but de dérouler ma stratégie, en tant que joueur, je souhaite pourvoir déplacer PacMan dans les 4 directions Dans le but xxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx Dans le but yyyyyyyyyyyyyyyyyyyyy yyyyyyyyyyyyyyyyyyyyy yyyyyyyyyyyyyyyyyyyyy y 5 8 2 Le PO propose, L équipe dispose C est suffisant! (au-delà on ne pourra pas finir) Dans le but zzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzz 3 26
2 - Décider comment atteindre l objectif L équipe seule (mais le PO est disponible pour répondre aux questions) Dans le but de 5 dérouler ma stratégie, en tant que joueur, je souhaite pourvoir déplacer PacMan dans les 4 directions Construire la grille 12h Tester les déplacements dans la grille Gérez 4 directions : nord, est, sud, ouest 12h 8h Le tableau des tâches A faire En cours Fini 27
Scrum journalier Principe : Chaque jour à la même heure 15 min Debout On donne un statut, on ne règle pas les problèmes Tout le monde peut assister Seuls l équipe, le scrum master, le product owner peuvent parler 56 28
Chacun répond à 3 questions Qu est ce que j ai fait hier? Qu est-ce que je vais faire aujourd hui? Qu est-ce qui m empêche d avancer? 57 58 29
La démo/revue de sprint L équipe présente ce qu elle a réalisé dans le sprint Typiquement sous la forme d une démo des fonctionnalités Informel Pas de slides Penser à prévoir un temps de préparation Toute l équipe participe Inviter tout le monde 59 La rétrospective Périodiquement jeter un regard sur ce qui fonctionne et ce qui ne fonctionne pas Typiquement 30 min 1 h 30 Fait après chaque sprint Toute l équipe participe Scrum Master Product owner Equipe 60 30
Interactif 61 Parler aux émotions Une façon parmi d autres On a aimé On a fait une bonne performance malgré la période de vacances Les documents ont été revus dans le sprint Fonctions et stories intéressantes Bon engagement et meilleure bande passante qu au sprint précédent Bonne disponibilité du product owner On n a pas aimé Pas assez de temps pour la relecture des documents On a été frustré de ne pas pouvoir prendre des tâches sympas Une seule personne a la compétence performance testing Les impediments ne sont pas listés 62 31
Analyser rationnellement On arrête Arrêter de vouloir des spécifications finalisées avant de commencer le développement Arrêter de déborder les scrums du matin On commence Montrer aussi les interfaces aux utilisateurs COB Utiliser le forum pour partager l info créer un forum pour le sprint créer un fil de discussion par story 63 Décider des actions à faire..et les réaliser!! 64 32
Indicateur : burndown Méthode de base pour tracer l avancement Le burdown montrent le travail qu il reste à faire à une date donnée On le met à jour quotidiennement Le tracer à partir du reste à-faire Stories A faire En cours Fini En tant que membre Récupérer les 2h Coder la 6h Préparer les 4h Analyser le 8h Préparer les 6h Valider le 4h Coder le 6h RAF En tant qu administrateur Récupérer les 2h Coder la 6h Préparer les 6h Valider le 4h 66 33
Reste à faire 09/06 10/06 11/06 12/06 13/06 14/06 15/06 16/06 17/06 18/06 19/06 20/06 21/06 22/06 23/06 24/06 26/05/2014 Un burndown 400 350 300 250 200 150 100 50 0 Raf au Matin du jour j Daily stand-up Démo/Revue Sprint planning 4 Cérémonies Rétrospective Équipe de réalisation Scrum Définition de «FINI» 3 rôles 3 artéfacts Sprint backlog et burndown de sprint Scrum Master Product owner Product backlog et burndown de release 34
C est limpide, belle intelligence Je sens que l on va s éclater Le sujet semble bien maîtrisé Avec leur niveau technique il vont m aider à progresser Mais c est avant tout une question d hommes et de femmes Auteur image : gnomefiliere 35