Get in touch
or send us a question?
CONTACT

Scrum

Giới Thiệu

Scrum là một framework trong đó mọi người có thể giải quyết các vấn đề thích ứng phức tạp.
Scrum được thành lập dựa trên lý thuyết kiểm soát quá trình thực nghiệm hay còn gọi là chủ nghĩa kinh nghiệm.

Trụ cột của Scrum

Scrum có Ba trụ cột là: Minh bạch, Kiểm tra và Thích ứng.

Các sự kiện Scrum để kiểm tra và thích ứng là:

  • Sprint Planning: Cuộc họp Lập kế hoạch sprint.
  • Daily Scrums: Cuộc họp Scrum hàng ngày.
  • Sprint Review: Cuộc họp Đánh giá Sprint.
  • Sprint Retrospective: Cuộc họp Cải tiến Sprint.

Giá trị cốt lõi của Scrum

  • Cam kết
  • Dũng cảm
  • Tiêu điểm (Tập chung vào điểm)
  • Cởi mở
  • Tôn trọng

Scrum team

Scrum team chỉ có 3 thành phần là: Product Owner, Development Team, Scrum Master

Product Owner (PO)

PO là người chịu trách nhiệm về sự thành công của sản phẩm

PO xác định tất cả các tính năng của sản phẩm

PO chịu trách nhiệm quyết định mức độ ưu tiên phát triển các tính năng của sản phẩm

PO là người duy nhất chịu trách nhiệm quản lý Product Backlog (Danh sách các tính năng của sản phẩm):

  • Thể hiện rõ ràng các hạng mục Product Backlog.
  • Sắp xếp các mục trong Product Backlog.
  • Tối ưu hóa giá trị của công việc mà Development Team thực hiện.
  • Đảm bảo rằng Product Backlog được hiển thị minh bạch và rõ ràng cho tất cả mọi người.
  • Đảm bảo Development Team hiểu các hạng mục trong Product Backlog.

PO là một người, không phải một nhóm người.

PO giám sát tiến độ đối với mục tiêu kinh doanh hoặc bản phát hành.

Chỉ PO mới có thể kết thúc một Sprint.

Development Team

Quy mô đề xuất cho một Development Team là từ 3-9 người.

Tự tổ chức: Tự chọn cách tốt nhất để hoàn thành công việc của họ, thay vì bị chỉ đạo bởi những người khác bên ngoài nhóm.

Đa chức năng: Development Team nên có tất cả các kỹ năng cần thiết để tạo ra sản phẩm.

Không có chức danh nào cho các thành viên trong Development Team ngoài Developer.

Development Team giám sát tiến độ hướng tới mục tiêu Sprint.

Development Team quyết định có bao nhiêu Hạng mục trong Product Backlog cần thực hiện trong một Sprint.

Chịu trách nhiệm:

  • Cung cấp phần tính năng có thể phát hành được.
  • Tạo Định nghĩa “Done”.
  • Lên kế hoạch và danh sách những công việc dự đoán là cần phải được hoàn thành để làm tăng mức độ hoàn thành của sản phẩm và thỏa mãn được Sprint mục tiêu vào cuối Sprint (The Sprint Backlog).
  • Tiến hành Daily Scrums.
  • Tất cả các ước tính trong Product Backlog;

Scrum Master (SM)

Người hỗ trợ không phải là người quản lý.

Chịu trách nhiệm:

  • Đảm bảo tổ chức hiểu và ứng dụng được Scrum.
  • Tạo các sự kiện Scrum khi được yêu cầu hoặc cần thiết.
  • Loại bỏ những khó khăn gây cản trở Development Team;
  • Dẫn dắt và huấn luyện tổ chức trong việc áp dụng Scrum.

SM đảm bảo rằng Development Team có Daily Scrums (nhưng Development Team chịu trách nhiệm tiến hành Daily Scrums).

SM đào tạo Development Team giữ Daily Scrums trong khoảng thời gian 15 phút.

SM thực thi quy tắc “chỉ thành viên Development Team tham gia vào Scrum Hằng ngày”.

Scrum Events

Tất cả các Event đều phải có Time-box

Sprint

Scrum bao gồm các sprint.

Sprint bao gồm công việc phát triển và các Sự kiện Scrum khác:

  • Sprint Planning: Lập kế hoạch sprint.
  • Daily Scrums: Scrum hàng ngày.
  • Sprint Review: Đánh giá Sprint.
  • Sprint Retrospective: Cải tiến Sprint.

Time-box: Có thời lượng khoảng một tháng hoặc ít hơn.

Chỉ Product Owner mới có thể hủy bỏ Sprint (nếu Mục tiêu Sprint trở nên lỗi thời).

