Cập nhật lần cuối vào 26/09/2023 bởi Phạm Mạnh Cường
Quản lý dự án Agile có thể tăng tính linh hoạt và năng suất của dự án đã được chứng minh trong nhiều ngành chứ không chỉ trong phát triển phần mềm. Velocity chart và velocity trong Agile đóng vai trò quan trọng khi nói về quản lý dự án phần mềm. Có rất nhiều công cụ được các tổ chức lớn sử dụng để đảm bảo rằng sprint của họ thành công.
Velocity trong Scrum là gì?
Velocity trong Scrum là thước đo tiến độ công việc của nhóm Scrum và cho biết có bao nhiêu hạng mục sản phẩm đã hoàn thành trong mỗi lần Sprint.
Nó được sử dụng để dự đoán thời gian tồn đọng của sản phẩm và ước tính công việc cần làm trong mỗi lần Sprint. Velocity không phải là thước đo năng suất và không nên so sánh giữa các đội.
Mục đích của nó là dự đoán dòng thời gian tồn đọng của sản phẩm và nhóm có thể cải thiện nó để mang lại giá trị sản phẩm lớn hơn. Công việc được đo bằng User Story Points và trọng số điểm là chủ quan của từng đội. Thời lượng Sprint được quyết định bởi nhóm dự án dựa trên quy mô và độ phức tạp của yêu cầu kinh doanh.
Ví dụ về Velocity trong Scrum
Nhóm phát triển đã lên kế hoạch hoàn thành 3 user story P, Q và R trong một sprint cụ thể. User story point của P, Q, R lần lượt là 6, 5, 4.
Vào ngày cuối cùng, user story Q đã hoàn thành 85%, trong khi P và R hoàn thành 100% và được đánh dấu là hoàn thành.
- Trong khi đo tổng số story point, nhóm sẽ chỉ xem xét những story point đã hoàn thành 100% khi tính toán velocity.
- Vì vậy, ở đây nhóm sẽ chỉ xem xét các story point của P và R khi chúng được hoàn thành, trong khi Q sẽ không được xem xét và chuyển sang sprint tiếp theo.
- Tổng P và R cho chúng ta 6 + 4 = 10 điểm, đây sẽ là velocity của một sprint.
Sử dụng phép tính này, chúng ta có thể đánh giá cần phải có bao nhiêu sprint lần nữa để hoàn thành công việc đã cho.
3 story cần hoàn thành P, Q và R.
Story point
P = 6
Q = 5
R = 4
Tỷ lệ hoàn thành
P = 100% (Được đánh dấu là đã hoàn thành)
Q = 85%
R = 100% (Được đánh dấu là đã hoàn thành)
Velocity của một Sprint = Tổng số story point của các user story đã hoàn thành
= (P+R)
= (6 + 4)
= 10
Giả sử có 40 story point khác cần hoàn thành và tốc độ vẫn giữ nguyên, khi đó chúng ta có thể dễ dàng tính toán rằng cùng một nhóm sẽ cần 40/10 = 4 sprint để hoàn thành công việc nhất định.
Velocity chart trong Agile là gì?
Velocity chart là biểu đồ biểu diễn trục tung (trục Y) là số story point và trục hoành (trục X) là các sprint.
Bằng cách sử dụng biểu đồ velocity, bạn có thể dễ dàng theo dõi thước đo nỗ lực đã được chuyển thành mức tăng trong mỗi lần chạy sprint.
Do đó, nó cũng sẽ cho phép nhóm đánh giá mức độ nỗ lực cần thiết để hoàn thành các lần chạy sprint trong tương lai.
Một nhóm đã hoàn thành nhiều lần lặp lại khác nhau sẽ có thể dự báo việc phát hành sản phẩm kinh doanh và có thể thu thập thông tin để lập kế hoạch cho các dự án sắp tới với các mốc thời gian chính xác.
Cách đọc hiểu Velocity chart
Bây giờ, hãy đọc biểu đồ velocity với sự trợ giúp của một ví dụ.
Duration | |
Sprint 1 | 38 |
Sprint 2 | 28 |
Sprint 3 | 38 |
Sprint 4 | 39 |
1. Trong biểu đồ, chúng ta có thể thấy rằng 38 story point đã được hoàn thành trong sprint 1 cũng như trong sprint 3, 28 story point đã được hoàn thành trong sprint 2 và 39 điểm trong sprint 4.
2. Như chúng ta đã biết rằng các story point đã được hoàn thành 100% và được đánh dấu là “Xong” chỉ có thể được xem xét khi tính toán velocity. Và ngay cả khi 99 % công việc đã được hoàn thành và chỉ còn 1 % còn lại phải hoàn thành, thì story point đó cũng sẽ được chuyển sang lần chạy sprint tiếp theo.
3. Chúng ta hãy tính story point trung bình cũng sẽ là velocity của nhóm scrum
story point trung bình = ( 38 + 28 + 38 + 39 )/4 = 36
velocity trung bình của nhóm scrum = 36
4. Bây giờ, vì chúng ta đã tính toán velocity trung bình nên việc đánh giá thời gian cần thiết để hoàn thành bản phát hành kinh doanh cuối cùng trở nên rất dễ dàng.
Làm thế nào để đo lường velocity
Dưới đây là các bước để ước tính velocity:
Ghi lại tổng số story point đã hoàn thành trong 3 đến 5 lần chạy sprint vừa qua.
Chỉ xem xét những story point đã hoàn thành 100% và được đánh dấu là “Xong” chứ không phải tất cả các story point đã được lên kế hoạch trong giai đoạn sprint.
Lấy điểm trung bình của câu chuyện.
story point trung bình này là tốc độ của nhóm scrum.
Ví dụ:
Nếu đội hoàn thành story thì điểm trong 3 sprint vừa qua là 28, 32 và 30.
story point trung bình = (28 + 32 +30)/3 = 90/3 = 30
Như vậy, velocity của đội scrum là 30.
Với sự trợ giúp của velocity, việc tính toán nhóm sẽ mất bao lâu để hoàn thành việc phát hành sản phẩm cuối cùng trở nên rất dễ dàng.
Các lợi ích và hạn chế của Agile Velocity chart
Lợi ích của Agile Velocity chart
- Ước tính thời gian để hoàn thành công việc được thực hiện một cách hiệu quả: velocity Scrum giúp ước tính xem sẽ mất bao lâu để hoàn thành toàn bộ hạng mục tồn đọng của sản phẩm cho nhóm scrum.
- Lộ trình cho một lần chạy sprint: Scrum Velocity giúp chủ sở hữu sản phẩm lập kế hoạch lộ trình/kế hoạch phát hành cho một lần chạy sprint.
- Giúp hiểu được giới hạn của các thành viên trong nhóm: Giúp nhóm hiểu được giới hạn của họ trong khi xác định phạm vi mà nhóm có thể cam kết cho một lần chạy sprint.
- Tránh cam kết quá mức hoặc dưới mức cam kết của lần chạy sprint: velocity có thể được sử dụng làm tài liệu tham khảo trong kế hoạch chạy sprint, để tránh việc nhóm cam kết quá mức hoặc dưới mức cam kết về mục tiêu chạy sprint.
- Xác định số lần lặp để hoàn thành công việc: Tính toán velocity sẽ giúp nhóm scrum xác định số lần lặp cần thiết để hoàn thành công việc nhất định trong một sprint cụ thể. Điều này cũng sẽ cho chúng ta ước tính về năng lực cũng như khả năng của các nhà phát triển trong nhóm.
- Xác định các vấn đề sớm hơn: Chúng tôi sẽ có thể tìm thấy bất kỳ vấn đề nào mà nhóm scrum đang gặp phải đang cản trở tiến trình của họ. Xác định các vấn đề của họ ở giai đoạn đầu sẽ giúp các đồng đội giải quyết vấn đề đó và đảm bảo nó không cản trở tiến trình.
Hạn chế của Agile Velocity chart
- Biến động velocity do nhiều yếu tố: Nếu có bất kỳ thay đổi nào về phạm vi, yêu cầu hoặc số lượng nhà phát triển thì việc tính toán velocity sẽ bị ảnh hưởng.
- Không thể so sánh velocity giữa các nhóm: Không thể so sánh velocity của các nhóm khác nhau làm việc trên các dự án khác nhau, vì nó phụ thuộc vào thời gian chạy sprint cũng như quy mô của dự án.
Các thách thức khi đo lường Agile Velocity
- Độ dài sprint: Nhóm Scrum được thấy đang gặp khó khăn với thời lượng sprint, điều này là do tiến độ chậm từ phía nhà phát triển hoặc một số sai lầm trong việc tính toán thời lượng chạy sprint hoặc một số vấn đề không xác định trong nhóm.
- Lỗi khẩn cấp: Nếu một số lỗi khẩn cấp xuất hiện cản trở hoạt động bình thường của sản phẩm thì lỗi đó cần được nhà phát triển giải quyết ở mức độ ưu tiên cao hơn trong thời gian chạy sprint, điều này khiến họ có ít thời gian hơn để hoàn thành câu chuyện của người dùng được giao cho họ, dẫn đến vấn đề trong việc ước lượng velocity.
- Thay đổi số lượng thành viên trong nhóm: Trong trường hợp có tài nguyên mới gia nhập nhóm hoặc tài nguyên cũ rời đi thì tốc độ tính toán sẽ dao động.
- Thay đổi đột ngột về yêu cầu: Trong trường hợp có sự thay đổi đột ngột về phạm vi hoặc yêu cầu phát hành sản phẩm, tốc độ sẽ bị ảnh hưởng.
- Không có Product Owner: Nếu chủ sở hữu sản phẩm không tích cực tham gia vào hoạt động nhóm và đưa ra ý kiến đóng góp của mình đúng cách thì nhóm sẽ không thể tiến hành phát hành theo cách thích hợp.
Cách vẽ Velocity chart bằng Jira
Bước 1: Để tạo báo cáo Velocity Chart của Report Builder , trước tiên hãy điều hướng đến Reports gallery (Create report tab). Thay đổi chế độ xem, chọn bộ lọc “SCRUM” và chọn báo cáo tương ứng.
Bước 2: Nhấp vào thẻ báo cáo để mở báo cáo Velocity Chart. Sau đó, bạn sẽ thấy chế độ xem này cho bạn biết cách chọn tham số của riêng mình.
Bước 3 : Chọn một số dự án trong bảng chọn dự án mà bạn muốn lấy dữ liệu. Sau đó xác định số lần chạy nước rút đã đóng liên quan đến dự án đã chọn. Ngoài ra, bạn có thể chọn các tùy chọn này (hộp kiểm):
- Display all closed sprints: Hiển thị tất cả các lần chạy nước rút đã đóng
- Show table with completed sprints: Hiển thị bảng với các lần chạy nước rút đã hoàn thành
- Show description: Hiển thị mô tả
Hãy chú ý rằng để sử dụng các giá trị từ “Last closed sprints to display””, bạn cần bỏ chọn hộp kiểm “Display all closed sprints”. Nếu nó được chọn thì giá trị từ “Last closed sprints to display” sẽ bị bỏ qua.
Bước 4: Nhấp vào nút “Refresh” có khung màu đỏ để cập nhật trang và hiển thị kết quả theo thông số bạn đã chọn.
Bước 5: Trong ví dụ của chúng tôi, bạn sẽ thấy một biểu đồ có kết quả mô tả ngắn gọn về Velocity Chart, tất cả các lần chạy nước rút đã đóng của các dự án Scrum và bảng với các lần chạy nước rút đã hoàn thành.
Hãy chú ý đến các thanh biểu đồ:
- Thanh màu xám cho biết khối lượng công việc trong sprint khi nó bắt đầu (Đã cam kết/Committed)
- Thanh màu xanh lá cây biểu thị lượng công việc thực sự được thực hiện trong thời gian chạy nước rút (Đã hoàn thành/Completed)
- Đường màu đen là khối lượng công việc trung bình trong tất cả các lần chạy nước rút được hiển thị (Trung bình/Average)
Di chuột qua thanh, bạn có thể thấy tên sprint, dữ liệu đã cam kết và đã hoàn thành tính theo giờ.
Bước 6: Ngoài ra, bạn chỉ có thể xác định các lần chạy nước rút đã đóng cuối cùng sẽ hiển thị mà không cần bảng các lần chạy nước rút đã hoàn thành và mô tả báo cáo. Để thực hiện việc này, hãy bỏ chọn tất cả các hộp kiểm và nhấp vào nút “ Refresh” . Biểu đồ sẽ hiển thị kết quả theo thông số đã chọn.
Vì vậy, bây giờ, bạn có thể lưu báo cáo này bằng cách nhấp vào nút “Add to My reports”.
Bước 7: Báo cáo Velocity Chart là báo cáo theo kịch bản từ Report Builder. Điều này có nghĩa là bạn có thể chỉnh sửa báo cáo bằng HTML và JavaScript sau khi lưu báo cáo lần đầu tiên. Ví dụ: tại đây, bạn có thể xem cách bạn có thể tùy chỉnh mã một cách độc lập.
Tham khảo nguồn: https://www.geeksforgeeks.org/velocity-chart-agile-scrum/