Exercice : Collaboration entre Azure Repos et des demandes de tirage (pull request)

Effectué

Dans cet exercice, vous allez configurer un flux de travail complet de pull request pour les environnements d’entreprise. Vous allez parcourir chaque étape pour établir des stratégies de branche avancées, des contrôles de gouvernance automatisés et des modèles de collaboration évolutifs à l’aide d’Azure Repos.

Scénario : Configuration de l’équipe de développement d’entreprise

Vous êtes l’ingénieur DevOps principal pour une société de services financiers qui implémente une nouvelle plateforme de trading. Le développement implique plusieurs équipes ayant différentes responsabilités :

  • Équipe de développement principale : implémentation principale des applications et des fonctionnalités.
  • Équipe de sécurité : révision de la sécurité et validation de conformité.
  • Équipe d’architecture : cohérence architecturale et gestion des dettes techniques.
  • Équipe d’assurance qualité : coordination de l’assurance qualité et des tests.

Votre mission est d’établir un flux de travail de pull request qui assure la conformité en matière de sécurité, maintient l’intégrité architecturale et soutient une vitesse de développement élevée tout en fournissant des pistes d’audit exhaustives requises pour les réglementations du secteur financier.

Étapes de l’exercice

Étape 1 : Configuration des stratégies de branche d’accès

  1. Accédez à votre projet Azure DevOps et accédez à la section Repos .

  2. Sélectionnez votre référentiel cible et ouvrez la vue Branches .

  3. Recherchez la branche principale (ou votre branche d’intégration principale) et sélectionnez Stratégies de branche dans le menu contextuel :

    Capture d’écran de la navigation vers la configuration des stratégies de branche.

Étape 2 : Configurer les exigences du réviseur

Configurez le nombre minimal de réviseurs avec des considérations d’entreprise :

Capture d’écran de la configuration minimale requise du réviseur.

Appliquez ces paramètres de configuration stratégique :

  • Définissez à 2 le nombre minimum de réviseurs pour garantir une couverture complète.
  • Désactiver « Autoriser les demandeurs à approuver leurs propres modifications » pour la séparation des tâches.
  • Activer « Autoriser l’achèvement même si certains réviseurs votent pour attendre ou rejeter » pour les scénarios d’urgence.
  • Configurer « Lorsqu'on pousse de nouvelles modifications » pour réinitialiser tous les votes d’approbation pour des raisons de sécurité.

Étape 3 : Configurer l’attribution automatique du réviseur

Implémentez le routage intelligent des réviseurs en fonction de l’expertise et des domaines de code :

Capture d’écran de la configuration de l’attribution automatique de réviseur.

Configurez votre stratégie de réviseur d’entreprise :

  • Équipe de sécurité : affectation automatique pour l’authentification, l’autorisation et la gestion des données des modifications.
  • Équipe d'architecture : Nécessaire pour les modifications d’infrastructure, de cadre et de modèles de conception.
  • Experts du domaine : affectation automatique basée sur les chemins d’accès aux fichiers et les zones fonctionnelles.
  • Formation croisée : Inclure les développeurs juniors pour les opportunités de transfert de connaissances.

Étape 4 : Activer les stratégies d’assurance qualité

Établissez des portes de qualité complètes par le biais des exigences de résolution des commentaires :

Capture d’écran de l’application des exigences de résolution de commentaires.

Cette politique garantit que tous les commentaires d’examen sont traités, en créant une responsabilité et en empêchant les lacunes de surveillance susceptibles d’avoir un impact sur la stabilité de la production.

Étape 5 : Configurer la traçabilité et la conformité

Configurez la liaison d’éléments de travail pour la conformité réglementaire et le suivi des projets :

Capture d’écran de la nécessité d’une liaison d’élément de travail pour la traçabilité.

Ces avantages de conformité sont les suivants :

  • Piste d’audit complète de l’exigence au déploiement.
  • Documentation sur la conformité réglementaire.
  • Analyse d’impact et suivi des modifications.
  • Visibilité de l’intégration et de la progression de la gestion de projet.

Étape 6 : Créer des branches de fonctionnalités avec traçabilité

Créez des branches de fonctionnalités directement à partir d’éléments de travail pour établir une liaison automatique :

Capture d’écran de la création de branches à partir d’éléments de travail pour la traçabilité automatique.

Suivez cette stratégie d’affectation de noms de branche d’entreprise :

  • Utilisez des préfixes de dossier pour l’organisation : feature/, hotfix/, release/.
  • Incluez des ID d’élément de travail pour la traçabilité : feature/12345-trading-algorithm.
  • Un nommage cohérent prend en charge l’automatisation et l’analyse des données.

Étape 7 : Implémenter des modifications à l’aide des meilleures pratiques

Implémentez des modifications à l’aide des pratiques de développement d’entreprise :

Capture d’écran de l’implémentation des modifications avec des pratiques de validation complètes.

Suivez les normes d’engagement d’entreprise suivantes :

  • Messages de validation descriptifs liés aux exigences.
  • Commits atomiques qui représentent des modifications logiques.
  • Pratiques de codage conscientes de la sécurité.
  • Mises à jour de la documentation qui accompagnent les modifications de code.

