Dans un contexte où les projets Salesforce doivent apporter rapidement de nouvelles fonctionnalités aux utilisateurs tout en garantissant un haut niveau de qualité du delivery, il devient impératif de se tourner vers des solutions dédiées et automatisées. Copado faisant partie des applications présentes dans l’écosystème Salesforce qui offrent une suite complète d’outils adressant ces problématiques, voyons comment la solution répond à ces enjeux et dans quels cas l’utiliser !
Fournir rapidement de la valeur, sécuriser les développements, réaliser des projets cross-plateformes et avec plusieurs équipes, tels sont les challenges auxquels font face les organisations actuelles. Les approches DevOps et CI/CD offrent des concepts et une méthodologie à même de répondre à ses enjeux.
DevOps est une approche culturelle et technique qui vise à unifier le développement logiciel (Dev) et les opérations informatiques (Ops). L’objectif principal est de réduire le cycle de développement des systèmes tout en livrant des fonctionnalités, des correctifs et des mises à jour de manière plus fréquente et fiable. DevOps repose sur plusieurs principes clés :
CI/CD (Continuous Integration/Continuous Deployment) est un ensemble de pratiques de développement logiciel qui permet de livrer des applications aux clients de manière fréquente et fiable. Voici les deux composants principaux :
Agile, méthodologie de gestion de projet basée sur les concepts de souplesse et de performance. Elle a pour pilier quatre valeurs :
La déclinaison SCRUM se base sur la notion de sprint, qui correspond à un cycle de projet court (quelques semaines) et permet ainsi de délivrer rapidement de la valeur ainsi que de collecter rapidement des retours sur les développements effectués.
L’Agile et le CI/CD se complètent parfaitement, partageant des valeurs communes telles que la rapidité, la flexibilité, la collaboration et l’amélioration continue. L’une offrant un cadre de conception (Agile) tandis que l’autre opère la déclinaison opérationnelle (CI-CD).
Pourquoi passer des change sets (CS) à Copado ?
L’utilisation des CS pour déployer des modifications d’un environnement à un autre impose de nombreuses opérations manuelles et fastidieuses. La coopération entre les équipes et la traçabilité nécessitent des efforts importants.
Copado permet de lever ces freins et de se focaliser sur la valeur et la qualité des fonctionnalités.
Copado est une plateforme SaaS, low-code permettant la gestion de bout en bout du cycle de livraison des applications, celle-ci est complètement intégrée à Salesforce ainsi qu’aux repositories comme Git. La prise en main et le setup sont optimisés, permettant aux équipes de monter rapidement en compétence tout en conservant un contrôle avancé sur les opérations effectuées (commit, promotion, etc).
Une vision unifiée du pipeline simplifie grandement la gestion des environnements ainsi que la traçabilité des développements à travers celui-ci. L’approche est User Story (US) centric, c’est-à-dire qu’à tout moment il est possible de suivre l’avancement des US dans le pipeline, cela permet d’organiser d’avoir une plus grande cohérence fonctionnelle et d’organiser plus aisément les mise en production.
Aujourd’hui, deux versions de pipeline sont disponibles, Metadata Pipelines (MP) et Source Format Pipelines (SFP).
Le format historique MP permet de déployer les changements via les métadatas à travers les différents environnements de manière automatisée et standardisée en réduisant les risques et en augmentant l’efficacité.
Le SFP représente une nouvelle architecture modulaire basée sur le format source SFDX. Ses principales fonctionnalités sont le support des packages de 2nd génération, un accès aux logs avec plus de détails sur les opérations sous-jacentes, une plus grande customisation de la solution et des tests continus avec Copado Robot testing.
L’une des forces de la solution est la résolution des conflits, Copado donne la possibilité de gérer simplement ces problématiques. Ceci grâce à une résolution automatique ou manuelle via une interface spécifique. Le gain de temps engendré permet de déployer plus rapidement les US.
Copado, outre Salesforce, prend en charge aussi les solutions comme Heroku et MuleSoft, réduisant le nombre d’outils nécessaires à la mise en œuvre de projets complexes et augmentant dans le même temps la coopération entre les différentes équipes.
Nous avons constaté qu’après quelques jours d’utilisation de Copado nos équipes delivery (consultants et développeurs) ont augmenté le niveau de cohérence de leurs user stories (notamment la traçabilité des métadatas) ainsi que le temps impartis pour la mise à disposition de ces US pour les différentes étapes de recette. D’autre part, le temps nécessaire aux mises en production (MEP) et leur complexité ont été drastiquement réduits ce qui nous a permis sur certains projets de proposer une MEP quotidienne.
Grâce à la mise en place de Copado, nos leads delivery ont pu se concentrer sur des tâches à plus haute valeur ajoutée pour nos projets que la gestion de tâches manuelles ou semi-automatiques de déploiement et de gestion de conflits.
L’un des cas d’usage que nous avons pu rencontrer lors d’implémentations Salesforce est la gestion des données au sein d’un cycle de déploiement / livraison, sujet crucial tant en termes de jeux de test qu’en données de paramétrage.
Outre la mise à disposition de jeux de données dans les différents environnements préproduction, l’une des problématiques que nous avons rencontrées est la gestion d’un projet Salesforce CPQ.
En effet, cette solution, qui vise à mettre en œuvre un moteur de pricing et à configurer des produits, repose sur une configuration via des enregistrements (données) en plus des metadata. Il est donc impératif de migrer à la fois les metadata et les enregistrements de configuration pour assurer un bon fonctionnement.
L’utilisation de Data Deploy (DD) nous a permis de résoudre cette problématique. Alors que Copado CI/CD gère les métadata, DD automatise la migration des données d’un environnement à un autre.
Pour se faire, nous avons mis en place des Data Templates en sélectionnant les objets « CPQ » concernés avec leurs dépendances, puis lancé les déploiements correspondants pour migrer les données.
Une fois ces templates définis, ils sont réutilisables à volonté, ainsi nous avons pu les enrichir régulièrement afin de refléter les évolutions du data-model.
Avec l’utilisation de Copado (CI/CD + DD) nous avons pu garantir à nos clients un time to market optimisé et une plus grande fiabilité dans la gestion du cycle de vie de leurs produits.
Autre aspect important, DD prend aussi en compte les contraintes comme le RGPD en donnant la possibilité de remplacer les valeurs des champs migrés ou les substituant par des valeurs aléatoires.
Copado Robotic Testing (CRT) est la solution d'automatisation des tests conçue pour améliorer la qualité et la rapidité des livraisons logicielles. Elle s'intègre parfaitement dans les environnements DevOps et CI/CD, offrant une gamme complète de fonctionnalités pour simplifier et optimiser le processus de test.
Les principales fonctionnalités de CRT :
Les avantages de CRT que nous avons pu constater :
L’utilisation de CRT dépasse l’écosystème Salesforce et permet la réalisation de test bout en bout, par exemple d’un site web jusqu’à l’ERP en passant par les différents cloud SF.
Copado propose une marketplace pour étendre les fonctionnalités de la plateforme, comme l’intégration avec des solutions ALM comme JIRA, la mise à disposition des commandes Copado directement dans VSCode, l’intégration avec des solutions de backup ou tout simplement installer des reports et des dashboards pour suivre l’activité et les KPI de delivery.
Les extensions proposées dans DevOps Exchange sont développés par Copado ou des éditeurs tiers, ces solutions pré-packagées s’installent et se configurent en quelques instants
Copado est une solution qui garantit une montée en compétence rapide des équipes, des gains de productivité et de qualité sur le long terme. Cependant, il est nécessaire de bâtir une practice autour de son utilisation.
L’un des principaux avantages de Copado est de masquer au mieux la complexité qui peut résulter des opérations CI/CD (commit, déploiements, etc…), il ne faut pas pour autant s’en affranchir complètement et garder cette connaissance dans les équipes projets.
Chez BearingPoint France, nous avons pris l’initiative d’intégrer dans nos parcours de formation un cursus Copado pour nos équipes delivery Salesforce utilisant cette solution. Cela se traduit par des sessions organisées directement par les équipes Copado ou par des membres de la practice (architectes / leads delivery) déjà rompus à l’utilisation de l’outil.
De plus, nous invitons nos consultants à se former et à se certifier sur Copado via l’académie, en suivant les différents modules proposés et en utilisant les environnements de formation / test mis à disposition.
Copado offre des solutions clés en main pour la gestion du delivery Salesforce (CI/CD, data, tests) et permet de garantir une qualité de projet supérieure aux outils « historiques ». En perspective, pour maximiser ces gains il est recommandé de s’entourer d’experts ayant déjà mis en place et utilisé le produit.
Sources :
Auteur :
- Jean-Louis Marié, Salesforce Solution Architecte