1. Agile là gì?
Agile là một phương pháp quản lý dự án và phát triển sản phẩm dựa trên nguyên tắc linh hoạt, thích nghi nhanh với sự thay đổi và tập trung vào việc mang lại giá trị thực tế cho khách hàng.
Thay vì xây dựng toàn bộ sản phẩm trong nhiều tháng hoặc nhiều năm rồi mới bàn giao, Agile chia dự án thành nhiều giai đoạn nhỏ, mỗi giai đoạn đều tạo ra một phần giá trị có thể kiểm tra, đánh giá và cải tiến ngay lập tức.
2. Agile ra đời vì sao?
- Trước đây, rất nhiều công ty áp dụng mô hình Waterfall (mô hình thác nước) trong phát triển phần mềm.
- Quy trình thường diễn ra như sau:
- Phân tích yêu cầu
- Thiết kế hệ thống
- Lập trình
- Kiểm thử
- Bàn giao sản phẩm
- Mỗi bước phải hoàn thành hoàn toàn mới chuyển sang bước tiếp theo.
- Vấn đề là:
Sau 6 tháng hoặc 1 năm phát triển, khách hàng mới nhìn thấy sản phẩm thật và thường phát hiện rằng: “Đây không phải thứ chúng tôi cần.” Khi đó, chi phí sửa đổi cực kỳ lớn. Agile ra đời để giải quyết chính vấn đề này. Thay vì chờ quá lâu, khách hàng sẽ được tham gia phản hồi liên tục trong suốt quá trình phát triển.
2. 4 giá trị cốt lõi của Agile
Agile được xây dựng dựa trên 4 giá trị nổi tiếng trong Agile Manifesto:
- Con người và sự tương tác quan trọng hơn quy trình và công cụ
Giao tiếp hiệu quả giữa các thành viên quan trọng hơn việc chỉ tuân thủ máy móc quy trình.
- Phần mềm chạy được quan trọng hơn tài liệu đầy đủ
Tài liệu cần thiết, nhưng sản phẩm hoạt động thực tế mới là giá trị cốt lõi.
- Hợp tác với khách hàng quan trọng hơn đàm phán hợp đồng
Khách hàng cần được tham gia thường xuyên thay vì chỉ xuất hiện ở đầu và cuối dự án.
- Phản hồi với thay đổi quan trọng hơn việc bám sát kế hoạch
Trong thực tế, thay đổi là điều chắc chắn xảy ra. Agile giúp doanh nghiệp thích nghi thay vì chống lại sự thay đổi.
3. Scrum là gì?
- Scrum là một framework (khung làm việc) phổ biến nhất để triển khai Agile trong thực tế. Nói cách khác: Agile là tư duy, Scrum là cách thực hiện tư duy đó.
- Nếu Agile là triết lý sống lành mạnh, thì Scrum giống như thực đơn ăn uống và lịch tập cụ thể mỗi ngày. Scrum giúp đội ngũ làm việc theo từng chu kỳ ngắn, rõ ràng và có thể đo lường hiệu quả.
4. Scrum hoạt động như thế nào?
Scrum chia công việc thành các chu kỳ ngắn gọi là:
5. Sprint
- Thông thường kéo dài từ: 1 đến 4 tuần
- Trong mỗi Sprint, team sẽ tập trung hoàn thành một nhóm công việc cụ thể và tạo ra kết quả có thể sử dụng được.
Ví dụ:
- Hoàn thành chức năng đăng nhập
- Xây dựng trang quản lý đơn hàng
- Tích hợp thanh toán online
Sau mỗi Sprint, nhóm sẽ review kết quả và tiếp tục cải tiến cho Sprint tiếp theo.
6. 3 vai trò quan trọng trong Scrum
- Product Owner (PO):
+ Là người đại diện cho khách hàng và chịu trách nhiệm xác định: “Cái gì cần được làm trước?”
+ PO quản lý Product Backlog và ưu tiên công việc theo giá trị kinh doanh.
- Scrum Master:
+ Là người đảm bảo team hiểu đúng và áp dụng đúng Scrum.
+ Scrum Master không phải là sếp, mà giống như người hỗ trợ team làm việc hiệu quả hơn, gỡ khó khăn và cải thiện quy trình.
- Development Team:
Là đội ngũ trực tiếp xây dựng sản phẩm:
- Developer
- Tester
- Designer
- BA
- DevOps
- QA
Tất cả cùng chịu trách nhiệm cho kết quả cuối cùng.
- Các cuộc họp quen thuộc trong Scrum:
+ Daily Scrum
+ Cuộc họp ngắn mỗi ngày, thường chỉ 15 phút để trả lời:
- Hôm qua tôi đã làm gì?
- Hôm nay tôi sẽ làm gì?
- Tôi đang gặp khó khăn gì?
- Sprint Planning:
+ Lên kế hoạch cho Sprint mới:
+ Team sẽ chọn những công việc cần hoàn thành trong Sprint tiếp theo.
- Sprint Review: Trình bày kết quả đã hoàn thành cho khách hàng hoặc stakeholder.
- Sprint Retrospective:
Nhìn lại quá trình làm việc:
- Điều gì đang tốt?
- Điều gì cần cải thiện?
Đây là phần cực kỳ quan trọng giúp team trưởng thành hơn sau mỗi Sprint.
7. Vì sao công ty IT nào cũng nhắc tới Agile và Scrum?
- Giúp dự án linh hoạt hơn
+ Yêu cầu khách hàng thay đổi là chuyện bình thường.
+ Agile giúp team thích nghi nhanh thay vì “vỡ kế hoạch”.
- Giảm rủi ro dự án thất bại: Sản phẩm được kiểm tra liên tục nên lỗi sai được phát hiện sớm hơn rất nhiều.
- Tăng tốc độ ra sản phẩm
+ Doanh nghiệp không cần chờ 1 năm mới có kết quả.
+ Họ có thể ra mắt phiên bản đầu tiên nhanh hơn và cải tiến dần.
- Tăng sự minh bạch: Mọi người đều biết team đang làm gì, tiến độ ra sao và khó khăn nằm ở đâu.
- Cải thiện khả năng phối hợp: Developer, Tester, BA, Designer và khách hàng làm việc gần nhau hơn thay vì tách rời từng phòng ban.
.png)