# Gestion de projet Agile --- ## Objectif de la capsule Savoir gérer un projet avec une méthode agile. Note: --- ## Qui suis-je ? - Jérémie Pardou - Lead tech chez Makina Corpus - jeremie@baserow.io --- ## Programme - La **gestion de projet** : vue d'ensemble - Focus sur L'**agilité** - Méthode **Kanban** - Méthode **Scrum** # La gestion de projet --- ## Objectifs - Bien définir le projet - Gérer le temps, les délais, et les coûts - Mieux travailler ensemble - Limiter les risques - Mettre en rapport le besoin et la réalisation ![management](./images/project-management.jpg) Notes: - Notion de chemin critique --- ## Ce qu'il faut gérer - Spécification - Conception - Développement - Tests unitaires - Validation - Documentation --- ## Focus sur l'Agilité --- ## L'agilité ? ![agile](./images/agileprincipe.png) --- ## Son manifeste - Le [manifeste agile](http://agilemanifesto.org/iso/fr/manifesto.html)... - ... et ce qu'il implique. - Un ensemble de bonnes pratiques. ![agilecloud](./images/agile-development.png) --- ## Conclusion ![goagile](./images/goagile.png) # La méthode Kanban --- ## C'est léger - Des lignes de production de Toyota. - Une méthode de lean management (et pas agile). ![Kanban](./images/kanbantoyota.png) --- ## Ses objets - Le kanban == panneau - Les tâches - Les états... --- ## Un kan-board ![Kanban board](./images/kanban-board.png) --- ## Les tâches - Ce qu'il faut faire - À déplacer sur le Kan-board - Pour suivre l'avancement - Pas de formalisme officiel --- ## Ses états - Nouveau (New) - **À faire** (To Do) - **En cours** (In progress) - À tester (Ready for test) - **Fait** (Done) - Archivé --- ## Son fonctionnement - Quand quelqu'un n'a plus de tâche en cours - Il prend une tâche de la colonne « To Do » - Et la dépose dans la colonne « Doing » - Puis, quand il a terminé la tâche - Il la déplace en « Done » --- ## Ses forces / ses faiblesses ? --- ## Kanban, mon amour ! - Simple et Souple - Visuel - Auto-organisation - Traçabilité - Adapté au flux tendu - Limite du WIP --- ## Kanban, ça suffit ! - Pas d'outil de suivi - Pas de prévisionnel --- ## Quand l'utiliser ? - Pas de délais - Projet simple - Projet en production # La méthode Scrum --- ## La mêlée - Analogie avec le rugby - Une méthode agile ![melee](./images/melee.jpg) Notes: C'est toulousain forcément. --- ## Quels sont les concepts importants ? --- ## Ses artefacts - Produit - User stories - Planning poker - Release - Sprint - Backlog --- ## Le produit - C'est ce qui est livré au client - Il évolue dans le temps - Chaque story vise à l'améliorer --- ## Raconte moi une histoire - Formalisme à respecter - Orienté feature client - Division en sous-tâches techniques - Notion de difficulté --- ## Formalisme ![US](./images/user-stories.jpg) --- ## Planning poker - Évaluation de la difficulté - Difficulté **relative** - En groupe - Pas de correspondance jour - Permet ensuite de suivre l'avancement --- ## Product Backlog - Contient toutes les stories d'une version - Ordonné chronologiquement ![backlog](./images/backlog.png) --- ## Release - Une version du produit - Composé d'un nombre définit de sprints - Avec le release backlog --- ## Sprint - Une itération du produit - Durée constante - 1~4 semaines en général - Un livrable à la fin - Viser le MVP --- ## Pourquoi cette division ? ![agile is better](./images/agile_better.png) --- ## Sprint Backlog - Contient un sous-ensemble du product/release backlog - Division en sous-tâches - Kanban inside --- ## Construisons un backlog **Activité** : construire un backlog. --- ## Quels sont les rôles ? --- ## Les rôles... - Product owner - Scrum master - L'équipe - Ce n'est pas une hiérarchie ![hierachie](./images/selfteam.png) --- ## Product owner - Responsable du produit - Doit maximiser la valeur du produit - Représente les utilisateurs - Construit et maintient le product backlog - Utilise les indicateurs Notes: Il doit aimer son produit. --- ## Scrum master - Fait respecter la méthode - Construit le sprint backlog - Participe à l'évaluation des stories - Participe à la division en tâche --- ## L'équipe - Réalise le sprint - Auto-organisée - Participe à l'évaluation des stories - Participe à la division en tâche --- ## Comment fonctionne-t-elle ? --- ## Les réunions - Planification de release - Planification de sprint - Stand up meeting - Revue et rétrospective de sprint --- ## Planification de release - Au début d'une release - Pour préparer les sprints - Construction du release backlog --- ## Planification de sprint - Avant le sprint - Scrum Poker si besoin - Élaboration des sprints backlogs --- ## Stand up meeting - Chaque jour - Suivi quotidien de la réalisation - Pour lever les lièvres - Mais pas de résolution - Brièveté --- ## Revue et rétrospective de sprint - Après le sprint - Démonstration du logiciel - Vérification des stories - Améliorations ? --- ## Évaluons le backlog **Activité** : évaluer le backlog précédent. --- ## Le déroulement ![cycles](./images/scrum.gif) --- ## Une release 1. Scrum poker 1. Élaboration du release backlog 1. Division en Sprints 1. Réalisation des sprints 1. Nouvelle version --- ## Les sprints 1. Lancement du sprint 2. Les stand-up meeting 3. Revue et rétrospective de sprint 4. Livrable --- ## Comment suivre l'avancement ? --- ## Les indicateurs - Vélocité - Burndown chart - Le kanboard ![burndown](./images/burndown.png) Note: [burdown](http://www.agilenutshell.com/burndown) --- ## Dans la pratique... --- ## IRL 1 ? - Exploiter les indicateurs - PO proxy - Les outils - Au forfait ???? - ... --- ## IRL 2 ? - ... - Difficile à respecter - Savoir s'adapter - Sprint 0 - Pb de la dette technique --- ## Quand l'utiliser ? --- ## C'est adapté pour... - Développement long - Projet un minimum bien défini - PO participatif - Scrum Master bien (in)formé - Projet changeant - Contraintes réalistes --- ## Points importants - Définition de fini - Protection de l'équipe - Respect de la méthode - Une méthode mais tant d'interprétations --- ## Aller plus loin - De nombreuses ressources sur internet - [Scrum primer](https://scrumprimer.org/) - [Scrum life](https://www.youtube.com/channel/UCMCnZGIOeLVO65-LBxkkHyQ/featured) - SCRUM v5 de Claude Aubry --- ## Simulons la méthode **Activité** : À partir du product backlog, faire les sprints. --- # Des questions ?