Agile là tư duy / triết lý / mindset (cách nhìn, giá trị cốt lõi).
Scrum là một framework cụ thể (cách làm thực tế) để triển khai tư duy Agile.
Nói cách khác: Bạn không "làm Agile", bạn suy nghĩ và làm việc theo tinh thần Agile. Còn Scrum là một công thức cụ thể để áp dụng tinh thần đó vào thực tế.

Minh họa đơn giản bằng ẩn dụ
- Agile giống như triết lý sống "sống khỏe mạnh, ăn uống điều độ, tập thể dục thường xuyên".
- Scrum giống như một lịch trình cụ thể: "tập gym 5 buổi/tuần, ăn 40-40-20 protein-carb-fat, đo cân nặng mỗi thứ 6, review tiến độ mỗi cuối tháng".
Bạn có thể sống khỏe mà không theo Scrum (ví dụ theo lịch chạy bộ + ăn kiêng Low-carb, hoặc theo Kanban kiểu "ăn khi đói, tập khi rảnh"). Nhưng nếu bạn nói "tôi đang theo Scrum" thì mọi người sẽ hiểu bạn đang theo một công thức rất cụ thể (sprints, daily, retrospective…).
- Agile là một tập hợp các giá trị và nguyên tắc được mô tả trong Tuyên ngôn Agile (Agile Manifesto), tập trung vào việc phát triển phần mềm linh hoạt, đáp ứng nhanh chóng với thay đổi và hợp tác chặt chẽ với khách hàng.
Scrum: the 3-5-3 Rules
- 3 roles:
- Scrum Master
- Product Owner
- Development Team
- 5 events:
- Sprint Planning
- Daily Scrum
- Sprint Review
- Sprint Retrospective
- Sprint
- 3 artifacts:
- Product Backlog
- Sprint Backlog
- Increment
1. Roles (Accountabilities)

2. Events (all time-boxed)

3. Artifacts + Commitments

Scrum Values (the human side)
- Commitment: to the team and goals
- Focus: on the sprint goal.
- Openness: about work and progress.
- Respect: each team member.
- Courage: to do the right thing and raise difficult issues. Sau đây là ví dụ planing sprint cho 2 tuần có gì
Refinement (Product Backlog Refinement):
Là một hoạt động liên tục trong phương pháp Scrum nhằm chuẩn bị công việc cho các Sprint sắp tới.
Nó giống như việc đội ngũ dọn dẹp, sắp xếp và chuẩn bị nguyên liệu trước khi bắt đầu nấu một món ăn mới.
-
Mục đích chính của Refinement: Mục đích của Refinement là đảm bảo rằng Product Backlog (danh sách tất cả các tính năng, yêu cầu, và lỗi cần làm) luôn ở trạng thái tốt nhất:
- Làm rõ yêu cầu: Phân tích các User Story (câu chuyện người dùng) hoặc Item, thảo luận với Product Owner (Chủ sản phẩm) để hiểu rõ mục tiêu và tiêu chí hoàn thành.
- Phân tách công việc: Nếu một yêu cầu quá lớn, đội ngũ sẽ chia nó thành các phần nhỏ hơn, độc lập, có thể hoàn thành trong một Sprint.
- Ước lượng công sức: Đội ngũ kỹ thuật đưa ra ước tính về độ phức tạp và thời gian cần thiết (thường dùng Story Points) để hoàn thành từng Item.
- Sắp xếp thứ tự: Product Owner xác nhận lại thứ tự ưu tiên của các Item dựa trên giá trị kinh doanh.
-
Tiêu chí quan trọng nhất Mục tiêu cuối cùng của Refinement là đảm bảo các Item ở top của Backlog đã đạt tiêu chí "Definition of Ready" (DOR). Tức là, một Item sẵn sàng để được đưa vào Sprint tiếp theo cần phải:
- Đã được làm rõ.
- Đã được ước tính công sức.
- Đã được sắp xếp ưu tiên.
Sprint Planning
Trong bản hướng dẫn Scrum (Scrum Guide) chính thức, chỉ có một sự kiện gọi là Sprint Planning kéo dài tối đa 8 giờ cho Sprint dài 4 tuần. Tuy nhiên, theo truyền thống, sự kiện này thường được chia thành hai nửa (P1 và P2) để tập trung tốt hơn.
-
Planing 1 (What): Đây là giai đoạn tập trung vào việc "Chúng ta sẽ làm gì?",
- Product Owner sẽ nói về những tính năng nào cần làm, cần hoàn thành, và độ ưu tiên trong sprint đã được Refinement, giải thích về business.
- Development Team thảo luận và thương lượng với Product Owner để xác định Mục tiêu Sprint (Sprint Goal) mà họ cam kết đạt được.
- Sau khi đạt được thỏa thuận, nhóm kéo các Item đã chọn vào Sprint Backlog.
-
Planing 2 (How): Đây là giai đoạn tập trung vào việc "Làm thế nào để hoàn thành?".
- Product Owner thường không cần tham gia nhiều, trừ khi có câu hỏi cần làm rõ.
- Development Team tự thảo luận: phân tích, tạo tasks, estimation tasks, vote points cho độ phức tạp của taks, Task sẽ được làm như thế nào.
-
Code, unit tests, cross code review, convention code, ... tùy vào từng team mà áp dụng.
-
Thứ tự ưu tiên của tasks sẽ được dán từ trên xuông dười, tập trung hoàn thành từng story một, không nên làm, mở quá nhiều story mà cái nào cũng không xong.
Reference:
- https://www.scrum.org/resources/blog/evolution-development-team
- https://agilemanifesto.org/