
I. Vấn đề xảy ra khi không giao tiếp
– Tôi đã trải qua các dự án, có làm việc chung với các bạn rank từ intern tới junior, middle(ít hơn). Đều nhận thấy những vấn đề chung xảy ra:
- Xung đột quá trình phân tích task, cặp FE – BE không thống nhất cách làm task.
- FE chờ BE làm xong mới thực hiện task đó được: chờ api, data, deploy.
- BE thay đổi api, data không báo với FE, hoặc các bạn BE khác có dùng chung entity đó.
- Gần hết dự án mới nêu vấn đề của mình gặp phải.
- Không làm đúng yêu cầu, làm thiếu phần tích.

– Những vấn đề trên xảy ra thường xuyên đối với các đội chưa có kinh nghiệm nhiều. Nguyên nhân chủ yếu do thiếu kinh nghiệm, chưa thống nhất giữa các bên, chưa phân tích mà bắt tay vào code luôn,…
—> Để khắc phục những vấn đề trên, đội tôi thực hiện “chuyên nghiệp hóa” bằng cách lập ra “Contract”.
II. Ý tưởng
– Khi bắt tay làm task, bên FE – BE thống nhất cách làm như: data mẫu là gì, api như thế nào, có authentication – authorize không, bao giờ có api đó được đẩy lên server, có server mock không?…
– Khi có sự thay đổi phía khách hàng, thì phải thông báo sửa những gì bên BE cho FE.
– Khi task đó bị “lock” bởi ai đó, cần thông báo lên kênh dự án, để mn biết để suppor, cái này gọi là “kêu đúng lúc”, không ai chê trách bạn kém cả.
– Bên tôi đang dùng https://jsoneditoronline.org/ để tạo data mẫu trước, nâng cấp đang sử dụng: https://restbird.org/, còn rất nhiều loại khác như: mockserver, postman mockserver, atomo mockserver, ….
– Các tool trên hỗ trợ: tạo data mẫu, tạo api mẫu, tạo client – server để mock vào api, một số chức năng khác
– Thêm nữa, để mọi người trách các lỗi chung: có tạo confluence của dự án. Viết unit test.
– BE – FE dùng các kĩ năng để thực hiện task: vẽ diagram, pseudo-code.

> Những thứ ràng buộc ở trên có thể không quen, có thể làm chậm tốc độ của bạn, nhưng nó có lợi ích rất lớn.
III. Lợi ích
– Khi đã có “CONTRACT”: thì bên FE-BE có thể làm song song, FE không cần đợi BE xong api nữa, có thể gọi luôn vào mock-server.
– Tránh các sự thay đổi như: BE thay đổi số lượng lớn data, thay đổi data base.
– Khi có sự thay đổi thì bên BE- FE thông báo với nhau, vì đã có contract nên sự thay đổi là ít nhất.
– Khi một bạn FE /BE làm xong task đó mà còn thời gian thừa, hỗ trợ đồng đội. Như thế mới trở thành một team.
– Các bạn dần trở nên chuyên nghiệp, khác hẳn với những đội “thân ai người đó lo”. Khi trở nên chuyên nghiệp thì đương nhiên $.$ sẽ theo đuổi bạn.
– Tránh lãng phí thời gian của các bên, tiết kiệm chi phí.
– … còn nhiều nữa.
Cuối cùng, hãy luôn trang bị hành trang để trở nên chuyên nghiệp nhé. Thân ái và chào quyết thắng!
Ugo Tran