[Scrum Day 2013] L’agilite et Starcraft 2

Logo-Scrum-Day-2013Le Scrum Day 2013 avait entre autres un objectif de proposer des sessions sur l’agilité en dehors du monde de l’IT. Ce fut mission réussie avec notamment une session sur le rapprochement entre l’agilité et le monde du jeu vidéo et plus particulièrement le jeu de stratégie en temps réel Starcraft 2. Cette session m’avait tout de suite interpellé sur le papier. Connaissant le jeu j’avais hâte de découvrir le rapprochement constaté entre l’agilité et la pratique professionnelle des jeux vidéo (e-sport), tout comme la présentation annoncée en duo entre Christophe Heral, professionnel dans l’IT et Alexandre Schilling (Mak0z), ancien joueur pro, coach d’e-sport. Si vous êtes curieux de connaitre le rapprochement possible entre ces deux univers, cet article est pour vous.

Introduction

Christophe a eu l’idée de cette session pour le Scrum Day sur les similitudes entre l’agilité et Starcraft 2, en voyant des webcasts du jeu. Se pourrait-il qu’il y ait une forte similitude ? Alexandre (Mak0z) qui devait être présent pour l’épauler sur les exemples du jeu n’a pas pu être présent malheureusement. On n’a donc pas pu avoir son retour de coach du jeu, mais Christophe lui-même joueur de Starcraft 2 nous a tout même bien fait les différents rapprochements. Ceux-ci ne sont d’ailleurs pas propres pour la plupart à Starcraft 2 mais de manière générale à tous les jeux de stratégie en temps réel. Mais qu’est qu’un jeu de ce type, abrégé dans le jargon sous le sigle STR ?

 Qu’est-ce que Starcraft 2 ?

Starcraft 2 appelé plus rapidement SC2 est un jeu vidéo célèbre de stratégie en temps réel, un STR. Un STR un type de jeu de stratégie particulier qui notamment et par opposition au jeu de stratégie au tour par tour n’utilise pas un découpage arbitraire du temps en tours de jeu.

Mais pour mieux comprendre le jeu et les similitudes qui suivront, voici une vidéo qui présente les concepts du jeu :

www.youtube.com/watch?v=GFu0d51Mch8

Après cette vidéo explicative des différentes mécaniques du jeu, la gestion des ressources et de l’armée, le macro management et le micro management, on est en mesure de voir les similitudes possibles entre le jeu et l’agilité, avant de finir avec un peu de recul sur la création du manifeste de Starcraft 2, à l’image du manifeste agile.

Les similitudes des 2 univers

1) Le feedback

Le premier rapprochement qu’on peut faire entre les STR et l’agilité est le besoin et la recherche de feedback.

Dans le jeu, la nécessité de la prise d’information est essentielle. Pour cela deux grandes techniques sont utilisés :

–       Le Scouting, le fait d’envoyer une unité espionner l’ennemi, trouver sa position, et découvrir ce que l’adversaire prépare pour réagir derrière au mieux

–       Le Map Control, se positionner à des endroits stratégiques de la carte de jeu, des endroits de passage pour savoir quand l’adversaire mènera son attaque par exemple, prendre ce qu’on appelle dans le jeu les tours Xel’Naga, qui nous donnent une vision plus grande de la carte.

Après avoir récolté l’information, il faut s’adapter, en fonction des informations reçues mais aussi de l’expérience. C’est ce qu’on appelle le Decision Making suite à la lecture du jeu de l’adversaire. Sans ce feedback et l’adaptation qui en suit, on risque de se retrouver avec des unités pas du tout adaptées pour contrer celles de l’ennemi car chaque unité a ses points forts et ses points faibles, et il faut donc adapter la création d’unités ayant les meilleurs points forts contre les points faibles de l’adversaire, des unités anti-aériennes par exemple si l’ennemi fait beaucoup d’unités volantes.

En agile, on cherche également ce feedback, en livrant rapidement et régulièrement pour éviter l’effet tunnel. Les livraisons permettent au métier d’avoir un retour rapide pour s’adapter ensuite, en re-priorisant le backlog, modifiant certaines stories.

2) La gestion du temps

