Recentemente abbiamo iniziato a suddividere la nostra app web monolitica in microservizi, eliminando lentamente funzionalità e riscrivendola in singoli microservizi. Tutto sta andando bene, tranne che non siamo sicuri del modo migliore per organizzare il lavoro del frontend. Ci siamo suddivisi in team di prodotto con ognuno di essi che gestiva il codice per un piccolo numero di microservizi per fornire un'area funzionale, ad es. Ricerca, CMS, Checkout ecc. Con ciascun team con proprietario del prodotto, lead tecnologico e master scrum.
Il problema è che mentre ciascuno di questi team di prodotto ha il proprio codice base di backend, abbiamo un singolo codice base React.js con gli sviluppatori di frontend che si trovano in ogni team di prodotto. Ciò sta causando una serie di problemi:
- Mancanza di comunicazione tra team di prodotto tra gli sviluppatori di frontend
- Problemi con le modifiche apportate al codice di front-end che l'altro team "possiede" per supportare nuove funzionalità di altri team
- Nessun singolo esperto tecnico rappresenta il frontend team, mentre altri team di prodotto hanno lead tecnici non c'è nessuno che soddisfi questo ruolo per il frontend
Ci stavamo chiedendo in che modo le altre persone stanno gestendo questo problema e abbiamo discusso alcuni approcci come la suddivisione del codice base del frontend, la creazione di un team di prodotti front-end con cui gli utenti aziendali in genere interagiscono per nuove funzionalità e richieste di dati / servizi negli altri team di prodotto del team di frontend, ma entrambi sembrano venire con il loro set di problemi!