Thursday, January 11, 2007

Software Estimation

Trong cái đầu tôi hiện nay thì có 2 thứ cần estimate: Project Size và Project Effort. Project Size có đơn vị là LOC và được xem là cố định. Trong khi đó Project Effort thì phụ thuộc nhiều yếu tố: trình độ nhân lực công ty, môi trường phát triển, ngôn ngữ lâp trình, độ quen thuộc loại dự án v.v... Đơn vị của Project Effort là man-month. (học từ anh Thạch công ty Hoàng Nghiêm)

"Project Size được xem là cố định" có thể gây bối rối vì mâu thuẫn với việc phải ước lượng. Chúng ta chỉ ước lượng những thứ chúng ta không chắc mà thôi.

Có thể dùng ví dụ sau để giải thích. Sài Gòn cách Vũng Tàu 80 km. Nếu chạy xe đạp thì mất 5 tiếng. Nếu đi xe máy thì dưới 2 tiếng. 80 km tương ứng với Size trong khi 5 hay 2 tiếng tương ứng với Effort.

Hôm nay có đọc lướt qua quyển Software Estimation của Steve McConnell, phần 2 Các kỹ thuật ước lương nền tảng, chương 6 Các yếu tố cần quan tâm khi chọn lựa kỹ thuật ước lượng. Tác giả đưa ra các 5 yếu tố sau:
  • Ước lượng cái gì?
  • Project Size
  • Phương pháp (Style) phát triển phần mềm
  • Giai đoạn (Stage) phát triển
  • Độ chính xác mong muốn
Thật sự không hiểu tác giả tại sao lại đưa project Size thành 1 yếu tố? Không những vậy, tác giả đưa ra định nghĩa Small/Large/Medium size project dựa vào số lượng thành viên kỹ thuật.
Đúng ra, project Size cần được nhấn mạnh là output của quá trình estimate và việc phân loại lớn nhỏ phải dựa vào đơn vị của nó: LOC trong khoảng X1-X2 là project nhỏ, X2-X3 là project trung bình, X3-X4 là project lớn v.v...

Cảm giác là tác giả trình bày không khoa học lắm và làm rối vấn đề. Chỉ với 1 khía cạnh estimate mà tốn gần 300 trang giấy :(. Tui mà đọc hết, nhớ hết là chết liền.

No comments: