Pour vous donner un petit aperçu: je travaille pour une entreprise avec environ douze développeurs Ruby on Rails (+/- stagiaires). Le travail à distance est courant. Notre produit est composé de deux parties: un noyau plutôt gras, et mince pour les grands projets clients construits sur lui. Les projets clients élargissent généralement le cœur. L'écrasement des fonctionnalités clés ne se produit pas. Je pourrais ajouter que le noyau a quelques parties plutôt mauvaises qui ont un besoin urgent de refactorisations. Il y a des spécifications, mais surtout pour les projets clients. La pire partie du noyau n'est pas testée (pas comme il se doit ...).
Les développeurs sont divisés en deux équipes, travaillant avec un ou deux PO pour chaque sprint. Habituellement, un projet client est strictement associé à l'une des équipes et des bons de commande.
Maintenant notre problème: assez souvent, nous nous cassons les affaires. Un membre de l'équipe A étend ou remanie la fonctionnalité principale Y, provoquant des erreurs inattendues pour l'un des projets clients de l'équipe B. Généralement, les changements ne sont pas annoncés par les équipes, donc les bugs sont presque toujours inattendus. L'équipe B, y compris le PO, a pensé que la fonctionnalité Y était stable et ne l'a pas testée avant de la relâcher, ignorant les changements.
Comment se débarrasser de ces problèmes? Quel type de «technique d'annonce» pouvez-vous me recommander?