Giải Pháp CNTT
Thứ Năm, 12/08/2021

Thực hành Scrum với Gitlab

Thực hành Scrum với Gitlab

Scrum là gì? Framework được giới lập phát triển phần mềm ưa chuộng vì tính thực hành rõ ràng đồng thời đảm bảo các trụ cột thẩm tra, minh bạch, thích nghi. Sprint Backlog là một xương sống quan trọn trong một chu trình Scrum, nơi toàn bộ Development Team đeo bám công việc nhằm tạo ra sản phẩm chất lượng khi kết thúc Sprint.

GitLab là một nền tảng DevOps hoàn thiện, ứng dụng trong việc lên kế hoạch dự án và quản lý mã nguồn và CI/CD. Những công cụ như GitLab trở thành phần không thể thiếu trong giới phát triển phần mềm.

Định nghĩa Sprint bằng Milestone của GitLab

Tuy trong GitLab không có định nghĩa Sprint, nhưng bạn hoàn toàn có thể ứng dụng Milestone trong việc định nghĩa Sprint.

Một Milestone sẽ được định nghĩa thành 1 Sprint nếu tuân thủ các nguyên tắc sau:

  • Ngày bắt đầu và kết thúc Milestone cũng chính là ngày bắt đầu và kết thúc của 1 Sprint. Đây phải là các ngày cố định của tuần. Bất chấp trong Sprint có bao nhiêu ngày nghỉ. Ví dụ nếu bạn quy định Sprint 1 tuần với ngày bắt đầu là thứ 2 và kết thúc là thứ 6, vậy bạn sẽ tạo một loạt Milestone nối tiếp có ngày bắt đầu và kết thúc vào thứ 2 và thứ 6. Ngay cả thứ 6 rơi vào ngày nghỉ 01/05 thì đây vẫn coi là ngày kết thúc Sprint. Bám sát điều này giúp bạn tạo ra nhịp. Giữ vững nhịp Sprint đều đặn giống như bước chạy đều của vận động viên Marathon, sẽ giữ sức đi quãng đường rất xa.
  • Tên Milestone cũng chính là tên Sprint, hãy chọn 1 cái tên đáng nhớ và phản ánh mục tiêu của mỗi Sprint.
  • Description của Milestone sẽ giải thích chi tiết hơn các mục tiêu mà bạn định nhắm tới trong Sprint.

Tổ chức Board để monitor công việc trong Sprint

Trong GitLab có sẵn phần Board để bạn có thể monitor công việc trong Sprint. Đối tượng được quản lý trên Board là các Issue, tương đương với User Story trong Scrum.

Vào Issue > Board, đã có sẵn 2 cột là Open và Closed. Các Issue mới hình thành sẽ được đưa vào Open, các Issue đã hoàn thành và được Product Owner nghiệm thu thì sẽ được Closed.

Có thể add stage trung gian giữa Open và Close để phản ánh quy trình phát triển của team. Cá nhân tôi ưa chuộng các cột trung gian sau:

  • To do: khi các Issue được làm rõ ràng để phát triển, team sẽ kéo từ cột Open sang cột To do, các Issue chưa làm rõ sẽ được giữ ở Open để làm rõ ràng dần.
  • Doing: khi Developer làm đến Issue nào sẽ kéo từ To do sang Doing
  • Delivery Ready: Khi Developer làm xong, sẽ kéo Issue từ cột Doing sang Delivery Ready.
  • Delivery Done: Developer chuyên deploy sẽ thực hiện triển khai Issue này lên môi trường Live, khi thực hiện xong sẽ kéo sang Delivery Done.

Xác định ưu tiên trong Sprint bằng Label của GitLab

Xác định ưu tiên trong Sprint bằng Label của GitLabĐể đánh giá mức độ ưu tiên của các Issue, Label trong GitLab được sử dụng. Bạn có thể tự đặt tên các Label của mình như Must Have, Should Have, Could Have.

Chu trình Scrum trên GitLab

Lập kế hoạch Sprint (Sprint Planning)

Để chuẩn bị cho buổi lập kế hoạch, Product Owner cần chuẩn bị trước các Issue cần làm trên cột Open, gắn nhãn ưu tiên và sắp xếp theo mức độ ưu tiên.

Trong buổi lập kế hoạch Sprint,  Development Team  theo thứ tự thấy Issue nào rõ ràng, khả thi sẽ kéo sang cột To Do. Nếu chưa rõ cần trao đổi thêm với Product Owner để làm rõ ràng hơn trước khi quyết định đưa vào To Do.

Development Team quyết định đưa vào Sprint bằng cách gắn Milestone tương ứng cho Issue.

Development Team tiến hành Estimate từng Issue trong cột To Do bằng cách comment vào mỗi Issue bằng lệnh /estimate.

Trong Sprinta

Trong Sprint, team tương tác trên Board của mình bằng cách lọc Lấy các Issue cần làm bằng cách dùng Milestone Filter.

