Covid-19 : Microsoft accompagne les développeurs en télétravail
La crise sanitaire actuelle rappelle l’importance d’outiller les équipes de développeurs pour leur permettre de collaborer à distance. Visual Studio Codespaces, Azure DevOps, GitHub… Microsoft dispose d’une large gamme de solutions favorisant le travail en mode remote.
La crise du Covid-19 bouleverse en profondeur la manière dont les développeurs travaillent. Depuis le début du confinement mi-mars et la généralisation de la collaboration à distance qui s’en est suivie, les équipes de développement se sont organisées pour poursuivre les projets en cours. Elles ont dû transposer certains rituels physiques, comme se retrouver autour d’un café ou élaborer le projet sur un tableau velleda, sans renier, pour autant, les principes fondamentaux de l’agilité. Le contexte actuel a aussi accéléré la transformation numérique en cours, rappelant l’importance des plateformes numériques pour assurer la résilience des organisations. Les développeurs doivent avoir les bons outils pour travailler aussi efficacement depuis leur domicile que s’ils se trouvaient dans leur environnement professionnel habituel.
Bien utilisé, le numérique rompt le sentiment d’isolement qui peut naître à travailler seul devant son écran. Population particulièrement connectée, les « devs » ont besoin de rester en contact avec leurs pairs pour se coordonner mais aussi maintenir leur engagement. Pour répondre à ces différents enjeux, Microsoft propose différentes solutions pour augmenter la productivité de chacun comme la productivité collective à distance.
Booster la productivité individuelle
Premier logiciel indispensable pour booster la productivité des développeurs en télétravail, Visual Studio. Ce logiciel est de loin l’environnement de développement intégré (EDI) le plus utilisé dans le monde. Selon l’étude annuelle 2019 de Stack Overflow portant sur près de 90 000 développeurs, Visual Studio Code (possibilité d’intégration de plugins) et Visual Studio sont les outils de développement les plus populaires avec respectivement des taux de préférence de 50,7% et 31,5%. Visual Studio Code permet aux développeurs de coder dans de nombreux langages tel que C++, Python ou JavaScript, grâce à de nombreuses extensions d’amélioration de performances. L’interface de Visual Studio est également personnalisable, les développeurs installent uniquement les langages dont ils ont réellement besoin.
De nouvelles fonctionnalités pour toujours mieux coder
Microsoft propose de nouvelles déclinaisons de son célèbre éditeur de code. Visual Studio Codespaces (ex-Visual Studio Online) place les environnements de travail dans le cloud. Le développeur y accède depuis un simple navigateur. De son côté, Visual Studio IntelliCode assiste le développeur durant l’écriture du code en faisant appel aux apports de l’intelligence artificielle. L’IA détecte d’éventuelles erreurs et propose des améliorations. Les suggestions IntelliCode reposent sur des centaines de projets open source sur GitHub qui ont obtenu plus de cent étoiles.
Visual Studio Code Remote Development permet au développeur de connecter son éditeur de code à un serveur distant. Il peut aussi le connecter à une image Docker en local afin de retrouver tous ses outils de travail. Cela lui épargne d’aller les chercher sur différents serveurs et d’installer des plugins. Il permet également d’homogénéiser les environnements au sein d’une équipe de développement, les configurations peuvent différer d’un poste de travail à l’autre. Un développeur est ainsi assuré que si le code s’exécute correctement sur sa machine, cela sera également le cas sur celle d’un collègue.
Par ailleurs, un développeur maîtrisant plusieurs langages de programmation retrouvera à partir d’un même environnement containerisé les outils dédiés, par exemple, Python ou Java.
Favoriser la collaboration avec Visual Studio Live Share
Fonctionnalité intégrée à l’EDI de Microsoft, Visual Studio Live Share permet à plusieurs développeurs de travailler sur la même base de code, sans avoir besoin d’être assis physiquement devant le même écran. Il suffit d’envoyer un lien, jusqu’à 30 participants, pour que toute l’équipe puisse évoluer au sein du même environnement. Chaque développeur ayant une bulle et un code couleur attribué. Visual Studio Live Share se prête à la création et à la modification du code en collaborant en temps réel mais aussi aux sessions collectives de débogage.
Optimiser les organisations des équipes à distance
Il existe aussi d’autres outils pour organiser l’agilité en mode « remote ». Reposant sur les principes du management visuel, Azure Boards permet de suivre l’état d’avancement d’un projet. Un suivi possible grâce aux méthodes Kanban ou Scrum, des tableaux de bord d’équipe et des rapports personnalisés.
Azure Boards fait partie d’Azure DevOps, une solution qui gère le cycle de vie d’un projet pour faciliter le travail des équipes. Le chef d’équipe crée et assigne une tâche et quand celle-ci est réalisée, la solution la ferme automatiquement. Azure DevOps s’intègre à Microsoft Teams ou à un outil de gestion d’équipe tiers. Depuis Teams, les développeurs sont notifiés de l’état d’avancement d’une tâche. Il est aussi possible d’y créer des workflows. En centralisant l’ensemble des actions menées sur le projet, Teams fait gagner en productivité les développeurs qui n’ont plus à passer d’une interface à l’autre.
La communauté GitHub : réseau d’entraide par excellence
Qualifié de « réseau social des développeurs », GitHub permet d’étendre la collaboration à la communauté des « devs » au-delà du cercle de ses contacts professionnels. Plateforme d’hébergement de code la plus utilisée au monde, elle accueille chaque jour quelque 45 millions de développeurs. À l’instar d’un LinkedIn spécialisé, les codeurs peuvent échanger de bonnes pratiques ou s’entraider quand un projet piétine. Selon le rapport GitHub 2020, les développeurs passent entre 30 et 60 minutes supplémentaires par jour sur la plateforme depuis le début du confinement.
GitHub a récemment annoncé la création de GitHub Discussions. Cette fonctionnalité permet de créer un forum de discussions associé à un projet donné. L’organisateur initie la conversation, répond aux participants puis organise et structure les fils de discussion. Autre outil proche fonctionnellement d’Azure Boards, GitHub Projects permet de gérer un projet en mode agile grâce à un Kanban intégré aux « Issues » et « Pull Requests » de GitHub. Fini les post-its, les tâches sont représentées graphiquement sous forme de cartes qui permettent de suivre leur état d’avancement et les requêtes associées.
Capitaliser sur les bonnes pratiques de l’open source et de l’agilité
Les pratiques de l’open source (réutilisation du code, entraide, participation des équipes aux prises de décisions) sont des principes utiles pour les autres activités des entreprises. C’est l’objectif de l’approche Innersource expliquée dans ce livre blanc par GitHub. Avec la crise du Covid-19, une entreprise a beaucoup à apprendre des communautés open source rôdées aux pratiques de la collaboration à distance. Au fil des années, elles se sont dotées d’outils et de process leur permettant de travailler en mode « remote ».
Au-delà des supports numériques, le business doit être plus que jamais impliqué dans la conduite de projet. En retour, le métier peut s’inspirer de la résilience des équipes IT. Les grands principes de l’agilité peuvent notamment s’appliquer aux équipes de vente ou de marketing. Par exemple, ces équipes peuvent tenir des rituels comme le stand-up meeting ou la gestion d’un backlog Scrum.
Pour aller plus loin :
– General manager de Microsoft Azure, Nicole Herskowitz a écrit un billet de blog sur l’offre de Microsoft au service de la productivité des développeurs.
– Corporate vice president pour Microsoft 365 Jared Spataro s’est livré au même exercice dans cet autre billet.
– Cet article reprend l’adoption de la démarche DevOps par Microsoft
L’article a été écrit en collaboration avec:
__
Credit photo : https://unsplash.com/photos/9SoCnyQmkzI /
Photo by Jefferson Santos on Unsplash