Étape 8 : Créer des pull requests complètes

Créez des pull requests qui facilitent une révision et une collaboration complètes.

Capture d’écran de la création de pull requests détaillées avec un contexte enrichi.

Appliquez ces bonnes pratiques pour les pull requests d'entreprise :

  • Descriptions complètes : Incluez le contexte métier, l’approche technique et la stratégie de test.
  • Documentation Markdown : Utilisez markdown structuré pour la clarté et la lisibilité.
  • Mentions des parties prenantes : @mention membres de l’équipe et experts de domaine pertinents.
  • Intégration d’éléments de travail : lier des éléments de travail associés pour un contexte complet.

Étape 9 : Coordonner les révisions multi-parties prenantes

Coordonnez les processus d’examen sophistiqués entre plusieurs parties prenantes :

Capture d’écran de la gestion des discussions de révision complètes.

Implémentez cette stratégie de révision multi-parties prenantes :

  • Révisions de sécurité : concentrez-vous sur l’authentification, l’autorisation et la protection des données.
  • Révisions d’architecture : évaluez les modèles de conception, la dette technique et l’extensibilité.
  • Révisions de qualité du code : évaluer la maintenance, les performances et les tests.
  • Révisions de la documentation : assurez-vous de la documentation complète et du transfert des connaissances.

Étape 10 : Faciliter les discussions d’examen efficaces

Faciliter les discussions approfondies sur la révision qui améliorent la qualité du code et le transfert des connaissances à l’aide de ces techniques de facilitation de révision :

  • Commentaires structurés : catégoriser les commentaires par type (critique, suggestion, question).
  • Focus éducatif : Expliquer le raisonnement derrière les suggestions pour le transfert des connaissances.
  • Orienté solution : fournissez des recommandations spécifiques plutôt que de simplement identifier les problèmes.
  • Gestion de la chronologie : équilibrez la profondeur avec la vitesse de développement.

Étape 11 : Tirer parti de l’intégration d’Azure DevOps

Tirez parti de l’intégration d’Azure DevOps pour une validation complète avec ces avantages d’intégration de pipeline :

  • Validation de build automatisée : assurez-vous que les modifications ne interrompent pas la compilation ou les fonctionnalités de base.
  • Exécution de la suite de tests : exécutez des suites de test complètes avant d’autoriser la fusion.
  • Analyse de la sécurité : intégrez des outils d’analyse de sécurité automatisés.
  • Test de performances : valider l’impact sur les performances des modifications.

Fonctionnalités et gestion avancées

Récupération et gestion des branches

Azure DevOps fournit des fonctionnalités de gestion de branche sophistiquées pour les environnements d’entreprise :

Récupération de branche supprimée :

  • Recherchez les branches supprimées par nom exact.
  • Afficher l’historique des suppressions et les parties responsables.
  • Restaurez des branches tout en conservant l’historique des validations.
  • Rétablissez les stratégies et les autorisations en fonction des besoins.

Gestion des branches d’entreprise :

  • Implémentez des conventions d’affectation de noms de branche cohérentes.
  • Utilisez l’organisation des dossiers pour les structures de référentiel complexes.
  • Établissez des stratégies de rétention pour le travail terminé.
  • Surveiller la prolifération des branches et nettoyer les branches inactives.

Mesure de la réussite et de l’optimisation

Indicateurs de performance clés

Suivez l'efficacité de l'implémentation de votre pull request :

Métriques de vitesse :

  • Durée du cycle de la pull request de la création à l'intégration.
  • Passez en revue les taux de participation et la qualité des commentaires.
  • Taux de conformité de stratégie et gestion des exceptions.

Métriques de qualité :

  • Taux de détection des défauts lors de l’examen.
  • Taux de problèmes post-fusion et analyse de la cause racine.
  • Efficacité du transfert de connaissances et développement des compétences.

Métriques de conformité :

  • L'exhaustivité et l'exactitude de la piste d'audit.
  • Conformité réglementaire.
  • Couverture et efficacité de l’examen de la sécurité.

Amélioration continue

Évaluation régulière :

  • Effectuer des rétrospectives mensuelles sur l’efficacité des requêtes de tirage.
  • Rassemblez les commentaires de l’équipe sur la charge de la stratégie et sur l’avantage.
  • Analysez les métriques pour identifier les opportunités d’optimisation.
  • Faites évoluer les stratégies en fonction de la maturité organisationnelle et de la modification des exigences.

Résultats de l’exercice

Cet exercice complet montre comment les pull requests d'Azure Repos répondent aux besoins de développement des entreprises :

  • Gouvernance évolutive : application automatisée des stratégies sans impact sur la vitesse de développement.
  • Conformité complète : pistes d’audit complètes et conformité réglementaire.
  • Amplification de la qualité : amélioration systématique de la qualité par le biais de processus de révision structurés.
  • Distribution des connaissances : transfert de connaissances efficace et développement de compétences entre les équipes.
  • Intégration de la sécurité : pratiques de sécurité incorporées dans les flux de travail de développement.

Le flux de travail implémenté fournit la base du développement d’entreprise durable et évolutif qui équilibre les exigences de gouvernance avec l’agilité du développement.