Scrum là gì?
Scrum là một framework được sử dụng để tổ chức và quản lý quá trình phát triển sản phẩm, đặc biệt phổ biến trong phát triển phần mềm. Scrum giúp một team biến những nguyên tắc của Agile thành một cách làm việc cụ thể hơn. Nếu Agile là tư duy, thì Scrum có thể hiểu là một framework để team áp dụng tư duy đó vào công việc thực tế. Scrum không phải là một tool hay phần mềm. Scrum quy định cách team tổ chức công việc, cách lập kế hoạch, cách kiểm tra kết quả, cách nhận feedback và cách cải tiến sau mỗi giai đoạn. Điểm đặc trưng của Scrum là team làm việc theo những khoảng thời gian cố định gọi là Sprint. Trong mỗi Sprint, team lựa chọn một phần công việc có giá trị để thực hiện, sau đó tạo ra một Increment của sản phẩm.
Các thành phần chính của Scrum
Scrum có nhiều khái niệm, nhưng có thể tập trung vào ba nhóm chính:
- Scrum Team – những người tham gia và chịu trách nhiệm tạo ra sản phẩm.
- Scrum Events – các hoạt động và sự kiện được tổ chức trong Scrum.
- Scrum Artifacts – những thành phần chứa thông tin quan trọng về sản phẩm và công việc.
Scrum Team
Một Scrum Team gồm ba accountability chính là Product Owner, Scrum Master và Developers.
Product Owner
Product Owner là người chịu trách nhiệm tối đa hóa giá trị của sản phẩm và quản lý Product Backlog.
Product Owner cần hiểu nhu cầu của khách hàng, người dùng và business để xác định những gì team nên ưu tiên thực hiện.
Ví dụ, nếu team đang xây dựng một ứng dụng bán hàng thì Product Owner có thể phải quyết định:
- Tính năng nào quan trọng hơn?
- Nên làm thanh toán trước hay voucher?
- Người dùng đang gặp vấn đề gì?
- Feature nào tạo ra nhiều giá trị hơn?
Product Owner không đơn giản chỉ là người “giao task cho developer”. Vai trò quan trọng hơn là định hướng sản phẩm và ưu tiên giá trị cần tạo ra.
Scrum Master
Scrum Master là người giúp team hiểu và áp dụng Scrum đúng cách, đồng thời hỗ trợ loại bỏ những trở ngại đang ảnh hưởng đến team.
Scrum Master không phải là “sếp của developer” và cũng không phải Project Manager theo nghĩa truyền thống.
Họ có thể hỗ trợ team trong những vấn đề như:
- Team chưa hiểu cách làm Scrum.
- Các cuộc Scrum Event không hiệu quả.
- Có trở ngại khiến team không thể hoàn thành công việc.
- Team cần cải thiện cách phối hợp.
- Giúp tổ chức hiểu và áp dụng Scrum tốt hơn.
Có thể hiểu Scrum Master giống như người hỗ trợ team trở nên hiệu quả hơn trong môi trường Scrum.
Sprint là gì?
Sprint là khoảng thời gian cố định trong Scrum, trong đó team thực hiện công việc để tạo ra một Increment có giá trị.
Một Sprint có độ dài cố định và thường không thay đổi giữa các Sprint. Theo Scrum Guide, một Sprint có thời lượng tối đa một tháng.
Ví dụ team chọn Sprint kéo dài 2 tuần.
Trong 2 tuần đó, team sẽ:
- Xác định mục tiêu của Sprint.
- Chọn những công việc phù hợp.
- Phát triển sản phẩm.
- Kiểm tra kết quả.
- Nhận feedback.
- Nhìn lại cách làm việc.
Sau Sprint, team tiếp tục bước vào Sprint tiếp theo.
Điểm quan trọng là mỗi Sprint không đơn giản là “2 tuần để làm task”. Sprint cần có một Sprint Goal – mục tiêu mà team muốn đạt được trong Sprint đó.
Product Backlog
Product Backlog là danh sách những công việc và nhu cầu cần được thực hiện để cải thiện sản phẩm.
Các item trong Product Backlog có thể là:
- Feature mới.
- Bug.
- Cải tiến.
- Yêu cầu kỹ thuật.
- Công việc cần thiết để phát triển sản phẩm.
Ví dụ một Product Backlog có thể gồm:
Login
Register
Product Search
Shopping Cart
Payment
Order History
Voucher
Tuy nhiên, Product Backlog không phải một danh sách cố định từ đầu đến cuối dự án.
Nó có thể thay đổi và được sắp xếp lại liên tục dựa trên feedback, nhu cầu người dùng, tình hình business và những thông tin mới mà team học được.
Scrum vận hành như thế nào?
Có thể hiểu toàn bộ Scrum bằng một vòng lặp đơn giản:
Team có một Product Backlog chứa những nhu cầu của sản phẩm. Khi bắt đầu Sprint, team cùng nhau chọn những công việc phù hợp và xác định Sprint Goal. Trong Sprint, Developers thực hiện công việc và thường xuyên kiểm tra tiến độ thông qua Daily Scrum.
Khi Sprint kết thúc, team tạo ra một Increment và cùng stakeholder xem xét kết quả trong Sprint Review. Sau đó team nhìn lại cách làm việc trong Sprint Retrospective để tìm ra những điểm cần cải thiện.
Những thông tin thu được từ quá trình này tiếp tục ảnh hưởng đến Product Backlog và các Sprint tiếp theo.
Điều này tạo ra một vòng lặp:
Plan → Build → Inspect → Adapt




Khoá học lập trình game con rắn cho trẻ em




