Recommandations pour standardiser les outils et les processus
S’applique à cette recommandation de la liste de contrôle d’excellence opérationnelle bien conçue : Power Platform
OE:04 | Optimisez les processus de développement de logiciels et d’assurance qualité en suivant des pratiques de développement et de test éprouvées par l’industrie. Pour une désignation univoque des rôles, standardisez les pratiques entre les composants tels que les outils, le contrôle de code source, les modèles de conception d’applications, la documentation et les guides de style. |
---|
Ce guide décrit les recommandations pour définir des standards pour les outils et processus de développement. La définition de pratiques cohérentes conduit à une équipe chargée de la charge de travail efficace et à un travail de haute qualité. Les équipes hautement performantes utilisent des outils et des processus éprouvés pour limiter les efforts inutiles et les erreurs de code potentielles.
Stratégies de conception clés
La première étape pour optimiser les pratiques de développement consiste à standardiser les outils et les processus. Dans la mesure du possible, utilisez des solutions éprouvées dans l’industrie au lieu de développer les vôtres. Pour tous les outils et processus standardisés, proposez des formations pour garantir que vos équipes puissent les utiliser efficacement.
Pour définir des normes qui vous aident à optimiser vos pratiques de développement, tenez compte des recommandations suivantes.
Utiliser les outils disponibles sur la plateforme
Donnez la priorité à l’utilisation de Power Platform Tools, sinon utilisez des outils disponibles dans le commerce bien connus et matures, et standardisez leur utilisation. Les équipes d’ingénierie hautement efficaces adoptent les meilleurs outils de leur catégorie. Évitez de développer des solutions pour la planification, le développement, les tests et la collaboration. Choisissez des outils qui répondent aux exigences de votre charge de travail.
Les outils doivent fournir les fonctions suivantes :
- Planification du travail et gestion de la réplication
- Contrôle de version et référentiels
- Pipelines de déploiement
- Tests
- Développement et révision du code
Dans certains cas, un outil ou une suite d’outils peut fournir plusieurs fonctions. Assurez-vous de bien comprendre les capacités de vos outils et leurs limites afin qu’ils répondent à vos besoins dans toutes les fonctions.
Déterminez si vous devez investir dans des fonctionnalités Premium de la plate-forme ou dans des versions Premium d’outils. Considérez le temps et les efforts nécessaires au développement de vos propres solutions par rapport aux fonctionnalités fournies par les outils Premium. Considérez les coûts ponctuels par rapport aux coûts récurrents. Dans la plupart des cas, les outils disponibles dans le commerce offrent une valeur plus élevée à votre équipe. Par exemple, Environnements gérés offre des fonctionnalités prêtes à l’emploi pour définir un message d’intégration du créateur ou pour limiter le partage de manière proactive. Créer ces fonctionnalités vous-même nécessite un développement et un effort continu qui pourraient s’avérer plus coûteux qu’investir dans promouvoir.
Utilisez des outils d’IA lorsque cela est possible. Les outils d’IA peuvent aider au développement, aux révisions et à l’optimisation du code.
Établir un cadre de gouvernance pour le codéveloppement
Établir un cadre de gouvernance de codéveloppement efficace pour garantir la cohérence et la répétabilité des projets définis par les créateurs et des équipes de fusion.
Standardiser votre système et vos pratiques de contrôle de code source
Adoptez un système de contrôle du code source comme Azure DevOps. Azure DevOps fournit des services de développement aux équipes d’assistance pour planifier le travail, collaborer au développement de code et créer et déployer des applications. Exportez une solution de votre environnement de développement contenant vos applications et personnalisations, décompressez votre solution et stockez les composants dans votre système de contrôle de code source.
Assurez-vous que le contrôle de version de la solution est précis, en suivant les directives de sprint et de développement définies dans Implémenter les pratiques Scrum pour votre équipe dans Azure Boards. Les résultats des tests de la demande d’extraction peuvent prendre la forme de captures d’écran ou de vidéos illustrant la fonctionnalité en cours de création. L’automatisation du processus de gouvernance des demandes d’extraction permet de garantir la qualité du code sans nécessiter un examen manuel des vérifications de base telles que les versions de la solution.
Créez des modèles pour assurer l’efficacité et la cohérence. Tous les aspects des opérations de l’équipe bénéficient de la standardisation et de la simplification, des tâches d’intégration et des présentations de révision des histoires aux modèles d’éléments de travail conçus pour gagner du temps et fournir des conseils aux équipes lors de la définition des histoires d’utilisateurs, des fonctionnalités, des bugs et des tâches.
Évaluer les mesures pour quantifier l’efficacité
Les équipes de développement et d’assurance qualité ne peuvent s’améliorer que lorsqu’elles quantifient leur efficacité. Pour quantifier l’efficacité, elles doivent identifier les paramètres qui mesurent la vélocité des développeurs et définir des indicateurs de performance clés (KPI).
Voici quelques exemples de ces mesures :
- Délai d’exécution : le temps nécessaire à un tâche ou à une user story pour passer du backlog à un déploiement en production.
- Temps moyen de résolution : le temps moyen consacré à la correction des bugs ou des défauts dans le code.
- Taux d’échec des modifications : pourcentage de modifications qui entraînent un échec.
Pour aider les parties prenantes et l’équipe chargée de la charge de travail à suivre facilement la vélocité, visualisez les KPI à l’aide de tableaux de bord ou d’autres outils de génération de rapports.
Standardisez la façon dont votre équipe chargée de la charge de travail écrit, révise et documente le code
Standardisez la façon dont votre équipe chargée de la charge de travail écrit, révise et documente le code via un guide de style. Un style standard facilite la collaboration et l’intégration de nouveaux développeurs. Pour travailler efficacement, les nouveaux développeurs doivent savoir comment fonctionne l’équipe chargée de la charge de travail. Un guide de style avec des normes clairement définies peut faciliter leur processus de formation.
Le guide de style doit couvrir :
- Les conventions de dénomination pour les solutions, les artefacts, les contrôles, les actions, les environnements, les branches et les builds
- Les normes de gestion des erreurs
- Les modèles ou bibliothèques courants
Gardez une trace des décisions d’architecture pour aider les équipes à maintenir une nouvelle compréhension de la charge de travail et permettre aux nouveaux membres de l’équipe de découvrir les décisions de conception prises pendant le cycle de vie de la charge de travail. Incluez dans votre document de décision d’architecture les outils et technologies qui ont été pris en compte, la raison de la décision et les exigences fonctionnelles et non fonctionnelles qui ont été prises en compte dans les décisions. Enregistrez les décisions pour éviter de répéter des explications ou de revoir les discussions avec de nouveaux membres ou parties prenantes.
Mettre en œuvre des normes et des lignes directrices pour traiter la dette technique
La plate-forme et la technologie évoluent rapidement, avec de nouvelles fonctionnalités et capacités déployées régulièrement. Adoptez un état d’esprit selon lequel la dette technique est nécessaire pour les livrables de votre équipe chargée de la charge de travail. Cet état d’esprit motive votre équipe à envisager et à traiter régulièrement les dettes techniques afin d’éviter leur accumulation. Traitez la dette technique comme une tâche régulièrement récurrente dans la réplication. Assurez-vous d’avoir mis en place des processus pour rester au courant des changements de la plateforme, à la fois des nouvelles fonctionnalités et des dépréciations, et travaillez sur un plan d’action pour faire face aux changements de votre charge de travail.
Par exemple, une fonctionnalité d’un produit peut devenir obsolète ou remplacée par une version différente. L’équipe de charge de travail doit donner la priorité à l’achèvement de la transition vers la nouvelle fonctionnalité pour éviter d’affecter la charge de travail. L’équipe peut créer une solution ou un contrôle personnalisé qui, au fil du temps, devient partie intégrante de la plateforme. Votre équipe de charge de travail doit effectuer la transition vers cette fonctionnalité de plateforme, ce qui réduit la dette technique et maintenance de votre propre charge de travail.
Utilisez des modèles de conception d’applications éprouvés pour garantir que votre application est fiable, performante et sécurisée. Utilisez ces modèles pour gagner du temps et vous épargner des efforts plutôt que de développer vos propres solutions pour votre application. Choisissez les modèles qui profitent à votre charge de travail. Examinez régulièrement les modèles de conception pour vous assurer que vous utilisez les bons modèles à mesure que votre charge de travail évolue.
Mettre en œuvre une approche de décalage vers la gauche
Mettez en œuvre une approche de décalage vers la gauche en effectuant des tests unitaires tôt et souvent tout au long du processus de développement. Des tests fréquents dans chaque environnement de développement aident les développeurs à gagner en confiance dans leurs applications.
Pour vous aider à créer votre stratégie de test avec une approche de décalage vers la gauche, tenez compte des principes suivants :
- Écrivez les tests au niveau le plus bas possible. Privilégiez les tests avec le moins de dépendances externes et exécutez des tests dans le cadre du build.
- Écrivez des tests une fois et exécutez des tests partout, y compris en production. Écrivez des tests que vous pouvez exécuter dans chaque environnement de développement sans tenir compte des facteurs spécifiques à un environnement, tels que les clés secrètes ou les configurations chiffrées.
- Concevez votre charge de travail pour les tests. Lorsque vous développez votre application, faites de la testabilité une exigence.
- Considérez la propriété des tests, qui est basée sur la propriété de la charge de travail. Votre équipe de charge de travail est propriétaire de ses tests et ne doit pas compter sur d’autres équipes pour tester son code.
- Automatisez les tests autant que possible. Le code automatisé allège la charge de travail de votre équipe et garantit une qualité constante.
Exigez de votre équipe chargée de la charge de travail qu’elle comprenne les pratiques de sécurité liées au développement et à l’assurance qualité. Les membres de l’équipe doivent suivre ces pratiques sans exception. Pour en savoir plus, consultez les Recommandations pour sécuriser un cycle de vie de développement.
Facilitation de Power Platform
Les notes de déploiement générées par Copilot dans les pipelines génèrent un résumé de la solution et préremplissent le champ des notes de déploiement, offrant à toute personne visualisant la demande de déploiement ou l’enregistrement suffisamment de contexte pour comprendre ce que fait la solution et ce qu’elle contient.
Microsoft Power Platform Les outils de création pour Azure DevOps peuvent être utilisés pour automatiser les tâches de création et de déploiement courantes liées aux applications créées sur Power Platform.
Les actions GitHub permettent aux développeurs de créer des flux de travail automatisés tout au long du cycle de vie du développement logiciel. Power Platform Avec les actions GitHub pour Microsoft Power Platform, vous pouvez créer des flux de travail dans votre référentiel afin de créer, tester, empaqueter, publier et déployer des applications, effectuer l’automatisation et gérer les bots et autres composants basés sur Power Platform.
Power Apps L’API Web Checker fournit un mécanisme permettant d’exécuter des contrôles d’analyse statique sur les personnalisations et les extensions de la Microsoft Dataverse plateforme.
Test Studio vous permet de créer des tests d’interface utilisateur de bout en bout pour votre application canevas.
Automatisez les tests avec Azure Pipelines.
L’outil de révision de code Power CAT vous permet d’effectuer des révisions de code.
Le kit Power CAT Copilot Studio vous permet de configurer des copilotes et des tests. En exécutant des tests individuels sur les API ( Copilot Studio ), les réponses du copilote sont évaluées par rapport aux résultats attendus.Direct Line
ALM Accelerator est un outil open source composé d’un ensemble d’applications, de scripts et de pipelines conçus pour automatiser le processus d’intégration continue/livraison continue.
Microsoft Power Platform CLI (PAC CLI) est un outil de ligne de commande qui prend en charge l’importation et l’exportation de Power Platform solutions, ainsi que l’empaquetage et le déballage à partir de Power Platform fichiers sources de solutions. PAC CLI est disponible en tant qu’ outil de ligne de commande autonome ou en tant qu’ extension pour Visual Studio Code.
D’autres outils et services qui peuvent vous aider à standardiser vos pratiques de développement incluent :
Azure DevOps, un ensemble de services que vous pouvez utiliser pour créer une pratique de développement collaborative, efficace et cohérente. Azure DevOps offre l’une des solutions suivantes :
- Azure Pipelines, un service cloud qui fournit des services de création et de publication pour prendre en charge le CI/CD de vos applications.
- Azure Boards, un outil de gestion du travail basé sur le Web qui prend en charge les pratiques Agile telles que Scrum et Kanban.
- Azure Repos, un outil de contrôle de version qui prend en charge le système de contrôle de version distribué Git et le système Team Foundation Version Control.
- Azure Test Plans, une solution de gestion de tests basée sur un navigateur qui fournit les fonctionnalités requises pour les tests manuels planifiés, les tests d’acceptation des utilisateurs, les tests exploratoires et la collecte de commentaires des parties prenantes.
Projets GitHub, un outil de gestion du travail que vous pouvez utiliser pour créer des tableaux Kanban, des rapports, des tableaux de bord et d’autres fonctions.
Informations associées
Gouvernance du codéveloppement