Bạn có bao giờ thắc mắc, với một tập đoàn công nghệ lớn thì từ các phản hồi (feedback), những yêu cầu về sản phẩm hay những thông tin sử dụng cần lưu ý dành cho khách hàng sẽ diễn ra như thế nào và bằng cách nào không? Cùng tìm hiểu trong bài viết sau nhé!

Thu thập feedback của người dùng hoặc requirements
Sau khi thu thập được feedbquirements, đội ngũ phát triển sẽ chia nhỏ các yêu cầu này thành các mục nhỏ hơn hoặc thành các User stories. Developers (các lập trình viên) sẽ sắp xếp các mục này trong quá trình lên kế hoạch cho Sprint kéo dài 1-2 tuần. Đối với dự án lớn, công việc có thể kéo dài nhiều Sprints.

Quản lý kỹ sư (Engineers Manager) hoặc trưởng kỹ thuật (Tech Lead) sẽ xếp ưu tiên các mục cần thực hiện qua các sprints nhằm cân bằng khả năng của đội phát triển. Một khi sprint được lên kế hoạch, lập trình viên bắt đầu xây dựng chức năng.

Đối với các tổ chức lớn, thường có RFC hoặc thiết kế tài liệu nhằm căn chỉnh kiến trúc cấp cao và cách tiếp cận kỹ thuật.

Sau đây là một số quá trình chính diễn ra:
Lập trình viên sử dụng Git hoặc một công cụ tương tự để quản lý mã nguồn và tạo ra các nhánh chức năng trong khi không làm ảnh hưởng đến mã nguồn chính. Việc này sẽ gói gọn công việc của mỗi thành viên thuộc ban phát triển sản phẩm.

Khi cấu trúc cơ sở dữ liệu yêu cầu cần thay đổi, mã migration cũng được phát triển trong các nhánh.

Việc thay đổi cấu trúc cơ sở dữ liệu yêu cầu thiết kế cẩn trọng và kiểm thử bổ sung nhằm tránh làm hỏng hoặc mất mát dữ liệu.
Một khi mã nguồn sẵn sàng, lập tình viên sẽ tạo một Pull Request để đội phát triển có thể kiểm tra (review). Việc này giúp nhà phát triển nắm bắt và phát hiện được các vấn đề sớm. Sau khi được chấp thuận, nó sẽ được nhập vào nhánh chính sau khi chạy unit tests. Những bài tests này giúp bắt bugs sớm.

Một khi mã nguồn có trên nhánh chính, nó sẽ kích hoạt CI/CD pipeline, công cụ như Github Actions và Jenkins, tự động build.
Qua đây, các bạn đã hiểu được cách mà lập trình viên đưa code và làm việc trên Production. Hy vọng những thông tin ở bài viết này là hữu ích đối với bạn!
Giảng viên Hoàng Hà
Bộ môn Công nghệ thông tin – FPT Polytechnic Đà Nẵng

