Quando la comunicazione è eccessiva?
Una comunicazione strong potrebbe effettivamente essere un sintomo che qualcosa non va, per esempio che un componente è stato diviso in parti ma non dovrebbe essere stato. Ma potrebbe anche essere la prova che le squadre che hanno qualcosa in comune lavorano insieme in modo molto efficace.
Quindi come fare la differenza? Non è una questione di quantità, perché IMHO, il caso più frequente è l'assenza di comunicazione: le squadre lavorano in silos pensando di vivere su un'isola. Ciò comporta sempre equivoci, sorpresa inaspettata (cosa? Hanno cambiato l'API due settimane prima del nostro rilascio?) E frustrazione.
Domande di auto-introspezione : qual è la qualità della comunicazione? È utile? È costruttivo? Qual è il tuo sentimento negativo a riguardo? Questa opinione negativa è condivisa dai tuoi compagni di squadra? E dai membri dell'altra squadra? Perché pensi "sia troppo"?
Struttura dei domini aziendali
Se esistono alcune funzionalità o parti di dominio comuni (come sembra per il tuo gateway), quale sarebbe la soluzione migliore secondo te: ripetere / riutilizzare / reinventare un nuovo gateway per ogni prodotto o isolare la funzionalità?
Quindi forse il componente condiviso è esattamente l'architettura necessaria e il tuo team è la chiave per il successo di tutti gli altri. Ma se tutti gli altri fanno affidamento su di esso, non è normale che li coinvolgano come parti interessate nella decisione? Dopotutto, se tu fossi in un team di applicazioni, avresti frequenti incontri con i tuoi clienti per raccogliere i requisiti, demo di nuovi utenti e raccogliere le loro impressioni!
Domande di auto-introspezione : la comunicazione è utile, ad esempio riguardo ai requisiti e alle interdipendenze? O il tuo team non ha il coraggio di prendere alcune decisioni da solo e coinvolge eccessivamente le parti interessate nelle decisioni dei team?
Qualità?
La cattiva qualità, ad esempio se vengono consegnati troppi bug, potrebbe causare ulteriori richieste dagli altri team. Questo sarebbe un tipo di comunicazione che è il sintomo di un cattivo software.
Bad design pure. Se il tuo componente non è SOLIDO, tu e il tuo cliente avrete discussioni inutili, dovute ad esempio ad un accoppiamento stretto che potrebbe essere evitato con la segregazione dell'interfaccia e l'inversione di dipendenza.
Le informazioni mancanti potrebbero anche causare artificialmente un'eccessiva comunicazione. Una buona documentazione di riferimento (attenzione: non sovra-documentare ;-)) e alcune note di rilascio possono davvero aiutare ad evitare discussioni inutili.
Domande di auto-introspezione : sei orgoglioso di ciò che offri? E ti piacerebbe consumare il gateway se fossi in un'altra squadra?
Conclusioni
Con le poche informazioni che ho, è difficile dare un'opinione obiettiva su ciò che sta accadendo.
Ma l'eccesso di comunicazione non è necessariamente un problema di progettazione del software. Può essere un problema con le pratiche di comunicazione e collaborazione. Fortunatamente, questi possono essere migliorati se c'è consapevolezza.