L’Agilité selon Starcraft II

          Christophe HERAL
            cheral@neotech-solutions.fr
                   @ChrisHeral
LE FSUG
remercie ses sponsors pour leur soutien
Ma société
• Pure Player Microsoft                                  Pourquoi AGILE

• Ingénierie logiciel

            Applications collaboratives          Applications web et mobiles

                                                             AGILE

            Applications décisionnelles      Applications Métiers
                                                                       Pratiques
                                                                      d’ingénierie
• Ingénierie des infrastructures
                                                         Excellence
           Administration Systèmes        Administration de Bases de données Industrialisation
                                                         technique

           Administration Réseaux         Architecture
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
Scrum Day 2013 - L'agilité selon Starcraft 2

Scrum Day 2013 - L'agilité selon Starcraft 2

  • 2.
    L’Agilité selon StarcraftII Christophe HERAL cheral@neotech-solutions.fr @ChrisHeral
  • 3.
    LE FSUG remercie sessponsors pour leur soutien
  • 4.
    Ma société • PurePlayer Microsoft Pourquoi AGILE • Ingénierie logiciel Applications collaboratives Applications web et mobiles AGILE Applications décisionnelles Applications Métiers Pratiques d’ingénierie • Ingénierie des infrastructures Excellence Administration Systèmes Administration de Bases de données Industrialisation technique Administration Réseaux Architecture
  • 5.
    Introduction • Idée dela 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
  • 8.
    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
  • 9.
    Feedback • Nécessité dela 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.
  • 10.
    Feedback • Livrer rapidementet 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
  • 11.
    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)
  • 12.
    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
  • 13.
    Amélioration continue • Seformer / 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)
  • 14.
    Amélioration continue • Seformer / 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)
  • 16.
    Congruence • Cohérence desunités produites entre elles • Se focaliser • Ne pas trop se diversifier
  • 17.
    « Il vauttoujours mieux jouer un plan faux de façon logique que de n'avoir pas de plan du tout. » (V. Kortchnoï)
  • 18.
    Congruence • Je faisce que je pense (En équipe : Je fais ce que je dis) • Scrum : Objectif du sprint • Signe d’intégrité, voire de crédibilité
  • 19.
    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é »
  • 20.
    Communication • Confirmation dumodèle d’Alistair Cockburn • Facilitation • Gestion de conflits
  • 21.
    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
  • 22.
    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)
  • 23.
    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
  • 24.
    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
  • 25.
    Respect • StarCraft 2fait 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
  • 26.
    Respect • Un despiliers 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
  • 27.
    Des pratiques auservice des valeurs • « Faire de l’agile » vs « Etre agile »
  • 28.
    Manifeste du joueurde 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
  • 29.
    Conclusion • Parallèle évidentMAIS – 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”
  • 30.
    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