10 solutions concrètes pour mieux gérer les dépendances entre équipes !
La gestion des dépendances est une difficulté à traverser pour les équipes Agiles. Attendre des fonctionnalités et composants venant d’autres équipes, devoir livrer en urgence de User Stories prérequis aux autres équipes, Etc. .
Connaître et comprendre les outils qui permettent de gérer ces dépendances vous sera utile. Il existe deux méthodes permettant de manager les dépendances. Une de ces méthodes vas consister à supprimer les dépendances. Tandis que la seconde va préférer réduire l’impact de la dépendance.
Concernant la Suppression des dépendances :
Rompre les dépendances prend souvent beaucoup de temps, ce qui implique des changements organisationnels importants. Une bonne façon de briser les dépendances est de constituer une équipe polyvalente : rassembler toutes les compétences autour d’un produit, d’une fonctionnalité. C’est à dire une équipe où toutes les capacités ou compétences requises pour apporter une valeur ajoutée sont couvertes par un ou plusieurs membres de l’équipe.
La compétence croisée de tous les membres de l’équipe n’est pas toujours possible ni souhaitable. Les spécialités jouent un rôle de plus en plus important dans les organisations très complexes.
Quant à l’option de réduire l’impact de la dépendance:
Les dépendances impactant majoritairement les délais il devient judicieux d’optimiser ces temps d’attentes. Les formes les plus courantes de temps d’attentes proviennent des points bloquants, d’un trop grand nombre de travaux en cours, de retravailles, de facteurs de traînée et de la faiblesse du système.
Vous retrouverez donc ici nos différents conseils pour manager vos dépendances à travers ces deux méthodes :
Voici les 10 Solutions concrètes pour gérer les dépendances :
1- Board de dépendances programmées
A travers la seconde stratégie de management des dépendances nous proposons d’anticiper ici les dépendances directement sur le board en liant les éléments dépendant et les anticipants aux travers des itérations.
Hack : Relier avec une ficelle ou avec un lien les User Stories
Bénéfice : Visualiser les dépendances, mieux partager et réagir.
2- Bloqueurs visualisés
Dans une démarche de réduction des dépendances encore , la visualisation des bloqueurs va de pair avec la gestion. Si vous découvrez ou tombez sur une dépendance pendant le développement, utilisez des autocollants de blocage pour sensibiliser les gens, puis concentrez-vous sur le déblocage. Utilisez cette technique pour identifier les bloqueurs internes ou externes les plus courants. Identifiez les bloqueurs qui peuvent être évités à l’avenir en réduisant leur impact ou en les éliminant tous ensemble.
Hack : Sur les User Stories ayant une dépendance, collez un post-it bloqueur (définissez un code couleur). Puis trouvez une solution seul ou en équipe.
Bénéfice : Visualiser les dépendances, mieux partager et réagir.
3- Surveiller les temps d'attente systémiques
Lorsqu’une équipe (amont) dépend d’une autre équipe (aval), elle envoie souvent une demande de travaux à effectuer à l’équipe en aval. Cela se manifeste souvent par une nouvelle tâche dans le backlog de l’équipe en aval. La tâche peut rester longtemps en attente dans l’équipe aval en raison des autres priorités et engagements de l’équipe en question.
Trouvez un moyen de mesurer le temps d’attente vous permet de faciliter les discussions avec l’équipe aval et ainsi de réduire l’impact de la dépendance.
Hack : Utiliser un code couleur ou format pour identifier les tâches habituelles.
Bénéfice : Repérer les tâches récurrentes pour anticiper leurs dépendances.
4- Simulez vos interfaces
Toujours dans le but de réduire les dépendances comme par exemple un composant provenant d’une autre équipe. Anticiper des comportements habituels en intégrant de faux éléments permet de prévenir des dépendances habituelles et ainsi les accélérer. Utiliser des pratiques de bouchons et mock se voit aussi être une bonne pratique dans la même idée.
Exemple pour un webservice : une fois que la conception est validée avec l’équipe, vous connaissez les éléments en entrée et sortie, vous pouvez donc les simulez avec des outils comme Swagger ou Postman par exemple.
Hack : Intégrer des éléments reproduisant des comportements de dépendances usuelles pour anticiper leurs réalisations.
Bénéfice : Favorise la visibilité et crée une habitude dans les équipes.
5- Supprimer les dépendances d'environnement
Lorsque plusieurs teams partagent un ensemble commun d’environnements tels que les équipes QA (Quality Assurance) , SIT (System Integration Testing) ou UAT (User Acceptance Testing) , elles souffrent souvent de conflits d’environnement. C’est-à-dire l’impossibilité d’utiliser un environnement parce qu’une autre équipe l’utilise actuellement. Des systèmes de réservation élaborés apparaissent, qui ne font rien d’autre que de verrouiller le temps d’attente dans le processus.
Pour mettre fin à ces conflits d’environnement, il faut créer des environnements dédiés par équipe supprimant ainsi des dépendances.
Hack : Identifier des outils prenant en compte plusieurs cœurs de métier pour réduire les dépendances liées à l’import/export des données.
Bénéfice : Accélère la communication entre les équipes et réduit les problèmes d’incompatibilités des environnements.
6- Ne gérez pas vos dépendances, cassez les !
C’est un bon conseil mais cela peut prendre beaucoup de temps pour briser certaines dépendances.
Pour briser une dépendance, vous devrez peut-être modifier l’architecture fondamentale de votre application ou de votre système. En outre, vous devrez peut-être aussi restructurer vos équipes pour y parvenir. On parle ici « de casser les silos ». Les transformations digitales favorisent cette mentalité en libérant la communication dans les organisations.
Cela veut dire : réorganisez vos équipes selon des composants, des fonctionnalités, ou des chaines de valeur métier. Par exemple, la messagerie de Facebook, qui est un applicatif à part entière est aussi une chaine de valeur du produit Facebook. Ou alors la fonctionnalité d’enregistrement des conférences dans Zoom, qui vient en plus de la conférence, sans dissocier au sein des équipes le front-end du back-end.
Hack : Casser vos équipes mono-compétentes en équipe pluridisciplinaire pour accélérer la réalisation des tâches pour un produit.
Bénéfice : Améliorer son Time To Market et obtenir des feedbacks plus souvent.
7- Utiliser des politiques explicites pour accélérer
Aligner l’ensemble des équipes sur la vision produit et priorités de l’entreprise, en commençant par une communication claire du top management.
Convenir d’une politique à l’échelle de l’organisation selon laquelle tout collaborateur peut s’appuyer pour identifier les tâches relatives permet pour chaque équipe d’accéléré ou priorisé dans le cadre de la politique de sélection. Cette approche est plus utile pour les équipes de composants ou de fonctionnalités.
L’idée ici est que si une demande de travail quelque part dans le système (système à l’échelle de l’organisation) est jugée hautement prioritaire, alors toutes les dépendances en aval doivent la traiter comme telle et s’en acquitter de toute urgence.
Hack : Intégrer dans les valeurs de l’entreprise ou dans ses communications des éléments de votre vision produit ou des valeurs agiles.
Bénéfice : Améliorer sa maturité agile et se transformer plus vite.
8- Intégrez vos dépendances dans votre backlog
Signaler les dépendances connues plus tôt dans le backlog pour vous aider dans votre politique de sélection. Compléter vos cartes avec des icônes qui représentent le type de dépendance ou utilisez une liste de contrôle pour rendre les dépendances visibles.
Hack : Identifier visuellement dans les backlogs les dépendances.
Bénéfice : Améliorer la priorisation des tâches et maximiser la valeur.
9- Gérer les deux extrémités de la dépendance
Coller un autocollant de blocage sur votre poste de travail est un bon début, mais ce n’est pas parce que vous l’avez fait que l’équipe en aval est au courant.
Assurez-vous que vous pouvez voir votre demande de travail sur les backlog des équipes en aval. Assurez-vous qu’elle est correctement classée par ordre de priorité. Discutez avec le Product Owner ou le Delivery Manager. Assistez aux réunions quotidiennes de l’équipe en aval et surveillez les progrès réalisés impactant votre équipe.
Hack : Identifier visuellement dans les backlogs des équipes diverses les dépendances.
Bénéfice : Améliorer la priorisation des tâches et maximiser la valeur de l’organisation.
10- Utiliser une Dependency Map
La dependency map est un outil très courant notamment comme point central d’une réunion Scrum of Scrums. Elle a pour stratégie de réduire les dépendances en prenant en compte les interactions entre les équipes à l’aide de code couleur.
Hack : Créer une carte des dépendances des équipes avec lequel vous interagissez.
Bénéfice : Connaître ses dépendances et les utiliser pour délivrer plus vite.
Conclusion
Cette liste n’étant pas exhaustive on remarque qu’il existe diverses possibilités pour gérer les dépendances. Des astuces ludiques et graphiques favorisés par les techniques de managements visuels ont vu le jour. Les logiciels jouent aussi un rôle essentiel dans la gestion des dépendances par exemple en intégrant des environnements polyvalents. Enfin une approche organisationnelle et valeur business permet aussi de réévaluer les structures présentes en fonction des besoins de demain.
Vous voulez en savoir plus ?
Nous proposons un ensemble d’accompagnements et de formations pour mieux gérer les programmes et les dépendances entre projets :
– Plus de renseignements sur nos formations sur la page dédiée ici
Qui sommes-nous ?
DC CONSULTANTS est le cabinet de conseil pure-player de l’agilité, qui accompagne les entreprises de tous secteurs dans le pilotage de leurs projets depuis 2013 ! Pour les acteurs en charge de délivrer des projets et de réaliser une transformation agile, souhaitant mettre en place l’agilité réduire leur TTM, améliorer la qualité de leurs produits, DC CONSULTANTS propose des services de conseil, des outils, des formations, avec l’intervention notamment de Coaches Agiles, Product Owners, Scrum Masters, …L’offre de DC CONSULTANTS permet de mener une transformation agile aisément, de former et motiver ses équipes et de délivrer les projets de manière plus rapide et efficace.