5 outils pour gérer le cycle de vie de votre développement logiciel
Le développement de logiciels a parcouru un long chemin au cours des 30 dernières années. Je me souviens quand vous pouviez gérer le cycle de vie du développement logiciel (SDLC) sur votre propre ordinateur. Vous pouvez écrire du code, le déboguer, le construire et tout expédier depuis votre bureau. La source serait stockée sur un serveur de fichiers et gérée en enregistrant un fichier zip à la fin de chaque journée. Si vous utilisiez un outil de contrôle de source, c’était CVS ou SVN avec un serveur central qui faisait de la création de branches et de la fusion un véritable défi. La publication d’un logiciel signifiait envoyer une disquette dorée à un fabricant qui expédiait physiquement le logiciel aux magasins et aux vendeurs de catalogues.
Aujourd’hui, c’est à la fois plus facile et plus complexe. La plupart des nouveaux logiciels sont fournis par le navigateur. Des équipes de développeurs distants gèrent de grandes bases de code à l’aide de référentiels de code centraux sophistiqués. Ils coordonnent le travail avec des outils de suivi des problèmes et de communication et ils effectuent une intégration et un déploiement continus avec des outils conçus spécifiquement à cette fin. Le modèle de livraison SaaS permet aux équipes de publier instantanément de nouvelles fonctionnalités quand elles le souhaitent.
Ce processus nécessite de nombreux outils logiciels. Certains pourraient affirmer que de bonnes chaises et des moniteurs à écran large feront plus pour améliorer le pipeline de développement, mais tenez-vous en aux outils logiciels ici.
Alors, quels sont les outils logiciels nécessaires pour faire du développement de logiciels modernes ? Les équipes modernes ont besoin d’au moins ces cinq éléments.
Environnement de développement intégré
L’écriture de code devient chaque jour plus difficile et les développeurs ont besoin d’un outil capable de suivre le rythme. Un bon IDE permettra l’édition de code, la coloration syntaxique, la complétion de code, la gestion du contrôle des sources, la compilation et le débogage. Un bon IDE fournira également une forme d’API d’extension qui permet à quiconque d’améliorer les capacités de l’éditeur.
À moins que vous n’ayez un besoin très spécifique, je vous recommande d’utiliser Visual Studio Code car il s’agit simplement de l’IDE le plus populaire, le plus puissant, le plus ouvert et le plus performant. VS Code est construit et maintenu par Microsoft et est open source. Il est extrêmement populaire, peut gérer presque tous les langages de programmation que vous lui lancez et possède des milliers d’extensions utiles. Avec plus de 20 millions de développeurs qui l’utilisent, VS Code est de loin l’outil de choix. La possibilité d’ajouter GitHub Copilot, l’assistant de codage basé sur l’IA de GitHub, offre encore plus de motivation.
Outils de communication
COVID a changé la façon dont les équipes de développement travaillent ensemble. Soudain, les équipes de développement travaillaient toutes à domicile et avaient besoin d’un moyen de communiquer lorsqu’elles ne pouvaient pas se rencontrer physiquement. La combinaison de Slack et Zoom est devenue la voie à suivre. C’est toujours le cas.
Slack bénéficie d’être très largement utilisé et dispose donc d’une grande bibliothèque de plugins et d’intégrations qui vous permettent de faire beaucoup de choses qui ne vous viennent peut-être même pas à l’esprit avant de commencer à fouiner. Zoom est devenu l’outil de visioconférence de facto pour les équipes et les réunions de toutes sortes. Intégrer Slack et Zoom ensemble est simple et puissant. Je recommande cette combinaison en raison de la large utilisation des deux outils, ce qui facilite grandement la communication avec les employés, les clients et les fournisseurs dans l’ensemble de votre organisation, et pas seulement avec l’équipe de développement.
Un proche finaliste ici est Microsoft Teams, qui a l’avantage de combiner le chat et la visioconférence dans une seule application.
Contrôle de version des sources
Mercurial était un concurrent là-bas pendant un certain temps, mais Git a clairement remporté le concours des outils de contrôle de source. Si vous n’utilisez pas Git, vous serez laissé pour compte.
Git est un système de contrôle de version distribué, mais une utilisation correcte nécessite un référentiel centralisé, et GitHub est le leader incontesté dans cet espace. GitHub est mon choix pour son ubiquité et pour ses fonctionnalités au-delà d’être un référentiel de code. GitHub est de loin le premier hébergeur de projets open source. Chaque entreprise devrait avoir une certaine forme de présence sur GitHub.
Certaines des fonctionnalités supplémentaires de GitHubs incluent le suivi des problèmes, la révision du code et les crochets dans le processus de construction et de déploiement. GitHub mène même la charge dans IDE-in-a-browser avec son produit Codespaces, qui est basé sur Visual Studio Code.
Un deuxième proche pour le contrôle de source serait GitLab, qui est disponible dans une édition open source, et qui talonne GitHub à presque tous les égards.
Indicateurs de fonctionnalité
Je dois avouer que, jusqu’à il y a environ un an, je ne savais même pas que les drapeaux de fonctionnalités étaient une chose. Aujourd’hui, leur utilisation se développe car les solutions SaaS vous permettent en fait d’activer et de désactiver des fonctionnalités d’un simple clic de souris. Les indicateurs de fonctionnalité vous permettent de contrôler les fonctionnalités pour pratiquement toutes les raisons que vous souhaitez par entreprise, par niveau de client ou par utilisateur. Cela vous permet de faire des choses comme déployer un test bêta ou tester un déploiement Canary sur une petite partie de votre clientèle pour voir comment une nouvelle fonctionnalité survit dans le monde réel.
Le leader incontesté ici est LaunchDarkly, une plate-forme SaaS pour la gestion des fonctionnalités qui vous donne de puissants contrôles sur la façon dont une application et ses fonctionnalités sont déployées. Il est difficile de ne pas choisir une entreprise qui est un leader aussi clair et qui continue d’élargir son ensemble de fonctionnalités.
Outil CI/CD
Je fais de l’intégration continue depuis des années. Mais le déploiement continu est plus récent, plus difficile et, franchement, un peu plus effrayant. CI/CD nécessite de créer des logiciels, d’exécuter des tests, de placer des artefacts au bon endroit, de provisionner des ressources cloud, de déployer des applications sur plusieurs sites et un certain nombre d’activités disparates qui entrent toutes dans le processus de prise de code à partir du moment où il est enregistré jusqu’à le lancer en production dès que possible.
De nombreuses équipes tentent de réduire le temps entre l’enregistrement du code et le déploiement de quelques jours à quinze minutes. (Vous avez bien lu.) C’est la partie effrayante mettre quelque chose en production si rapidement signifie que vous devez être prêt à réagir rapidement. Sur le plan positif, les temps de déploiement courts offrent un retour immédiat en cas de problème, permettant aux développeurs de garder en tête le contexte des modifications récentes et de corriger plus rapidement et plus facilement les erreurs au fur et à mesure qu’elles se produisent.
Faire du CI/CD correctement nécessite définitivement une boîte à outils puissante. Heureusement, il y a CircleCI. CircleCI peut tout faire, se connectant à une pléthore de frameworks et de systèmes pour créer et déployer rapidement votre application. J’aime CircleCI pour son ensemble complet de fonctionnalités, sa vitesse et sa conformité.
Une mention honorable irait à l’outil CI/CD open source Jenkins.
Ces cinq catégories d’outils IDE, communications, contrôle de code source, indicateurs de fonctionnalité et CI/CD sont le strict minimum dont vous avez besoin pour développer des logiciels modernes. Tous ces outils fonctionnent ensemble pour minimiser le temps passé à coder et à mettre ce code en production. Ils peuvent tous être basés sur le cloud, ce qui vous évite d’avoir à vous soucier de quoi que ce soit d’autre que de faire le travail. Qu’il s’agisse de coder dans un IDE basé sur le cloud ou de déployer en quelques minutes avec un puissant outil CI/CD, ce sont les outils qui faciliteront le cheminement de tout processus de développement logiciel.
Copyright © 2022 IDG Communications, Inc.