9:30, cuộc gọi video mở ra và nghi thức nhỏ quen thuộc bắt đầu. Một người đọc lại hôm qua. Người khác đọc từ board. Ai đó nói "không blocker" trong khi gương mặt lại nói điều ngược lại. Meeting kết thúc đúng giờ, nghe có vẻ hiệu quả, nhưng không có gì thật sự đổi. Team đã báo cáo status, nhưng ngày làm việc không rõ hơn bao nhiêu.
Daily standup là một trong những ceremony quen thuộc nhất trong phần mềm, và có lẽ vì quá quen, team ngừng hỏi nó dùng để làm gì. Nó có thể thành vòng điểm danh hoạt động cá nhân: hôm qua tôi làm gì, hôm nay tôi làm gì, tôi có bị block không. Format đó không vô dụng, nhưng rất dễ biểu diễn. Người ta học cách nghe có vẻ bận. Board không học gì. Team cũng học được rất ít.
Một standup tốt hơn là cuộc nói chuyện chiến lược ngắn cho ngày làm việc tiếp theo. Không phải chiến lược theo nghĩa to tát, mà là rất thực tế: flow đang chậm ở đâu, rủi ro nào đang lớn lên, việc nào cần pair, điều gì nên ngừng bắt đầu, và quyết định nào sẽ làm hôm nay dễ hơn?
Sự dịch chuyển bắt đầu bằng việc nhìn vào work, không phải người. Thay vì yêu cầu từng người chứng minh hôm qua của mình, team có thể đi qua board từ phải sang trái. Việc nào gần done nhất? Việc nào kẹt ở review? Việc nào chờ clarification? Việc nào in progress quá lâu? Câu hỏi trở thành: làm sao giúp công việc đi tiếp an toàn?
Standup hữu ích cũng làm blocker trung thực hơn. Nhiều blocker không kịch tính. Chúng là những điều chưa chắc: API contract chưa confirm, test environment hành xử lạ, reviewer quá tải, edge case sản phẩm chưa ai muốn quyết. Nếu team chỉ xem blocker là "tôi không làm được gì", người ta sẽ giấu các rủi ro mềm này. Đến khi blocker được tuyên bố chính thức, nó đã tốn hai ngày.
Daily meeting cũng nên bảo vệ focus. Nếu năm task mới được mở trong khi ba task cũ gần xong, team có thể đang tạo chuyển động mà không tạo hoàn tất. Standup tốt nhẹ nhàng hỏi: hôm nay mình có thể finish gì trước khi start thêm? Ai cần giúp để close loop? Item nào nên chờ, dù nó thú vị?
Lead và manager cần cẩn thận. Nếu mọi update đều được đáp lại bằng phán xét, standup thành sân khấu biểu diễn. Nếu mọi blocker thành phiên giải quyết dài, meeting nặng và người ta bắt đầu né sự thật. Nhịp tốt là: gọi tên vấn đề, quyết định ai tiếp tục nói sau standup, rồi đi tiếp. Standup mở cửa. Nó không cần đi qua mọi cánh cửa.
Team remote cần chủ đích hơn nữa. Board link, working agreement rõ và ghi chú async ngắn có thể ngăn daily call trở thành nơi duy nhất chứa thông tin. Có team không cần live standup mỗi ngày. Nhưng team nào cũng cần một cách hằng ngày để inspect flow và điều chỉnh. Ceremony là tùy chọn. Feedback loop thì không.
Câu hỏi mình thích là: standup này đã thay đổi điều gì? Nếu câu trả lời là không gì trong nhiều ngày liền, team có thể đang báo cáo thay vì phối hợp. Standup hữu ích nên đổi ít nhất một điều nhỏ: ai pair với ai, item nào được review trước, rủi ro nào được escalate, việc nào chờ đến mai.
Standup không phải để chứng minh ai cũng bận. Hầu hết mọi người đã bận rồi. Nó là để giúp một nhóm người bận trở nên thẳng hàng hơn một chút trước khi ngày làm việc cuốn họ đi.
Mình muốn nghe team bạn giữ standup khỏi biến thành nghi thức status như thế nào, nhất là khi công việc bận và ai cũng muốn chỉ đọc danh sách của mình.