Kết hợp mô hình Agile với Gitlab

Agile

Agile là một trong những phương pháp phát triền quan trọng nhất trong lĩnh vực phần mềm những năm gần đây. Hẳn nhiên, không phải ai cũng đồng ý với các khái niệm của Agile, nhưng Agile đã tạo ra tác động tích cực đến các nhóm phát triển phần mềm, giúp tạo ra các sản phẩm lấy khách hàng làm trung tâm một cách hiệu quả.

Các dự án thực tế của Miagi, đôi khi chúng ta được khách hàng yêu cầu phát triển theo mô hình Agile, hoặc nếu không, chúng ta có thể áp dụng mô hình Agile trong phạm vi nhỏ hơn (Code + Test) kết hợp với các mô hình truyền thống.

GitLab đã được thiết kế một cách linh hoạt để có thể thích ứng với phương thức phát triển của bạn, tức là Agile hoặc được kế thừa từ nó. Sau đây, chúng ta sẽ nói về một vài điểm đặc biệt về Agile trong GitLab.

Liên kết giữa các khái niệm Agile và các tính năng của GitLab (Community Edition)

Agile với GitLab

User stories → GitLab issues

Trong Agile, bạn thường bắt đầu một user story để ghi lại một tính năng duy nhất nhằm mang lại giá trị kinh doanh cho người dùng.
Trong GitLab, một issue duy nhất nằm trong một project phục vụ mục đích này.

Task → GitLab task lists

Thông thường, một user story được tách thành các task riêng lẻ.
Bạn có thể tạo ra task list bên trong mô tả của issue trong GitLab, để xác định các task riêng lẻ đó.

Product backlog → GitLab issue lists and prioritized labels

PO hoặc BO thường tạo các user story để phản ánh các nhu cầu của doanh nghiệp và khách hàng. Chúng được ưu tiên trong product backlog để nắm bắt mức độ khẩn cấp và trình tự phát triển mong muốn. PO liên lạc với các bên liên quan (stakeholders) để nhận biết các ưu tiên và cải tiến backlog.
Trong GitLab, issue list được tạo để người dùng có thể theo dõi các công việc của họ. Nhãn (Labels) có thể được tạo và gán cho các issue riêng lẻ, sau đó bạn có thể lọc các issue theo một hoặc nhiều label.
Các nhãn ưu tiên (Priority labels) có thể được sử dụng để sắp xếp các issue trong danh sách.

Sprints → GitLab milestones

Một sprint thể hiện một khoảng thời gian hữu hạn mà công việc có thể được hoàn thành, thường là một tuần hoặc vài tuần, đôi khi có thể là một tháng hoặc nhiều hơn. PO và team phát triển họp để quyết định công việc trong phạm vi của sprint sắp tới.

Tính năng milestones của GitLab hỗ trợ điều này: ấn định ngày bắt đầu và ngày kết thúc của milestone để nắm bắt khoảng thời gian của sprint. Sau đó chúng ta có thể đưa các issue vào các sprint tương ứng đó và đặt các mốc thời gian cho chúng.

Agile board → GitLab Issue Boards

Trong sprint, các issue sẽ chuyển qua các giai đoạn khác nhau, ví dụ như: To Do, In Progress, In Review, In Testing, Tested, Closed, cái này sẽ tuỳ thuộc vào qui trình phát triển cụ thể của công ty hay từng dự án.
Thông thường các giai đoạn này sẽ là các cột trong Agile board, trong GitLab issue boards cho phép chúng ta định nghĩa các trạng thái và di chuyển các issue giữa chúng.
Chúng ta có thể xem xét bảng hàng ngày, qua đó nắm được trạng thái của sprint theo qui trình làm việc.

Issue list cho phép lọc và sắp xếp hiệu quả. Ví dụ bạn có thể xem các vấn đề tồn đọng theo nhãn được ưu tiên, hoặc các user story được lên kế hoạch theo các milestone
Issue board cho phép các qui trình làm việc linh hoạt, chúng ta có thể thiết lập các danh sách trong bảng, tương ứng với các trạng thái trong Agile board. Chúng ta cũng có thể kiểm soát và theo dõi trạng thái các user story: Từ To Do đến Released

vinhvd

Hello there! 👋 I'm Vinh.