Download - Scrum Day 2013 - L'agilité selon Starcraft 2
LE FSUG remercie ses sponsors pour leur soutien
Ma société• Pure Player Microsoft
• Ingénierie logiciel
• Ingénierie des infrastructures
Applications web et mobiles
Applications Métiers
Applications collaboratives
Applications décisionnelles
Administration Systèmes Administration de Bases de données
Administration Réseaux Architecture
Pourquoi AGILE
IndustrialisationExcellence technique
AGILE
Pratiques d’ingénierie
Introduction• Idée de la session
– Webcasts proposés par des acteurs du e-sport– Agilité en dehors de l’informatique ?
• Similitudes entre 2 univers– Besoin de feedback permanent– Importance de la prise d’information et de la communication– Amélioration continue
• Valable pour tous les jeux de stratégie– Jeu signifiant : Le résultat des actions du joueur est observable à
court terme et s’intègre dans l’ensemble du jeu à long terme
Sommaire• Bonnes et mauvaises pratiques dans un jeu de stratégie temps réel• Parallèle avec l’agilité pour les aspects suivants
– Feedback– Gestion du temps– Amélioration continue– Congruence– Communication– Stabilité de l’équipe– Stratégie vs Tactique– Respect
• Tentative de généralisation– Manifeste du joueur de SC2
Feedback• Nécessité de la prise d’information
– Scouting– Map Control
• Adaptation– Decision Making (lecture de game)– En fonction des informations reçues, mais aussi de l’expérience
• Si pas de scouting d’un joueur – Résultat : il n’a pas du tout les unités adaptées pour contrer les
unités ennemies.
Feedback• Livrer rapidement et régulièrement pour éviter
l’effet tunnel• Reprioriser le backlog en permanence en
fonction de cette prise d’information auprès du métier
• Savoir où en est le marché ?• Réponse au changement
– Le logiciel doit être suffisamment bien conçu pour être adaptable
Gestion du temps• Nécessité de respecter certains timings pour bénéficier
au maximum de certaines améliorations technologiques
• Exemple : Timing push (sur stimulants, speedling, …).– On obtient un créneau d’attaque où on a une technologie
supérieure à l’adversaire (mais au détriment d’autres choses)
Gestion du temps• Time-boxing• Produire le maximum de valeur dans un créneau
de temps donné• Se focaliser sur la réalisation prioritaire• Etre le premier à sortir un produit sur le marché
– Time to market (Lean Start-up)
• Pomodoro / Gettings Think Done
Amélioration continue• Se former / s’informer
– Regarder des tutoriaux / streams (de qualité)– Regarder des replays
• S’entraîner– Apprendre les mécaniques de jeu (Metagame)– S’entraîner à les utiliser
• Rétrospecter– Analyser ses propres replays à la fin de chaque partie (que cela
soit victoire ou défaite)
Amélioration continue• Se former / s’informer
– Lire des blogs / regarder des Webcasts– Participer à des conférences– Faire de la Revue de code / Pair Programming
• S’entraîner– Faire des Kata– Faire des Coding Dojo
• Rétrospecter– Faire une rétrospective à chaque sprint (Scrum)– Améliorer le système (Kanban)
Congruence• Cohérence des unités produites entre elles
• Se focaliser
• Ne pas trop se diversifier
« Il vaut toujours mieux jouer un plan faux de façon logique que de n'avoir pas
de plan du tout. » (V. Kortchnoï)
Congruence
• Je fais ce que je pense
(En équipe : Je fais ce que je dis)
• Scrum : Objectif du sprint
• Signe d’intégrité, voire de crédibilité
Communication• Parties multi-joueurs (2 contre 2 par ex)
– Milieu amateur (quasiment pas en pro)
• Communication orale (TeamSpeak, Skype, …) apporte plus de valeur que la communication écrite (chat in-game)
– Instantanéité– Lever les ambiguïtés– Le clavier est un élément d’action, plus de communication
• Inconvénient– « Trop spontané »
Communication
• Confirmation du modèle
d’Alistair Cockburn
• Facilitation
• Gestion de conflits
Stabilité de l’équipe
• Parties multi-joueurs (2 contre 2 par ex)• Habitude de jouer ensemble• Automatismes• Constitution de teams
– Comme dans les sports collectifs
Stabilité de l’équipe
• Maintien de la connaissance dans l’équipe
• Plus important qu’exiger de la documentation
• Plus facile de se faire confiance
• Mieux se connaître (points forts / faibles)
Macro-gestion vs Micro-gestion
• Macro : optimiser la production– Collecte de ressources– Production d’unités– Améliorations technologiques
• Micro : optimiser le résultat d’un combat– Maintenir le plus d’unités en vie
Stratégie vs Tactique• Stratégie = Objectif global
– Long terme• Tactique = Enjeu local
– Court terme• Dans du développement de produits• Dans les attributions du Product Owner
Respect
• StarCraft 2 fait partie des jeux où l’on accepte la victoire de l’adversaire
• Les parties se terminent en général par l’abandon d’un des 2 joueurs
• Quelques exceptions dénoncées par la communauté– Les RageQuit
Respect• Un des piliers de Lean et d’XP (rajouté par Kent
Beck)• Respect de l’ensemble des intervenants du
projet– Source de confiance– Responsabilise et valorise
• Respecter et être respecté• Cela ne signifie pas forcément être d’accord
Des pratiques au service des valeurs
• « Faire de l’agile » vs « Etre agile »
Manifeste du joueur de SC2• Les unités et leur complémentarité
plus que les FPS et les APM• Des bâtiments opérationnels
plus qu’un arbre technologique exhaustif• La collaboration avec les coéquipiers
plus que l’accumulation de ressources• L’adaptation au scout
plus que le suivi figé d’un BO
Conclusion• Parallèle évident MAIS
– Peut-on parler d’agilité dans ce contexte ?– Est-ce forcer le trait ?
• Peut-on appliquer l’agilité sans le savoir ?– Milieu où la culture agile n’est pourtant pas du tout présente– Démocratiser l’agilité ?
• Jeu très prisé dans les start-ups– “Why Startups Should Only Hire Good Starcraft Players”
Références
• Agile Unlimited d’Alexandre Boutin• VODs d’Alexandre Schilling et d’Egg-One (Youtube)• Mémoire de Simon Dor : La stratégie comme processus
cognitif dans le jeu vidéo StarCraft• Blog de Michael Voelker• Une question de valeurs de Thierry Cros et David
Brocard• La stratégie du Product Owner de Pablo Pernot et Alexis
Beuve