Daily Scrum - Họp Đầu Giờ Hiệu Quả
"Learn from yesterday, live for today, hope for tomorrow. The important thing is not to stop questioning." – Albert Einstein."
Câu nói nổi tiếng của Albert Einstein là động lực giúp mình bật dậy mỗi sáng để bắt đầu học hỏi những điều mới mẻ và chia sẻ đam mê lập trình. Có đam mê là một chuyện nhưng điều quan trọng là chúng ta phải đi đúng hướng, một trong những việc đầu tiên mà bất kì ai cũng phải để ý đến nếu muốn tồn tại và phát triển trong một công ty/tổ chức nào đó chính là mô hình làm việc.Hiểu đơn giản đó là cách làm việc như thế nào để các thành viên đều happy, được chia sẻ quan điểm của mình, tháo gỡ những khó khăn đang mắc phải, chia sẻ trách nhiệm và chia sẻ lợi ích.v.v. cùng làm nên những giá trị lớn lao cho doanh nghiệp, tổ chức. Trong các dự án hiện nay, mô hình làm việc nổi tiếng với việc đem lại hiệu quả cao đó chính là Daily Scrum
Tất tần tật về Daily Scrum
Alright! Bây giờ chúng ta sẽ quay lại chủ đề chính ngày hôm nay, họp mặt đầu giờ trong mô hình Scrum - Daily Scrum. Không phải tự nhiên mình nhắc đến câu nói nổi tiếng trên của Einstein, lí do chính là vì nó gói gọn tất cả những gì bạn cần làm trong Daily Scrum với các câu hỏi: Ngày hôm qua bạn đã làm được gì? Hôm nay bạn định làm gì? Ngày mai dự định của bạn là gì?
Đây là tất cả những gì chúng ta sẽ tìm hiểu về Daily Scrum.
- Daily Scrum là gì?
- Tại sao Daily Scrum Standup lại quan trọng? (tạm gọi là kiểu họp đứng đầu giờ thay vì ngồi họp )
- Các câu hỏi, định dạng & lịch trình. (questions, format, agenda)
- Thời gian (Time-box) vai trò và người tham gia.
- Mẹo (cách để làm việc với đội nhóm hiệu quả)
1. Daily Scrum là gì?
Daily Scrum được định nghĩa là khoảng thời gian 15' đầu giờ để họp giữa các thành viên của đội ngũ phát triển được tổ chức trong những ngày chạy nước rút (Sprint) để kiểm tra những gì đã thực hiện được và lập ra một kế hoạch trong 24 giờ tới. Cuộc họp hàng ngày (Daily Scrum meeting) hay thường được gọi là cuộc học thường trực hàng ngày (Daily Standup) là nghi thức chính của mô hình Scrum, cùng với lên kế hoạch nước rút (Sprint Planning), đánh giá nước rút (Sprint Review), hồi cứu nước rút (Sprint Retrospective). Daily Standup thường được tôt chức vào đầu giờ sáng mỗi ngày để kiểm tra các Sprint trong giai đoạn phát triển và tháo gỡ các rào cản.
2. Tại sao Daily Scrum Standup quan trọng?
Daily stand được sử dùng với mục đích đồng bộ cách thức làm việc của một đội nhóm trên nhiều phương diện, kiểm tra tiến độ tồn đọng của Sprint, gỡ bỏ rào cản và lên kế hoạch để giải quyết các nhiệm vụ (Tasks) trong ngày. Daily Scrum không chỉ điều chỉnh team của bạn hướng đến Sprint mà còn khuyến khích các thành viên tự đưa ra các cam kết về cái mà họ sẽ cung cấp trong 24 giờ tiếp theo.
Lợi ích của Daily Scrum:
- Dễ dàng chia sẻ kiến thức giữa các thành viên trong nhóm, chuyển giao kiến thức.
- Cải thiện tinh thần đồng đội và tinh thần trách nhiệm chung.
- Càng duy trì các thành viên càng có kinh nghiệm và làm việc này một cách hiệu quả hơn.
- Tìm rào cản.
- Đưa ra những quyết định nhanh hơn.
3. Các câu hỏi, định dạng & lịch trình.
Có rất nhiều các khác nhau để thực hiện Daily Scrum, và mỗi nhóm có một phong cách riêng để tổ chức nó. Mình sẽ chia sẻ một phương thức phổ biến nhất để tổ chức một cuộc họp đầu giờ để bạn có thể điều chỉnh chúng theo nhóm và cách làm việc của bạn. Đó là:
“Round Robin”
Round Robin là một trong những cách thực hiện Daily Scrum trong đó mỗi thành viên trong team sẽ trả lời 3 câu hỏi quan trọng. Đây là cách chính mà chúng mình hay dùng. Chúng mình thường dành 15 phút, trong đó mỗi thành viên trong nhóm sẽ chỉ định những gì họ đã hoàn thành hôm qua và hôm nay để mọi người có thể thấy được sự tiến bộ của đồng đội:
Câu 1: Hôm qua bạn đã đạt được những gì?
Về câu hỏi này, thành viên nhóm Phát triển nên tóm tắt công việc anh ấy / cô ấy đã làm ngày hôm qua mà không đi sâu vào nhiều chi tiết kỹ thuật.
Ví dụ:
- Sơn (Scrum Master): Hey Tiến, tôi muốn tìm hiểu xem ông đã đi được bao xa trong các nhiệm vụ được giao?
- Tiến (Front-end Dev): Tôi đã lấy dữ liệu từ database và hiển thị chúng ở chế độ xem danh sách. Sau đó, tôi tiếp tục code FE để nó trông giống như trong các thiết kế của designer.
Câu 2: Bạn dự định làm gì hôm nay?
Câu trả lời là giải thích ngắn gọn những gì bạn sẽ làm trong công việc hôm nay và đưa ra một kế hoạch 24 giờ đơn giản mà mọi người đều có thể hiểu được
Ví dụ:
- Sơn (Scrum Master): Nghe hay đấy! Vậy những công việc trọng tâm trong ngày hôm nay là gì?
- Tiến (Frontend Developer): Tôi nghĩ rằng tôi sẽ hoàn thành việc thiết kế các box item trong danh sách, chia các component sau này dùng lại và sau đó sẽ tiến hành xử lý các sự kiện nhấp chuột của các "button" để gán các hành động theo ý người dùng.
Câu 3: Có bất kỳ cản trở nào trong hướng đi mà Tôi đưa ra (Tôi ở đây là scrum master) ? Hoặc bạn có gặp bất kỳ khó khăn gì không?
Câu hỏi thứ ba (và theo ý kiến của mình, câu hỏi quan trọng nhất) là hỏi nhà phát triển xem có bất kỳ khó khăn hay cản trở nào mà mà sẽ ngăn các thành viên trong nhóm thực hiện trong kế hoạch của họ không.
Ví dụ:
- Sơn (Scrum Master): Ok, Tiến, nghe có vẻ như một kế hoạch tuyệt vời ông mặt trời! có bất kỳ khó khăn nào không ông, cứ nói đi đừng ngại?
- Tiến (Frontend Developer): Tôi đang lo ngại load một lúc toàn bộ email trong inbox của dự án sẽ làm chậm tốc độ tải trang.
- Sơn (Scrum Master): Đã hiểu, chúng ta sẽ cùng thảo luận về việc này để tìm ra giải pháp vào cuối buổi hôm này nhé.
* Ngoài ra còn một phương pháp phổ biến nữa là: “Walking the board”
Với các bước như sau:
- Kiểm tra cái gì có thể phát hành (release).
- Kiểm tra những phần nào đã được thực hiện.
- Thực hiện những gì có thể thực hiện.
- Phân công thêm nhiệm vụ cho thành viên nào cần.
Về phương pháp này mình sẽ không đi sâu nên các bạn có thể tìm hiểu nếu muốn. Hãy kiểm tra xem phương pháp nào là phù hợp với đội ngũ của bạn nhất và đưa quyết định.
4. Thời gian (Time-box), vai trò và người tham gia.
Không có cách nào đúng hay sai để làm Daily Scrum. Bạn cần thử nghiệm, thực hành và tìm ra những gì phù hợp nhất với bạn. Đó là điều mà mình đang nói đến. Mình sẽ chia sẻ với bạn những điều thực tiễn tốt nhất đã được chấp nhận và phổ biến nhất để bạn có cơ sở vững chắc cho những thử nghiệm đầu tiên của mình.
* Thời gian và thời lượng.
Khi nào bạn nên bắt đầu?
Bạn nên làm điều đó trước tiên vào buổi sáng khi tất cả những người tham gia đều có mặt vì theo cách này, bạn và nhóm của bạn sẽ có một tầm nhìn rõ ràng về những gì phải làm trong ngày và các rào cản sẽ được loại bỏ sớm để nhóm phát triển của bạn có thể làm việc một ngày hiệu quả, năng xuất.
Thời lượng cho một lần thực hiện Daily Scum là bao lâu?
Thời gian cho Daily Scrum không quá 10-15 phút tùy thuộc vào kích thước của nhóm. Tuy nhiên, cuộc họp có thể ngắn hơn nếu tất cả các thành viên trong nhóm có thể thông qua các vấn đề cần đưa ra mà không nhất thiết phải chú tâm đến mốc 15 phút.
Điều gì xảy ra nếu nhóm cần thảo luận chi tiết hơn?
Vì mục tiêu là thông qua các bản cập nhật của đội nhóm càng nhanh càng tốt, nếu có vấn đề hoặc các công rào cản được nêu ra cần phải thảo luận sâu hơn, thường thì các đội sẽ đưa thêm vào hạng mục "parking lot items" để thảo luận sau khi thực hiện hết một quá trình Daily Scrum. Những thành viên trong nhóm cần tham gia vào cuộc thảo luận sẽ ở lại sau khi kết thúc quá trình, do đó không chiếm hết thời gian chờ đợi của nhóm.
Những thành phần cá nhân tham gia.
- Team phát triển (bắt buộc)
- Scrum Master (khuyến nghị)
- Khách hàng - chủ sản phẩm (tùy chọn)
5. Tips cho Daily Scrum hiệu quả
Daily Scrum và Standup Meeting được tổ chức dưới nhiều hình thức khác nhau trong các đội khác nhau. Tuy nhiên, Mình sẽ chia sẻ với bạn các tips dựa trên kinh nghiệm của mình và những gì mình và team đã làm.
1, Duy trì "làm việc đó" mỗi ngày.
Lời khuyên đầu tiên và quan trọng nhất là bắt đầu thực hiện scrum hàng ngày với nhóm của bạn mỗi ngày trong suốt Sprint. Đây là nơi hầu hết các đội thất bại bởi vì họ làm điều đó một hoặc hai lần và sau đó bắt đầu bỏ bê nó. Mục tiêu ở đây là hình thành thói quen với nhóm của bạn và cũng nên nhớ rằng cho dù việc Standup meeting ngày của bạn không hiệu quả như thế nào thì lợi ích sẽ luôn vượt xa những tiêu cực. "Có làm thì mới có ăn các bạn nhé!"
2, "Làm việc đó đó" vào cùng thời điểm với tất cả các ngày, đồng thời hẹn nhắc nhở trên Calendar.
Thực hiện scrum hàng ngày vào cùng một thời điểm mỗi ngày sẽ giúp nhóm của bạn hình thành thói quen nhanh hơn và họ sẽ làm quen với nó nhanh hơn. Để thiết lập sự thành công của bạn, hãy tạo một sự kiện lịch định kỳ 15 phút với nhóm của bạn và cũng đặt đồng hồ báo thức trong văn phòng của bạn, đặt chính xác để "call team" một phút trước thời gian scrum hàng ngày.
3, "Làm việc đó" vào buổi sáng.
Nếu bạn có thể tập hợp toàn bộ đội nhóm vào buổi sáng, thì hãy thực hiện scrum hàng ngày sau đó. Càng sớm càng tốt. Có nhiều lý do cho điều đó: bạn sẽ loại bỏ những rào cản sớm, hiểu rõ ràng, bạn đã giành chiến thắng chờ đợi đồng đội trở lại sau bữa ăn trưa (ở cty mình làm có Happy Lunch) và danh sách cứ lặp đi lặp lại. Quan trọng nhất ở cái "sự lặp", khi người ta thành thạo một thứ gì đó như mình sẽ làm nó khoảng 100-1000 lần từ lúc là con rùa đến lúc làm như một Superman
4, Viết nháp những gì cần nói, ghi lại những ý chính về những việc cần làm ra một quyển note.
Mình từng đứng trước mặt Team để trình bày về thứ mình tự gọi là "siêu phẩm", mọi thứ đều Ok, tất cả các tính năng đã cam kết đều đầy đủ chỉ có cái "miệng" và "cái tay" mình là không ổn nên mọi thứ dối hết cả lên. Đồng nghiệp cười chê, Crush thất vọng... kể từ sau lần đó mình đã tập được thói quen ghi chú các "keyword" khi cần trình bày một vấn đề gì đó trước đội nhóm.
5, Di chuyển 1 vật nhỏ vừa tay để làm con trỏ cho các thành viên lần lượt phát biểu.
Hãy thử và cảm nhận.
Tạm kết
Alright! Vậy là chúng ta đã cùng tìm hiểu về Daily Scum nó rất quan trọng nếu như bạn muốn trở thành một lập trình viên chuyên nghiệp và bắt kịp thời đại. Nếu team bạn chưa áp dụng thì đừng ngần ngại hãy dùng thử ngay sau khi đọc bài viết này. Hiệu quả bất ngờ đó
Tài liệu tham khảo
https://www.atoha.com/blogs/kien-thuc/mot-so-cach-chay-daily-scrum-hieu-qua