Scrum là gì?

Scrum là 1 mô hình con của mô hình phát triển agile. Nó là 1 lightweight process framework cho quy trình phát triển phần mềm agile và là 1 trong các mô hình được sử dụng nhiều nhất.
Scrum là một mô hình quản lý và kiểm soát chia cắt độ phức tạp để tập trung vào việc xây dựng phần mềm đáp ứng nhu cầu kinh doanh. Scrum làm tăng đáng kể năng suất và giảm thời gian hơn so với các mô hình cổ điển như "waterfall". Mô hình Scrum cho phép các tổ chức điều chỉnh trơn tru, nhanh chóng thay đổi các yêu cầu, và sản xuất để đáp ứng phát triển mục tiêu kinh doanh.
Scrum đã rút ngắn lịch trình của chu kỳ phát hành bằng việc điều chỉnh scope gọi là các sprints. Mỗi phiên bản có thể có nhiều sprints Mỗi dự án Scrum có thể có nhiều chu kỳ phát hành (Release Cycles):
Là 1 trình tự lặp đi lặp lại các cuộc họp, sự kiện và milestones.
Là 1 quá trình testing và cài đặt các yêu cầu mới, như là stories, để đảm bảo răng có 1 số công việc được release sau mỗi each sprint.
Scrum được dựa trên 3 yếu tố sau:

1.Vai trò trong Scrum:
Có ba vai trò chính trong Scrum - Product Owner, Scrum Master và Development Team.

2.Scrum Artifacts

Quy trình scrum bao gồm:
User stories: là lời giải thích ngắn gọn của chức năng cần được test.
Product Backlog: là tập hợp các User stories, được quản lý và đánh giá độ ưu tiên bởi product owner. Tất cả các thành viên khác đều có thể add thêm vào nó dưới sự kiểm soát của product owner.
Release Backlog: là thời gian được đưa ra để quyết định ngày release sản phẩm.
Sprints: là khoảng thời gian hoàn thành user stories. Nó được quyết định bởi product owner và developer team, thông thường từ 2-4 tuần.
Sprint Backlog: Đó là một tập hợp các user stories được hoàn thành trong 1 sprint.
Block List: Đây là một danh sách các block và các quyết định thuộc sở hữu của scrum master và được cập nhật hàng ngày.
Burndown chart: Burn-down chart đại diện cho tiến độ chung của các tiến trình và công việc được hoàn thành trong suốt quá trình.

3.Ceremonies (Processes) in Scrum

Sprint Planning: 1 sprint bắt đầu với từ release backlog trong sprint backlog. Nó được tổ chức bởi scrum master. Testers ước lượng nỗ lực để test vài stories trong the Sprint Backlog.
Daily Scrum: Nó được tổ chức bởi scrum master, kéo dài khoảng 15 phút. Trong lúc Daily scrum, các thành viên sẽ thảo luận về các công việc hoàn thành trong ngày hôm trước, công việc và kế hoạch của ngày hôm nay và hôm sau, các vấn đề gặp phải trong các sprints. Tiến độ công việc cũng được theo dõi.
Sprint Review/ Retrospective: Nó được tổ chức bởi scrum master, nó kéo dài khoảng 2-4 giờ và thảo luận về những gì team đã hoàn thành trong các sprint và những bài học rút ra.

4.Vai trò của Tester tong scrum

Trong scrum không có role cho tester, testing được thực hiện bởi developer với unit test. Product owner cũng thường xuyên tham gia vào quá trình testing trong các sprints. Một số dự án Scrum làm đã dành riêng các đội tester tùy theo tính chất và độ phức tạp của dự án.

5.Testing activities in scrum

** Sprint planning **
Trong sprint planning, tester nên chọn user-story theo product backlog để test.
Quyết định bao nhiêu giờ cần để thực hiện test cho mỗi user-story đã chọn
Cần xác định mục tiêu của 1 sprint.
Xây dựng mức độ ưu tiên.
** Sprint**
Hỗ trợ developer unit test
Test user-story đã hoàn thành. Defect được log trên defect management tool, được ghi lại từng ngày. Defect sẽ được kiểm tra lại và phân tích trong lúc meeting và được test lại gay sau khi nó được sửa.
Tester tham gia vào các cuộc họp hàng ngày.
Tester có thể chuyển 1 vài item không thể hoàn thành được trong sprint này sang sprint tiếp theo.
Tester sẽ chịu trách nhieemmj cho automation scripts.
Review Continuous Integration (CI) và gửi kết quả cho các bên liên quan.
Thực thi test non-functional
Kết hợp với khách hàng và product owner để xác định mục tiêu đầu ra cho acceptance test.
Tại sprint cuối cùng, tester có thể UAT (acceptance testing) test
** Sprint Retrospective **
Tester sẽ tìm a những lỗi sai và những cái đúng trong từng sprints.
Tester có thể đưa ra các bài học kinh nghiệm cho các dự án tiếp theo
** Test Reporting**
Scrum test metrics reporting cung cấp số liệu của project cho các bên liên quan. Các số liệu để report được là các số liệu kế hoạch và tiến độ của từng team trong quá trình phát triển phần mềm.
Burn down chart: Mỗi ngày, Scrum master ghi lại sự ước tính công việc còn lại cho mỗi sprint. -> Burn down chart đươc update mỗi ngày.