Planification des modifications à apporter à votre organisation
Objectifs de formation
Une fois cette unité terminée, vous pourrez :
- Décrire comment vous gérez le changement à l’aide du modèle de développement organisationnel
- Identifier les outils dont vous avez besoin dans le cadre du développement organisationnel
- Présenter les avantages de l’utilisation d’un système de contrôle source
Rencontrez Calvin, l’administrateur Salesforce chez Zephyrus Relocation Services, Inc.
Calvin Green assume de nombreux rôles techniques pour Zephyrus Relocation Services, une société de mobilité de talents basée à Fairfax, en Virginie aux États-Unis. L’un des rôles de Calvin consiste à personnaliser Salesforce pour l’équipe de vente à faibles effectifs, mais en pleine croissance. À l’aide de l’interface de configuration de l’organisation de production, il génère de nombreux nouveaux tableaux de bord et rapports différents.
Zephyrus continue d’offrir à ses clients de nouvelles options et davantage de valeur ajoutée. Calvin et son équipe ont besoin d’un moyen de s’assurer que l’équipe commerciale est au courant de toutes les nouvelles offres de produits intéressantes. Ils ne peuvent pas proposer ces nouveaux cours et services à leurs clients s’ils ne les connaissent pas.
Avant de commencer à travailler sur la prochaine version, Calvin recherche un processus et un cycle de vie de développement capables de s’adapter à cette croissance. Étant donné que son équipe s’agrandit, il a besoin d’un processus pouvant permettre que plusieurs contributeurs développent simultanément sur la plate-forme Lightning.
Calvin rencontre son équipe de développement pour discuter de la façon dont ils peuvent travailler plus efficacement à mesure que l’équipe s’agrandit. Dans le passé, ils ont rencontré des difficultés avec les aspects suivants :
- Le suivi des modifications de chacun
- Le maintien de la synchronisation entre l’ensemble des environnements de développement et de test
- La création et le déploiement à plusieurs reprises des ensembles de modifications en raison de la présence d’erreurs au sein des environnements et de l’existence de différences entre eux
Le nouveau développeur principal, Juan Garcia, a étudié certains outils et modèles de développement Salesforce DX. Il pense que le modèle de développement organisationnel peut contribuer à atténuer certains des problèmes rencontrés.
Passage au développement organisationnel
Étant donné que plusieurs développeurs et administrateurs contribuent à l’élaboration d’une version, l’équipe convient qu’elle a besoin d’un nouveau modèle de développement. C’est là qu’intervient le développement organisationnel : il s’agit d’un modèle employant différents outils qui offrent 1) une plus grande flexibilité et évolutivité, 2) de nouvelles façons de suivre et de gérer le changement, et 3) une méthode de déploiement différente.
Juan apprécie le fait que le modèle de développement organisationnel utilise un référentiel de contrôle source pour stocker les modifications et les fichiers de projet. Le recours à un référentiel source peut aider à atténuer les difficultés liées à la synchronisation des environnements. En externalisant les modifications relatives à chaque version, l’équipe sait que le référentiel source correspond aux éléments qu’elle livre et qu’il n’est pas concerné par les différences d’environnement. Cette cohérence garantit un processus plus fluide dans le cadre de la progression à travers les différents environnements de développement, de test et de préproduction.
Pour garantir qu’elle identifie les dépendances de tous les contributeurs, l’équipe utilise des mécanismes de suivi des modifications qui capturent les modifications apportées aux composants par rapport aux modifications apportées directement dans l’organisation via l’interface utilisateur de configuration.
Juan suggère également d’utiliser les extensions Salesforce pour VS Code afin de récupérer les métadonnées de leurs environnements de développement. Ensuite, ils stockent les modifications qu’ils apportent dans le système de contrôle source. Une fois les modifications apportées au contrôle source, ils peuvent créer des processus automatisés pour les tests et le déploiement en production.
Après plusieurs cycles de tests et d’intégration, Juan déploie les modifications, stockées dans le contrôle de code source, en production.
Préparation des environnements de version
L’équipe accède aux mêmes environnements de développement et de test qu’elle a utilisés auparavant. L’équipe de Juan utilise des sandbox à chaque étape du cycle de vie des applications.
- Développement et test : chaque membre de l’équipe dispose de sa propre sandbox Developer pour élaborer la personnalisation qui lui est attribuée. Les sandbox Developer ne contiennent aucune donnée de production.
- Compilation de la version : chaque membre de l’équipe migre ses personnalisations depuis sa sandbox Developer respective vers une sandbox Developer Pro partagée en vue de l’intégration. Les sandbox Developer Pro ne contiennent pas de données de production, mais vous pouvez y intégrer des données test.
- Test de la version : pour effectuer les tests d’acceptation utilisateur, l’équipe utilise une sandbox Partial afin de créer une copie conforme de l’environnement de production (sans les données de ce dernier).
- Version : une fois que la version est en production, l’équipe peut utiliser la sandbox Full pour former les utilisateurs sans risquer de modifier les données de production. Une sandbox Full contient une copie des données de production.
Conduite experte du changement
Lorsqu’ils commencent à suivre le modèle de développement organisationnel, Calvin et son équipe utilisent de nombreux outils qu’ils connaissent déjà. Cependant, certains nouveaux outils améliorent leur productivité dans le cadre d’étapes de publication spécifiques. Ils sont essentiels pour passer à un modèle de développement en équipe plus agile.
Projet Salesforce DX
Le projet Salesforce DX contient la source et les fichiers qui comprennent vos modifications. Un projet DX a une structure de projet et un format source spécifiques.
En plus des fichiers sources, le projet contient un fichier de configuration nommé sfdx-project.json
. Ce fichier contient des informations sur le projet et vous permet d’exploiter les outils Salesforce DX dans le cadre de bon nombre de vos tâches de développement.
Un projet DX a la structure suivante :
Artefact de version (fichier manifeste)
Après avoir testé les modifications, Juan crée l’artefact de version, à savoir un fichier manifeste (package.xml
) qui répertorie les composants à déployer. Il utilise l’artefact de version pour effectuer le déploiement d’abord dans les différentes sandbox, puis en production. Les modifications ne prennent effet qu’après leur déploiement.
Système de contrôle source
Toutes les modifications sont fusionnées et stockées dans un système de contrôle source, qui contient le projet Salesforce DX. Le recours à un système de contrôle source offre plusieurs avantages.
- La collaboration en temps réel augmente l’efficacité et favorise le consensus.
- Différents membres de l’équipe peuvent travailler sur les mêmes fichiers en même temps sans craindre d’écraser les modifications ou de perdre le travail de quelqu’un.
- L’historique des révisions indique qui a effectué quelles modifications.
- Vous pouvez revenir aux versions antérieures de n’importe quel fichier. C’est comme si vous disposiez de votre propre machine à remonter le temps grâce à laquelle vous pouvez revenir en arrière et sauver l’univers de la destruction.
- Lorsque vous enregistrez un travail, vous devez saisir une description de validation, qui fournit un contexte historique du travail.
Salesforce CLI
Salesforce CLI est une puissante interface de ligne de commande que vous pouvez utiliser dans le cadre de chaque phase du cycle de vie du développement organisationnel. Elle améliore la productivité en fournissant une interface unique pour tous vos cas d’utilisation de développement, de test et d’automatisation. Voici ce qu’elle vous permet d’accomplir :
- Autoriser des sandbox (headless ou de flux Web)
- Créer et gérer des projets DX
- Importer et exporter des données de test
- Récupérer et déployer des métadonnées
- Exécuter et automatiser les tests
Extensions Salesforce pour Visual Studio (VS) Code
Les extensions Salesforce pour VS Code sont fondées sur Salesforce CLI et VS Code. Ensemble, ces composantes constituent un environnement de développement intégré créé pour le développement personnalisé sur la plate-forme Lightning. Qui plus est, vous pouvez exécuter les commandes Salesforce CLI directement à partir de la palette de commandes ou du terminal. L’équipe de développement installe le pack d’extension Salesforce afin de pouvoir utiliser les extensions VS Code suivantes :
- Einstein pour développeurs : permet de générer rapidement des suggestions de code à l’aide d’instructions en langage naturel.
- Intégration Salesforce CLI : interagit avec Salesforce CLI pour fournir des fonctionnalités de base.
- Apex : utilise le serveur de langage Apex pour fournir des fonctionnalités telles que la coloration syntaxique et la saisie automatique de code.
- Débogueur Replay Apex : permet à VS Code de rejouer l’exécution d’Apex à partir des journaux de débogage Apex.
- Composants Web Lightning : prend en charge les composants Web Lightning.
Mécanismes de conduite du changement
L’équipe de développement tire parti du fait qu’elle dispose d’outils formels de suivi des modifications, notamment une liste de modifications d’équipe, une liste des exécutions de déploiement et un système de gestion de projets.
Outil | Description |
---|---|
Liste des modifications | Un développeur utilise cette liste, ce tableau ou cette feuille de calcul simple pour suivre les modifications qu’il apporte dans sa propre organisation de développement afin de savoir quoi externaliser. |
Liste des exécutions de déploiement | Un développeur répertorie toutes les modifications manuelles requises dans l’organisation avant et après le déploiement. Ces modifications concernent notamment des métadonnées qui ne peuvent pas être déployées, comme les attributions de profils et d’ensembles d’autorisations. |
Outils de gestion de projets | Des outils tels qu’Agile Accelerator et Jira aident une équipe à adopter des pratiques de développement Agile, ainsi qu’à suivre les exigences commerciales, le travail sur les fonctionnalités et les bugs. Les outils de gestion de projets aident également une équipe à gérer les sprints et à ordonner son backlog (futurs éléments de travail). |
Installation des outils
Juan et Ella utilisent tous deux les extensions Salesforce pour VS Code afin d’effectuer des tâches de développement et de test, et GitHub comme système de contrôle source. Ils suivent les étapes ci-après.
- Installez Salesforce CLI.
- Installez VS Code et les extensions Salesforce pour Visual Studio Code.
- Installez Git.
- Configurez Git.
- Créez un compte GitHub.
Comme Ella n’a jamais utilisé Visual Studio auparavant, elle installe les outils, puis suit le module Prise en main rapide : Visual Studio Code pour le développement Salesforce.