intégration d'agile dans un domaine multidisciplinaire
DESCRIPTION
Présentation de Philippe Cantin d'Ubisoft lors de l'Agile Tour 2009 Québec.TRANSCRIPT
Du chAos dans l’ordre
Agile dans un domaine multidisciplinairePar Phillipe Cantin
Image ref: Pondular interface by Mopiskevin @ Mopis-Synth.com
Aujourd’hui
• Le Jeu video
• Équipe Agile dans un projet non-Agile
• Scrum multidiciplinaire de programmeurs et d’artistes
• Outils importants
• Q&A
Half the Time, 2003, Painting by JAMES NARES
Jeu vidéoPassage du programme a la production
• Gestion• Équipe de 20 a 300+• Multidisciplinaire• Budget / risque / attentes
• Design & Art• Scripteur• Directeur artistique• Spécialisation…
• Technologies• Plateformes• Engins• Spécialisation…
Équipe Agile / projet non-Agile
Plusieurs méthodes de gestion Influencées par la compagnie Influencées par le studio Influencées par la production Programmation: en cascade Artistes: traditionnelle
Équipe nouvellement formée Nouvelles technologies Mandat porté a changer
...risque élevé
Environnement / état initial
Équipe Agile / projet non-Agile
• Méthode en cascade + chaos = désastre• Expérience d’un collègue• Documentations et postmortems (WEB)• Possibilité d’intégration par le bas• Risque égale (pros & cons)
Choix de l’Agile pour informatique
Équipe Agile / projet non-Agile
o Informer les intervenants (owner)o Introduction d’Agile aux programmeurso Application d’Agile par incrémentso Daily Scrums / Sprint 4 semaineso Backlog informatique seulemento Suivis des burndown dans JIRA, Excel & wikio Sprint de 2 semaineso Sprint Review
o Certaine stabilité du system après 3-4 sprints
Phase 1/2: Integration d’Agile
Modifications a apporter:1. Isoler l’équipe2. Faire un vrai backlog3. Trouver/inventer un owner
Équipe Agile / projet non-Agile
Phase 1/2: Integration d’Agile
??? Isoler l’équipe ???
Gestion 101
FAILED
Équipe Agile / projet non-Agile
Phase 2/2: Integration d’Agile
• Isoler le sprint du chaos• Lead tech (sprint – équipe / Scrum Master)• Chef de Projet (backlog – client / owner virtuel)• Contacts avec l’équipe via ces deux personnes
• Création d’un backlog unifié dans JIRA• Garder a jour les estimations macro
• Traduction des documents design en Stories• Mise a jour du backlog• Intégration des testeurs dans les scrums
Isoler l’équipeFaire un backlogInventer un owner
Équipe Agile / projet non-Agile
• Possible mais difficile• Nouveau poste pour faire le pont • Agile doit être adapté• Négatifs: • Un owner virtuel n’est pas un owner• Interdépendance métier trop grande• Estimation en heures pour la prog
• Positifs:• Écrans de suivis• Intégration des testeurs dans les scrum• Agile acceptée par la direction
Apprentissages
Scrum multidisciplinaire
Les grandes lignes
• Méthode unifiée Agile • Participation de touts les métiers• Scrums multidisciplinaires • Stories multidisciplinaires• Estimation• Points (programmeurs)• Heures (artistes)
• Maintenance des estimations• Sprint de 3 semaines• Sprint rétrospective
Scrum multidisciplinaire
• Artisteo Floueo Incertitudeo Chaos
• Programmeuro Cartésieno Rigiditéo Contrôle
Un monde a l’envers
DATA
CODE
Quantitité / Répétitif
Unique / Itération
Pré-Production
Production
Conception Conception
Production
Debug
Artistes
Analyse
Production
Debug
Programmeurs
Du chaos dans l’ordre
Scrum multidisciplinaire
Connu Inconnu
Strory multidisciplinaire: Description (UseCase) Compréhension de l’interdépendance Estimation macro de chaque métier Suivis a chaque sprintCommuniquer les modifications
Scrum multidisciplinaireScrums & Stories
Scrum multidisciplinaire: Programmeurs
• Tâches liés au sprintArtistes
• Tâches liés au sprint (priorité)• Tâches de production
Game Designer Testeur
Beaucoup de gens spécialisé Manpower différent par métier Estimation différentes par métier
Scrum multidisciplinaireEstimation & Polyvalence
o Story avec plusieurs estimés différents o Besoin d’une ligne rouge par métier • Manpower
o Nivelage des écart1. Découpage de story2. Changement de méthode de production3. Scénarios différents (use case)4. Modification de la story de base
Outils nécessaires• Données:• Macro par métiers• Man power par métiers• Ligne rouge(s) dans le backlog• Use Cases
•Outils:• Jira / GreenHopper (stories, bugs)• Excel (macro, listes, budget,...)• Écran(s) de suivis• Calendrier des grands livrables sur le mur
•Procédures:• Daily Scrum / Scrum of Scrum• Sprint de 3 semaines (avec stabilisation)• Planification de sprint (1 jour)• Review / Rétrospective (1 jour)• Retour sur les dates de livrable