Các khái niệm quan trọng trong Agile, Scrum

I: Tổng quan về Agile và Scrum Agile là gì? là một phương pháp phát triển phần mềm linh hoạt, để làm sao đưa sản phẩm đến tay người dùng càng nhanh càng tốt, càng sớm càng tốt. Đặc trưng của Agile: Tính lặp, tính tiệm tiến và tiến hóa, tính thích ứng, nhóm tự tổ chức liên chức năng.

Scrum là gì? là một quy trình phát triển phần mềm theo phương pháp Agile, vì thế nó tuân thủ các nguyên tắc của Agile

Vòng đời của một quy trình sản xuất Scrum: Scrum là một khung làm việc cho phát triển sản phẩm với các nhóm liên chức năng làm việc theo cách thức lặp tăng trưởng, Quy trình phát triển được thực hiện thông qua các phân đoạn nối tiếp nhau được gọi là các sprint.

Kết thúc mỗi sprint nhóm phát triển sẽ đưa ra 1 phần tăng trưởng của sản phẩm. Mỗi sprint diễn ra trong vòng không quá 4 tuần được diễn ra liên tiếp mà không bị gián đoạn. 1 sprint này bắt đầu ngay sau khi 1 sprint khác kết thúc.

Mỗi sprint được đóng khung về thời gian, được xác định bởi 1 ngày xác định bất kể công việc đó được hoàn thành hay chưa.

  1. 3 chân lý của Scrum: Minh bạch: Hiển thị rõ ràng để giảm rủi ro, nâng cao chất lượng, tăng tin cậy, chính xác trong quyết định.

Thanh tra: thường xuyên tham gia các tạo tác và tiến độ để phát hiện điểm bất thường.

Thích nghi: Nếu 1 người thanh tra phát hiện rằng có vấn đề nào đó đang xảy ra và hậu quả của nó đối với sản phẩm là không thể chấp nhận được thì quy trình và tài liệu đang được xử lý phải được điều chỉnh. Sự điều chỉnh phải được tiến hành càng sớm càng tốt.

II: Tổ chức nhóm làm việc của Scrum Scrum master(SM): là người có hiểu biết sâu sắc về scrum, đảm bảo nhóm làm việc hiệu quả với scrum. Là người tháo gỡ các thắc mắc cho PO, dev, kiểm thử.

Product Owner (PO)/ chủ sản phẩm: là người chịu trách nhiệm về sự thành công của dự án. Là người biết rõ về tầm nhìn của sản phẩm. Là người chịu trách nhiệm quản lý và đảm bảo sự minh bạch của product backlog

Development team (đội sản xuất hay nhóm phát triển): Một nhóm liên chức năng tự quản lý để tiến hành chuyển đổi các yêu cầu được tổ chức trong Product Backlog thành chức năng của hệ thống. Đặc điểm của nhóm phát triển là: tự tổ chức và liên chức năng

III: Tạo sản phẩm chất lượng Product backlog: là nơi lưu trữ các danh sách mong muốn của sản phẩm, danh sách này được sắp xếp dựa theo độ ưu tiên của từng hạng mục. Độ ưu tiên cao sẽ được đặt lên đầu danh sách.

Product owner là người chịu trách nhiệm quản lý, bảo trì các product backlog bao gồm: xác định nội dung, đánh giá độ ưu tiên, sắp xếp các hạng mục, làm rõ và giữ cho các product backlog luôn được minh bạch.

  1. Sprint backlog: là bảng công việc được nhóm phát triển để quản lý quá trình sản xuất trong 1 sprint.

  2. Nội dung của Sprint backlog là: các hạng mục mà product backlog đã lựa chọn và danh sách các công việc cần thực hiện cho sprint.

    Sprint backlog do nhóm phát triển (Development team) sở hữu và vận hành

    Công cụ sử dụng sprint backlog: chủ yếu sử dụng Scrum board để biểu diễn các trạng thái của backlog.

  3. Phần tăng trưởng: là tên gọi ngắn của phần tăng trưởng sản phẩm có khả năng chuyển giao được. Là phần sản phẩm của nhóm phát triển tạo ra được của mỗi sprint.

Các đặc điểm của phần tăng trưởng:

Tính năng đạt được sau mỗi sprint là thật và sử dụng được chứ không phải là 1 bản thiết kế hay bản mẫu. VD: nếu là 1 phần mềm thì đó phải là 1 chức năng chạy tốt và người dùng tương tác được.

Phàn tăng trưởng cuối mỗi Sprint có khả năng chuyển giao được

Phải tuân thủ theo định nghĩa hoàn thành. VD: Định nghĩa hoàn thành được quy định mỗi tính năng cần phải được kiểm tra chéo, có độ phủ kiểm thử là 100%, có tài liệu hướng dẫn sử dụng.

  1. Định nghĩa hoàn thành: là một danh sách định nghĩa các quy định cần được thực hiện xong trước khi một hạng mục được công nhận đạt trạng thái có khả năng chuyển giao được.

IV: Vận hành quy trình hoạt động hiệu quả và chất lượng

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

Daily Scrum (Họp Scrum hàng ngày)

Sprint Review (Rà soát Sprint)

Sprint Retrospective (Cải tiến Sprint)

V: Những hiểu lầm trong Không cần lập kế hoạch:

Không được thay đổi Sprint backlog trong sprint:

Scrum master phải có mặt trong suốt buổi Scrum hằng ngày

Trong Scrum, các tính năng mới chỉ được chuyển giao ở cuối Sprint

Product backlog buộc phải có các User Story

Trong Scrum, product backlog được ưu tiên