La gestion du temps dans SC2 est un élément essentiel de la réussite. Que ce soit les temps fixes de création d’unités, de bâtiments, ou même le temps pour produire des améliorations d’unités (défensives ou offensives), il faut combiner au mieux ces timing, pour bénéficier au maximum avant l’adversaire d’une technologie supérieure et avoir ainsi un créneau d’attaque (timing push sur stimulants par exemple).

2013-04-11 13.06.42

En agile, la gestion du temps est également omniprésente, avec le time-boxing, le fait de se focaliser sur la production prioritaire d’un maximum de valeur métier, la réduction éventuelle du Time to Market (Lean) et autres.

Des techniques comme Pomodoro et GTD (Getting Things Done) s’attachent particulièrement à la gestion du temps.

3) L’amélioration continue

Tout d’abord, il faut se former et s’informer intensivement pour être très bon joueur de SC2. Cela passe par le visionnage de streaming/vidéos de parties commentées d’autres joueurs, voir des tutoriaux. On en trouve très facilement dans la communauté du jeu. Un autre moyen est de s’informer en visionnant des replays de partie. On peut faire le parallèle entre cette technique et les revues de code, le Pair Programming, ou le faire de s’informer sur les blogs et webcasts.

Puis il faut s’entraîner, apprendre les mécaniques de jeu (metagame) et s’entraîner à les utiliser, en jouant contre l’IA, l’ordinateur par exemple. En agile également l’entrainement est prôné, avec les kata et coding dojo.

Enfin, il ne faut pas oublier de s’auto-analyser, faire des rétrospectives de ses parties, analysant ses propres replays, qu’on ait gagné ou perdu.

L’ensemble contribue à l’amélioration continue, valeur essentielle de l’agilité.

Christophe nous a illustré ensuite ces premiers points de similitude avec une vidéo réalisée par Mak0z, où il commence par faire du scouting, trouve l’adversaire sur les 3 bases possibles puis enchaîne avec un  6 pool et spine crawler dans  le mucus ennemi en s’adaptant à la stratégie ennemie du fast expand. Tous ces termes sont techniques au jeu, mais l’essentiel à retenir est qu’il a pris l’information et s’y est adapté. Puis il a analysé sa partie en visionnant le replay, montrant ce que voyait l’adversaire notamment, participant ainsi à l’amélioration continue.

4) La congruence

La congruence dans le jeu signifie de produire des unités cohérentes entre elles. Il ne faut pas chercher à tout construire, tout comme en développement agile informatique, on chercherait à produire des fonctionnalités utiles pour le métier, ayant la plus forte valeur métier.

Dans le jeu, il faut se focaliser sur un objectif, un build order, qu’on devra bien entendu adapter ensuite suivant la stratégie de l’adversaire (un build order étant un ordre de production).

Christophe cite d’ailleurs le grand joueur d’échecs Kortchnoï qui a dit « Il vaut toujours mieux jouer un plan faux de façon logique que de n’avoir pas de plan du tout ».

L’équipe agile s’attache à suivre un objectif de sprint, réaliser ce qu’elle dit, sur quoi elle s’engage. Cela montre un signe d’intégrité et de crédibilité de l’équipe.

5) La communication

Tout comme en agile, la communication est une valeur fondamentale du jeu, lorsqu’on joue en équipe (parties multi-joueurs 2v2, 3v3, 4v4). La communication orale dans le jeu entre co-équipiers (via le moteur du jeu ou des outils dédiés comme TeamSpeak) apporte beaucoup plus de valeurs qu’une communication écrite par chat, avec une instantanéité. Le clavier est ainsi un élément d’action uniquement, et non de communication.

6) La stabilité de l’équipe

Le fait d’avoir une équipe stable, dont les joueurs se connaissent, savent jouer ensemble, contribue à améliorer les performances, à créer des automatismes. Tout comme en agile, le maintien de la connaissance dans l’équipe et plus important qu’une documentation.

Cette similitude est toutefois assez générale pour être vraie dans tous les sports collectifs notamment.

7) La Stratégie vs la Tactique

