Nói đến Agile thì ai cũng đã nghe qua, cũng đã biết nhưng rất ít người thật sự hiểu rõ và áp dụng đúng. Có rất nhiều Cty cũng apply Agile, cũng stand up meeting 15p, thấy giống giống Agile nhưng lại không có liên quan gì tới Agile. Vì không có planning, dev không có estimation tasks mà PO hay ai đó :)
- 1 sprint: thường là 2 tuần.
- Team size: ít nhất là 5 người (ít hơn thì ko nên có scrum master tốn mất 1 resource) , nhiều nhất là 10 người, tốt nhất chính là lấy bình quân, 7 người thì team hoạt động mới hiểu quả.
Sau đây là ví dụ planing sprint cho 2 tuần có gì
- Knowledge sharing (Optional) : chia sẽ về business, về tính năng, về kỹ thuật mà mình làm trong sprint, về project cho người nào chưa biết. Thường là vào khi kết thúc 1 sprint.
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.
-
Scrum Master: là người chịu trách nhiệm thiết lập nhóm, thiết lập cuộc họp trong các giai đoạn phát triển và loại bỏ các vật cản ảnh hưởng đến sự phát triển
-
Product Owner (PO): tạo ra backlog sản phẩm, đưa ra thứ tự ưu tiên cho backlog và chịu trách nhiệm cho việc phát hành các tính năng ở mỗi giai đoạn.
-
Daily meeting: không được quá 15p, đứng xung quanh bảng được dán tasks, cập nhật tình hình tasks với mọi người trong team, có khó khăn gì không, nếu có sẽ tạo meeting riêng để thảo luận vấn đề này vê team hoặc người làm trong story.
-
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/