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.