Jouer à Starcraft 2 revient à jongler en permanence entre le macro-management et le micro management. La macro est l’optimisation de la production, c’est-à-dire la collecte de ressources, la production d’unités et l’amélioration technologique de son armée. La micro elle est le fait d’optimiser le résultat d’un combat, maintenir le plus d’unités en vie par exemple en déplaçant à l’arrière du front les blessés. Jongler entre les 2 est très difficile et il faut être très bon en multitâches.

Le même parallèle peut être fait entre la gestion d’une stratégie, un objectif global à long terme et la tactique, la vision d’un enjeu local ou à court terme. Le Product Owner doit constamment jongler entre les 2.

8) Le respect

Enfin, Starcraft 2, peut-être plus que d’autres jeux vidéo, fait partie des jeux où l’on accepte plus facilement la victoire de l’adversaire. Tout comme les échecs, où le joueur se sachant battu ne continue pas jusqu’au mat final, le joueur de SC2 se sachant définitivement battu abandonnera et quittera la partie en saluant l’adversaire d’un très connu acronyme dans la communauté : GG ! (signifiant Good Game). Certes certains continueront la partie jusqu’au bout en essayant parfois même de se cacher pour faire perdre patience à l’adversaire, ou d’autres quitteront sans saluer l’adversaire, ce qu’on appelle dans le jargon un « rage quit » mais cela reste une faible minorité et le respect fait partie intégrante du jeu.

Cette valeur importante dans l’agilité est d’ailleurs un pilier de Lean. Le joueur de SC2 a compris ces valeurs et ne fait pas que pratiquer le jeu, tout comme celui qui « est agile » a compris les valeurs au-delà des pratiques agiles.

Le manifeste de Starcraft 2

Enfin, Christophe a poussé la réflexion sur les similitudes en écrivant le manifeste du joueur de Starcraft 2 que voici :

–       Les unités et leur complémentarité plus que les FPS et les APM (actions par minute)

–       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 (Build Order)

A quand une page où on peut le signer comme le manifeste agile ?

2013-04-11 13.32.45

Conclusion

Au final cette réflexion sur le parallèle entre l’agilité et le jeu Starcraft 2 fut très intéressante. Cela ouvre des pistes de réflexion sur la démocratisation de l’agilité et l’application dans des milieux où la culture agile n’est pourtant pas présente.

Pour ma part, je rajouterais qu’une autre similitude est l’over-réaction. Un bon joueur de SC2 va essayer de na pas sur-réagir à une attaque ennemie par exemple, en produisant beaucoup plus d’unités que nécessaire, sinon en late-game (jeu tardif), il paiera certainement sa production supplémentaire inutile. Tout comme dans le développement TDD, on cherchera à produire juste le nécessaire pour faire passer les tests avec succès, ou de manière plus générale, on produira les fonctionnalités ayant le plus de valeur métier, pour avoir un feedback rapide et s’adapter, sans pour autant surproduire. La valeur Lean d’élimination des gaspillages s’applique bien également à Starcraft 2.

En outre, l’amélioration continue est d’autant plus importante dans ce jeu, que dans d’autres jeux de stratégie en temps réel, car de nombreuses mises à jours sont réalisés, et même une nouvelle extension récemment (Heart of the Swarm), modifiant les dynamiques de jeu, les timeboxing, et nécessitant aux joueurs de s’adapter en permanence pour rester au top niveau.

Enfin, je rajouterais que j’aurais aimé savoir si le métier de coach agile et coach de Starcraft 2 se ressemblent. On aurait pu pousser la réflexion avec Mak0z s’il avait pu être présent, mais il me semble qu’on peut en effet trouver de fortes similitudes dans les valeurs entre les 2.

Pour aller plus loin

Nombre de vue : 30

COMMENTAIRES 4 commentaires

  1. pijrien dit :

    Attention au début de l’article.
    Mak0z est écrit Mark0z

  2. Didier Menut dit :

    Merci, c’est corrigé 🙂

  3. […] m’aider je pense dans cette démarche. Après la démarche du manifeste agile de Starcraft 2 (cf http://blog-rec.soat.fr/2013/05/scrum-day-2013-lagilite-et-starcraft-2/) je souhaite désormais approndir “My Games […]

AJOUTER UN COMMENTAIRE