Per darti un po 'di background: lavoro per un'azienda con circa dodici sviluppatori di Ruby on Rails (+/- stagisti). Il lavoro a distanza è comune. Il nostro prodotto è composto da due parti: un nucleo piuttosto grasso, e ridotto a grandi progetti dei clienti costruiti su di esso. I progetti dei clienti in genere espandono il core. La sovrascrittura delle funzionalità chiave non si verifica. Potrei aggiungere che il nucleo ha alcune parti piuttosto brutte che hanno urgente bisogno di refactoring. Ci sono specifiche, ma soprattutto per i progetti dei clienti. La parte peggiore del core non è testata (non come dovrebbe essere ...).
Gli sviluppatori sono divisi in due team, lavorando con uno o due ordini di acquisto per ogni sprint. Di solito, un progetto cliente è strettamente associato a uno dei team e degli ordini di acquisto.
Ora il nostro problema: piuttosto spesso ci rompiamo a vicenda. Qualcuno del Team A espande o ridefinisce la caratteristica principale Y, causando errori imprevisti per uno dei progetti dei clienti del Team B. Per lo più, le modifiche non vengono annunciate sui team, quindi i bug arrivano quasi sempre inaspettati. La squadra B, inclusa la PO, ha pensato che la caratteristica Y fosse stabile e non l'avesse testata prima di essere rilasciata, ignara delle modifiche.
Come sbarazzarsi di questi problemi? Che tipo di 'tecnica di annuncio' mi puoi consigliare?