Explore all courses in this category.
Explore all courses in this category.
Nguyễn Đình Cường
0 comment
09 Nov, 2026
'Mất bao lâu thì xong?' là câu hỏi khiến lập trình viên toát mồ hôi nhất. Ước lượng phần mềm khó vì có quá nhiều điều chưa biết. Bài này giúp bạn hiểu mục đích của việc ước lượng, cách dùng story point và planning poker, cùng những hiểu lầm thường gặp.
Phần mềm là công việc sáng tạo có nhiều ẩn số: yêu cầu thay đổi, công nghệ chưa quen, lỗi bất ngờ. Con người cũng có xu hướng lạc quan quá mức và quên cộng thời gian họp, review, sửa lỗi. Vì vậy ước lượng luôn là dự đoán, không phải cam kết. Mục tiêu không phải đoán đúng từng giờ mà là có đủ thông tin để lập kế hoạch và ra quyết định.
Con người rất kém khi nói 'việc này mất 7 giờ 20 phút', nhưng khá giỏi khi so sánh: 'việc này lớn gấp đôi việc kia'. Story point dựa trên ý tưởng đó: nó đo độ lớn tương đối của công việc, kết hợp khối lượng, độ phức tạp và mức độ không chắc chắn, chứ không phải số giờ.
Cách làm: chọn một story nhỏ, quen thuộc làm chuẩn (ví dụ 2 điểm), rồi so sánh các story khác với nó. Story phức tạp gấp đôi thì 4 điểm, và cứ thế.
Nhiều nhóm dùng dãy 1, 2, 3, 5, 8, 13, 21 để ước lượng. Khoảng cách giữa các số tăng dần phản ánh thực tế: việc càng lớn thì sai số càng lớn, không có lý gì tranh cãi giữa 14 và 15 điểm. Nếu story vượt 13 điểm, đó thường là dấu hiệu cần cắt nhỏ.
Planning poker là cách ước lượng theo nhóm, giảm hiệu ứng 'neo' khi người đầu tiên nói to làm mọi người ngả theo:
Giá trị lớn nhất của planning poker không nằm ở con số cuối mà ở cuộc thảo luận làm lộ ra những hiểu lầm sớm.
Velocity là tổng số điểm nhóm hoàn thành trong một sprint. Sau vài sprint, bạn có một con số trung bình khá ổn định, dùng để dự báo: nếu backlog còn 100 điểm và velocity trung bình 20 điểm mỗi sprint thì cần khoảng 5 sprint. Lưu ý rằng velocity là công cụ nội bộ để nhóm lập kế hoạch, không nên dùng để so sánh các nhóm với nhau hay đánh giá cá nhân, vì điểm của mỗi nhóm có thang riêng.
Có. Một số nhóm không ước lượng điểm mà chỉ đếm số story (sau khi cắt cho cỡ gần đều nhau) và đo throughput. Cách này đơn giản hơn và nhiều nhóm thấy đủ chính xác. Hãy chọn cách ít tốn công nhưng vẫn cho bạn thông tin cần thiết.
Ước lượng tốt không phải đoán trúng, mà là giúp nhóm hiểu công việc, thấy rủi ro sớm và lập kế hoạch thực tế. Hãy dùng ước lượng tương đối, thảo luận trung thực và coi con số là công cụ chứ không phải lời hứa.
Nếu bạn muốn rèn kỹ năng lập kế hoạch và quản lý tiến độ cho dự án phần mềm, hãy tham khảo thêm tại codebem.com.
Nguyễn Đình Cường
0 comment