Visual Studio Live Share et le confinement

vs live share

Nous vivons quelque chose de plutôt particulier depuis quelques jours. Heureusement, notre domaine rend la possibilité de faire du télétravail plutôt facile et il y a amplement d’outils disponibles pour nous aider. Malgré que l’outil n’est pas nouveau, j’avais envie de rappeler l’utilité de Visual Studio Live Share dans le contexte actuel où le confinement est obligatoire.

Un autre outil de communication?

Microsoft Teams. Skype. Slack. Hangout. Discord. Facebook Messenger. Même un appel téléphonique! Tous des outils que nous avons accès, pour faciliter nos communications alors que nous devons rester à la maison. Nous pouvons même facilement partager notre écran à une ou plusieurs personnes pour collaborer sur une même chose. Alors que la communication devient pour beaucoup d’entreprises un point critique pour la pérennité des activités, il semble que nous avons déjà tout ce qu’il faut pour le faire, non ? Pourquoi est-ce qu’on aurait besoin d’ajouter Visual Studio Live Share à tout ceci? Je vais tenter de vous expliquer pourquoi on devrait pousser plus que jamais l’utilisation de cet outil, encore plus dans le contexte actuel.

Qu’est-ce que Visual Studio Live Share?

Une petite explication s’impose pour ceux qui ne connaissent pas le service. La première version est parue début 2018, en accès très limité et sur acceptation dans le programme uniquement. Depuis, plusieurs versions se sont écoulées et nous en sommes maintenant avec un produit mature qui est inclut d’office avec Visual Studio 2019 et disponible en extension avec Visual Studio Code. Essentiellement, Live Share nous permet à plusieurs personnes de collaborer sur un même projet en temps réel. Au-delà de l’édition de fichiers, la collaboration s’étend sur un environnement partagé et permet même les appels audio pour centraliser les outils utilisés.

Quelques cas d’utilisation

Référence disponible ici: https://pragprog.com/book/tpp20/the-pragmatic-programmer-20th-anniversary-edition

The rubber duck

Parfois, le simple fait d’expliquer notre problème à quelqu’un nous permet de trouver la solution. L’expliquer à un canard en caoutchouc aussi, selon une histoire amenée dans le livre The Pragmatic Programmer. En utilisant Live Share pour le faire, nous avons la possibilité de suivre une personne de la session facilement. On peut même envoyer une notification à tous les collaborateurs pour leur demander de focuser sur nous, de cette manière ils peuvent facilement nous retrouver.

The debugging

Avec un partage d’écran standard, ce n’est pas toujours évident d’être 2 personnes pour tenter de régler un problème. Au moment où on voudrait voir l’état d’une variable, notre collègue a déjà avancé d’un pas et la variable a changée. Qu’est-ce qu’on fait à ce moment? On recommence le tout, ce qui n’est pas nécessairement optimal. Avec Live Share, on ne peut pas empêcher notre collègue d’avancer, mais on peut au moins suivre indépendamment les variables qu’on veut sans devoir attendre qu’il/elle l’inspecte.

Serveur partagé

Encore une fois, en collaboration via un partage d’écran, l’honneur d’interagir avec l’application revient uniquement à la personne qui contrôle. Live Share permet de faire un partage de serveur, donc tous les collaborateurs ont accès à l’application web directement de leur navigateur. Le tout fonctionne grâce à une redirection d’un port spécifique vers le serveur de l’hôte.

The pair Programming

The pair programming est un concept très répandu et utilisé. Deux programmeurs travaillent sur le même ordinateur, avec un qui écrit du code et l’autre qui observe et corrige au besoin. Avec la possibilité de collaborer en édition avec Live Share, nous avons la possibilité d’amener ça au niveau supérieur. Avec une bonne communication entre les pairs, nous nous retrouvons avec deux programmeurs qui peuvent faire avancer le code en même temps. Que ce soit dans le même fichier ou sur différentes classes, les possibilités sont infinies.

Là où j’affectionne particulièrement le côté collaboratif de Live Share, c’est lorsqu’on amène cette collaboration vers du Test-Driven Development (TDD). Tout commence avec une personne qui écrit les tests, sans voir ce que l’autre personne fait. Dès qu’on a du rouge (code qui ne compile pas ou test qui échoue), notre collaborateur prend le relais. De son côté, l’autre personne code les classes et fonctions selon le besoin du testeur pour faire passer les tests. Cet exercice est intéressant parce qu’il nous amène à faire du TDD, ce qui est une excellente pratique (que j’adore et préconise!). Mais au-delà de ceci, il amène les gens à bien communiquer, et c’est ce qui m’amène à la conclusion de cet article.

Pourquoi maintenant plus que jamais?

Nous vivons présentement quelque chose d’exceptionnel avec le confinement et la pandémie. Même si beaucoup sont habitués au télétravail, le faire à 100% du temps est un gros changement. La communication est plus cruciale que jamais. Autant pour le bon déroulement de nos projets, que pour notre santé mentale et les relations avec nos pairs. Live Share peut selon moi vous aider sur tous ces aspects, autant d’un point de vue humain que productif. Est-ce que Live Share a cette utilité pour vous aussi? N’hésitez pas à nous laisser votre point de vue dans les commentaires!

Restez chez vous. Utilisez Live Share.
Bruno

Author: Bruno

By day, I am a developer, team leader and co-host of the Bracket Show. By evening, I am a husband and the father of two wonderful children. The time I have left after all of this I spend trying to get moving, playing and writing video game reviews, as well as preparing material for the Bracket Show recordings and for this blog. Through it all, I am also passionate about music and microbreweries.