Developer nào thực hiện việc gì sẽ Assign vào Issue đó, và tự kéo sang các cột tương ứng như Doing.

Chú ý Monitor, quan sát quá trình hoạt động của team, nếu đến gần hết Sprint mà cột To do vẫn còn đọng rất nhiều Issue thì khả năng trễ hẹn rất cao.

Sơ kết Sprint (Sprint Review)

Trong buổi sơ kết Sprint, Product Owner sẽ nghiệm thu (Acceptance) các Issue đang nằm trên cột Delivery Done. Nếu thực sự hoàn thành đúng yêu cầu, nó sẽ được kéo sang cột Closed.

Mọi Issue chưa hoàn thành cần bỏ hoặc chuyển về Milestone khác tức Sprint khác để làm.

Tin khác
10 lợi ích khi sở hữu website đối với doanh nghiệp

10 lợi ích khi sở hữu website đối với doanh nghiệp

Ngày nay, có một website công ty cũng quan trọng như có một cửa hàng, văn phòng. Nghiên cứu đã phát hiện ra rằng 6/10 khách hàng mong đợi các thương hiệu có nội dung trực tuyến về doanh nghiệp của họ. Nếu bạn sở hữu hoặc điều hành một doanh nghiệp chưa thực hiện bước đó vào thế giới trực tuyến, đây là 10 lợi ích của website đối với doanh nghiệp sẽ khiến bạn tự hỏi tại sao không tạo website sớm hơn.
Sự khác biệt giữ giao thức HTTP VÀ HTTPS là gì?

Sự khác biệt giữ giao thức HTTP VÀ HTTPS là gì?

Nếu như để ý trên các trình duyệt mà bạn truy cập thì sẽ thấy ở một số trang web tự động thường có thêm tiền tố HTTP và HTTPS ở đằng sau URL của website đó. Vậy HTTP là gì? HTTPS là gì? Sự khác nhau giữa 2 giao thức này và tầm quan trọng của chúng trong thế giới web là gì? Cùng chúng tôi lý giải ở bài viết dưới đây nhé!
Hướng dẫn sử dụng Remote Desktop để truy cập VPS/Server Window

Hướng dẫn sử dụng Remote Desktop để truy cập VPS/Server Window

Bằng tiện ích trong quá trình quản trị từ xa thông qua giao diện làm việc của máy tính, Remote Desktop được đánh giá là một trong những tính năng vô cùng thiết thực cho người dùng. Tuy nhiên, không phải ai cũng biết được việc ứng dụng Remote Desktop để truy cập VPS/ Server Window. Đừng lo! Bài viết bên dưới sẽ giúp bạn "gỡ rối" ngay những thắc mắc với những bước hướng dẫn cụ thể.
Bandwidth là gì? Và Những Điều Cần Biết

Bandwidth là gì? Và Những Điều Cần Biết

Khi lướt Web bạn cảm thấy rằng có một số trang tải nhanh, một số trang thì quá chậm. Một trong những lý do dẫn đến hiện tượng trên là do Website hết Bandwidth (băng thông). Vậy thì băng thông là gì? Hãy cùng Mắt Bão tìm hiểu các thông tin liên quan đến băng thông nhé!
Top 5 công cụ quản lý mạng xã hội "đỉnh"

Top 5 công cụ quản lý mạng xã hội "đỉnh"

Những công cụ giúp doanh nghiệp khai thác được hiệu quả của mạng xã hội ngày nay.
6 website cung cấp ảnh miễn phí và chất lượng bạn không nên bỏ qua

6 website cung cấp ảnh miễn phí và chất lượng bạn không nên bỏ qua

Bỏ túi ngay những website cung cấp nguồn ảnh miễn phí và chất lượng trên Internet.
Scrum là gì? Cách áp dụng mô hình Scrum hiệu quả nhất

Scrum là gì? Cách áp dụng mô hình Scrum hiệu quả nhất

Scrum là gì và có tầm quan trọng đối với Developers như thế nào?
Bí mật sở hữu một website hoàn hảo

Bí mật sở hữu một website hoàn hảo

Website giờ đây đang trở thành “công cụ” thiết yếu giúp cho các doanh nghiệp phát triển hơn trên “mảnh đất công nghệ số” màu mỡ.
Chứng chỉ SSL miễn phí với Let's Encrypt

Chứng chỉ SSL miễn phí với Let's Encrypt

Hiện nay hầu hết các trang web đều đã hỗ trợ SSL (Secure Socket Layer). Nó mã hóa dữ liệu truyền đi giữa máy chủ web và trình duyệt và làm tăng tính bảo mật cho website.
Web App là gì? Khác biệt giữa Website và Web App

Web App là gì? Khác biệt giữa Website và Web App

Có không ít người, kể cả IT lâu năm cũng có trường hợp nhầm lẫn giữa web app và website. Hai khái niệm này có sự khác biệt khá rõ ràng. Để có cái nhìn chính xác nhất về web app và website, bạn theo dõi bài viết dưới đây để nắm rõ hơn các khái niệm này.