Agile
Tập hợp giá trị và nguyên tắc trong Tuyên ngôn Agile 2001, ưu tiên phần mềm chạy được và phản hồi nhanh với thay đổi. Bản thân Agile là tư duy, còn Scrum hay Kanban là khung làm việc cụ thể.
Định nghĩa
Tháng 2 năm 2001, mười bảy người làm phần mềm ngồi lại ở một khu nghỉ tại Utah và viết ra một trang giấy: bốn câu, sau này gọi là Tuyên ngôn Agile, kèm mười hai nguyên tắc. Không có sprint, không có standup, không có story point trong đó. Toàn bộ những thứ bạn thấy ở công ty là do người ta xây thêm sau.
Agile là một bộ giá trị để chọn khi phải đánh đổi. Scrum, Kanban, XP là các cách hiện thực bộ giá trị đó.
Bốn giá trị
- Cá nhân và tương tác hơn quy trình và công cụ.
- Phần mềm chạy được hơn tài liệu đầy đủ.
- Cộng tác với khách hàng hơn đàm phán hợp đồng.
- Phản hồi với thay đổi hơn bám theo kế hoạch.
Câu quan trọng nhất nằm ngay dưới bốn dòng đó, và hay bị lờ đi: vế bên phải vẫn có giá trị, chỉ là vế bên trái được coi trọng hơn. Tài liệu vẫn cần. Ai dùng Tuyên ngôn để biện minh cho việc dự án chẳng có tài liệu nào là đang đọc thiếu một câu.
Mười hai nguyên tắc, vài cái đáng thuộc
Danh sách đầy đủ nằm ở agilemanifesto.org, đọc mất bốn phút. Vài nguyên tắc va vào công việc BA nhiều nhất:
- Bàn giao phần mềm có giá trị, sớm và liên tục.
- Chào đón thay đổi yêu cầu, kể cả muộn.
- Người làm nghiệp vụ và người phát triển làm việc cùng nhau hằng ngày.
- Phần mềm chạy được là thước đo tiến độ chính.
Nguyên tắc số 3 là thứ đo được nhất. Nếu người dùng nghiệp vụ của bạn xuất hiện đúng hai lần trong bốn tháng — lúc kick-off và lúc UAT — thì dự án đó chưa agile.
Agile, Scrum, Kanban khác nhau ra sao
| Agile | Scrum | Kanban | |
|---|---|---|---|
| Bản chất | Tư duy, bộ giá trị | Khung làm việc có luật | Phương pháp quản lý luồng việc |
| Có luật bắt buộc | Không | Có: 3 vai, 5 sự kiện, 3 tạo tác | Rất ít, chủ yếu là giới hạn WIP |
| Nhịp | Tuỳ | Sprint cố định | Luồng liên tục, không sprint |
| Hợp với | Mọi bối cảnh cần thích ứng | Sản phẩm có mục tiêu theo chu kỳ | Vận hành, bảo trì, việc đến bất chợt |
Câu "team mình làm Agile" gần như không mang thông tin. Câu có thông tin là "team mình chạy Scrum sprint hai tuần, PO là chị bên nghiệp vụ, DoD bắt buộc code review".
Agile giả, nói thẳng
Chuyện rất phổ biến ở công ty Việt Nam, cả outsourcing lẫn product. Vài dấu hiệu:
- Sprint hai tuần nhưng phạm vi và deadline cố định từ đầu năm. Thứ duy nhất co giãn được là giờ làm thêm của đội.
- Daily biến thành buổi báo cáo tiến độ cho quản lý. Ai cũng nói với sếp, không ai nói với nhau.
- Retro có làm, nhưng ba sprint liền không hành động nào được thực hiện. Đến sprint thứ tư không ai muốn mở miệng.
- Velocity được đem so giữa hai team, hoặc tệ hơn, đưa vào đánh giá cá nhân cuối năm.
- Vẫn phải ký duyệt một tài liệu 60 trang trước khi sprint 1 bắt đầu, và tài liệu đó cấm sửa.
Cái cuối cùng có tên riêng dân trong nghề hay dùng: water-scrum-fall. Đầu và cuối dự án chạy theo giai đoạn cứng vì hợp đồng và kiểm toán đòi vậy, chỉ khúc giữa chạy sprint. Ở dự án ngân hàng, đó thường là hình dạng khả thi duy nhất. Điều nên tránh là gọi nó bằng cái tên khác rồi ngạc nhiên khi mọi thứ vướng.
Ví dụ thực tế
Một đội làm sản phẩm quản lý phòng khám, 9 người, sprint hai tuần, có 30 phòng khám đang dùng.
Sprint 5 làm module nhắc lịch tái khám. Tuần đầu, đội cho hai phòng khám dùng thử bản nhắc qua tin nhắn. Tỷ lệ bệnh nhân quay lại đúng lịch tăng từ 41% lên 47%, thấp hơn kỳ vọng. Hỏi lại lễ tân thì ra nguyên nhân: bệnh nhân nhận tin nhắn nhưng phải gọi điện mới đặt được giờ, mà giờ trưa tổng đài bận.
Đội cắt phần lịch nhắc nâng cao đã định làm ở sprint 6, đổi sang nút đặt lịch ngay trong tin nhắn. Quyết định mất 20 phút trong buổi review, vì người quyết ngồi ngay trong phòng. Ở dự án theo hợp đồng giai đoạn, thay đổi đó tốn một CR và ba tuần chờ duyệt.
Câu hay bị hỏi phỏng vấn
- Agile khác Scrum chỗ nào. Trả lời an toàn: Agile là bộ giá trị, Scrum là một khung hiện thực nó, có luật cụ thể.
- Chào đón thay đổi nghĩa là khách đổi gì cũng chiều. Không. Thay đổi vẫn phải qua ưu tiên lại backlog và vẫn phải đánh đổi với thứ khác trong sprint.
- Agile thì khỏi cần tài liệu. Nhầm. Mức "vừa đủ" ở dự án core banking khác hẳn ở một app nội bộ 200 người dùng.