Sprint Planning

Leading role: Toàn bộ Scrum team.

Time-box: 8 giờ cho Sprint một tháng.

When: Khi bắt đầu Sprint

Actions:

  • Trả lời những câu hỏi sau:
  • Có thể làm được gì trong Sprint này ?
  • Công việc đã chọn sẽ được hoàn thành như thế nào ?
  • Các thành viên của Development Team chọn các hạng mục từ Product Backlog cho Sprint.
  • Scrum Team soạn thảo Mục tiêu Sprint trong cuộc họp Sprint Planning.
  • Mục tiêu Sprint là một mô tả ngắn gọn về những gì nhóm dự định đạt được trong suốt Sprint.

Daily Scrum

What: Là cuộc họp hàng ngày nhằm đồng bộ hóa các hoạt động và lập kế hoạch cho 8 giờ tới.

Leading role: Development Team

Time-box: 15 phút

When: Cuộc họp này được tổ chức vào cùng một thời điểm và địa điểm mỗi ngày.

Actions:

  • Các thành viên Development Team giải thích:
  • Tôi đã làm gì hôm qua?
  • Tôi sẽ làm gì hôm nay?
  • Tôi có gặp phải trở ngại hay vấn đề gì trong quá trình làm việc không ?
  • Daily Scrum được sử dụng để kiểm tra tiến độ thực hiện Mục tiêu Sprint.

Development Team tự chịu trách nhiệm tiến hành Scrum Hằng ngày.

Sprint Review

What: Là cuộc họp để kiểm tra phần công việc được hoàn thành trong sprint đó.

Leading role: Các bên liên quan và Scrum Team tham dự cuộc họp này. Các bên liên quan sẽ do chính PO mời.

Time-box: 4 giờ cho Sprint một tháng.

When: Được tổ chức vào cuối Sprint.

Actions:

  • Development Team sẽ đưa ra công việc mà họ đã hoàn thành (Dựa trên tiêu chí done) trong Sprint.
  • Các thay đổi có thể xuất hiện từ cuộc họp này và sẽ được thêm vào Product Backlog.

Sprint Retrospective

What: Là cuộc họp liên quan đến hoạt động cải tiến.

Leading role: Scrum Team.

Time Box: 3 giờ cho Sprint một tháng.

When: Được tổ chức vào cuối Sprint

Actions: 

  • Scrum Team sẽ xác định những gì hoạt động tốt, những gì không hoạt động và lập kế hoạch cải tiến các yếu tố như:
  • Con người.
  • Mối quan hệ.
  • Quy trình.
  • Công cụ.

Scrum Artifacts

Product Backlog (PB)

Là danh sách (có thứ tự ưu tiên) tất cả các tính năng của sản phẩm.

Các tính năng có trong PB được đặt số thứ tự cao hơn thường rõ ràng và chi tiết hơn các tính năng có thứ tự thấp hơn.

PB có thể chứa các tính năng nghiệp vụ, các lỗi, các kỹ thuật cần cải tiến, các tính năng phi chức năng.

PB là một hiện vật, tài liệu sống, nghĩa là nó luôn thay đổi.

PO chịu trách nhiệm về PB.

PO có thể lấy phản hồi từ các Bên liên quan và Scrum Team để tạo hoặc cập nhật PB.

Nếu nhiều Scrum Team đang làm việc trên cùng một sản phẩm, họ nên có một PB chung.

Sprint Backlog (SB)

SB là danh sách các công việc cần hoàn thành trong mỗi Sprint.

Trong cuộc họp Sprint Planning, Development Team chọn các hạng mục từ Product Backlog để xây dựng thành Sprint Backlog và lên kế hoạch để hoàn thành nó trong Sprint.

Development Team sẽ cập nhật SB trong Sprint.

SB Chỉ thuộc về Development Team.

Increment

là tổng của tất cả các hạng mục Product Backlog đã được hoàn thành trong suốt Sprint hiện tại và những Sprint trước đó.

Định nghĩa “Done”

Khi một hạng mục Product Backlog hoặc một increment được cho là “Done” thì mọi người phải hiểu rõ “Done” nghĩa là thế nào ?.

Định nghĩa “Done” cho Scrum Team được dùng để đánh giá khi nào công việc trên mỗi Sprint Backlog thực sự hoàn thành.

Định nghĩa “Done” nâng cao tính minh bạch của các increment.

Khi nhiều Development Team đang làm việc trên cùng một sản phẩm, họ phải có cùng một định nghĩa về “Done”.

Trong mỗi kỳ Sprint Retrospective, Scrum Team có thể thực hiện các thay đổi về Định nghĩa “Done” nếu cần.