Abbiamo un nuovo progetto in corso, e al momento gli sviluppatori sono stati divisi in due team, il team A e il team B. Questo progetto ha due parti che richiedono lo sviluppo attraverso lo stack di sviluppo. Esempio molto semplificato della nostra pila mostrato di seguito:
Ognipartedelprogettorichiedelosviluppodell'interostack,quindinormalmentemiaspettounapprocciocompletoperlostackstack,ovveroilmodoincuiabbiamosuddivisoilnostrolavoroall'internodelteamB,progettandoerisolvendoleinterazionitralediverseparti.
Di recente ho appreso, tuttavia, che il team A vuole essere responsabile di alcune parti dello stack e propone una divisione tra i due team, in cui il livello di astrazione dei dati (e il posizionamento del contenuto nel livello dati) è gestito da solo senza sviluppo dalla squadra B. La divisione sembrerebbe qualcosa di simile a questa:
Permequestomisembramoltonaturale.Ognisquadrahadiversiobiettivietempidiversiperraggiungerli,malasquadraBavràunadipendenzadallasquadraAperimplementarelefunzionalità.Lasoluzionepropostaècheleinterfaccecomunisonodefiniteinanticipo(probabilmentec'èunintervallotemporaledi2annisulprogettoinmodochepossanoesserenumerose).LasquadraAsvilupperàprestoibitnecessariperquesteinterfaccepuravendoilpropriosetdiobiettivi,mentrelasquadraBcancelleràtuttelechiamateperl'immediatobrevetermineinmodochepossanoprogredire.
Hodubbisuquestoapproccioriguardoa:
- LeinterfaccepotrebberocambiareelasquadraApotrebbenonaverelalarghezzadibandaoiltempoperadattarsiaimutevolirequisiti.
- IbugnelcodicedellasquadraApotrebberoimpedirealteamBdiprogredire,eancoraunavoltapotrebberononesserelaprioritàperrisolverequestiproblemiacausadelfattochelasquadraAhaunacodadiprioritàdiversa.
- Mancanzadiconoscenzadiffusatraiteam-LasquadraBpotrebbenoncomprendereappienociòcheaccadesottoicofaniepotrebbeprenderedecisionidiprogettazionesbagliateacausadiciò.
Èstatosuggeritochemolteaziendedelsettoredispongonodisottogruppiedevonoessereingradodigestirlo.Daquantohocapito,ingeneralelesquadresonosuddivisecomeinizialmentemiaspettavo(FullStack)orompendolostacktecnologicocomediseguito:
Quindi sono interessato a sapere cosa sta facendo il resto dell'industria. La maggior parte delle fessure è verticale / orizzontale? Una divisione diagonale ha senso? Se dovesse verificarsi una divisione diagonale, le mie preoccupazioni sembrano valide e c'è qualcos'altro di cui la squadra B dovrebbe preoccuparsi? Da notare che probabilmente sarò ritenuto responsabile per il successo o il fallimento della squadra B.