Kami baru-baru ini mulai membagi aplikasi web monolitik kami menjadi layanan microser, perlahan-lahan memotong fungsi dan menulis ulang menjadi layanan microser individu. Semua berjalan baik kecuali kita tidak yakin cara terbaik untuk mengatur pekerjaan frontend. Kami telah membagi menjadi beberapa tim produk dengan masing-masing mengelola kode untuk sejumlah kecil layanan mikro untuk memberikan area fungsional misalnya Pencarian, CMS, Checkout dll. Dengan masing-masing tim memiliki pemilik produk, pemimpin teknologi dan master scrum.
Masalahnya adalah bahwa sementara masing-masing tim produk tersebut memiliki basis kode backend mereka sendiri, kami memiliki basis kode React.js frontend tunggal dengan pengembang frontend duduk di setiap tim produk. Ini menyebabkan sejumlah masalah:
- Kurangnya tim lintas produk komunikasi antara pengembang frontend
- Masalah mendapatkan perubahan yang dibuat untuk kode frontend tim lain "sendiri" untuk mendukung fitur baru dari tim lain
- Tidak ada ahli teknis tunggal untuk mewakili tim frontend, sementara tim produk lainnya memiliki arahan teknis tidak ada yang memenuhi peran ini untuk frontend
Kami bertanya-tanya bagaimana orang lain menangani ini, dan telah membahas beberapa pendekatan seperti memisahkan basis kode frontend, membuat tim produk frontend yang biasanya akan dilibatkan oleh pengguna bisnis untuk fitur baru dan permintaan data / layanan akan masuk ke tim produk lain dari tim frontend tetapi keduanya tampaknya datang dengan masalah mereka sendiri!