Trước khi tôi đi quá xa, hãy để tôi nói rằng Dự toán phần mềm: Làm sáng tỏ nghệ thuật đen là một tài nguyên tuyệt vời cho những người nhìn và suy nghĩ về các ước tính. Cả hai hình ảnh dưới đây là từ cuốn sách đó là cốt lõi nếu các ý tưởng được trình bày sau đây.
Như bạn đã lưu ý, ước tính là một phần quan trọng để có thể dự đoán và lên kế hoạch chính xác cho công việc. Không có ước tính làm cho doanh nghiệp mù về việc một cái gì đó sẽ mất bao lâu. Không có gì lạ khi doanh nghiệp có một ý tưởng hoàn toàn sai lầm về việc mọi thứ sẽ diễn ra trong bao lâu - điều họ nghĩ là dễ dàng mất sáu đến tám tuần và điều được cho là khó khăn là một buổi chiều thứ sáu.
Điều đầu tiên là đưa ra một ước tính. Bản thân một ước tính không phải là một con số duy nhất - đó là một cam kết. "ABC sẽ mất bao lâu" -> "Khoảng 5 ngày" nghĩa là khoảng 5 ngày. Tuy nhiên, một ước tính tốt là một phạm vi mà bạn tự tin 90% rằng bạn sẽ có nó trong phạm vi đó. Nếu bạn muốn nói "Tôi tin tưởng 90% rằng sẽ mất 1 và 5 ngày" thì hãy nói điều đó. Đừng làm việc từ "Tôi nghĩ rằng sẽ mất từ 1 đến 10 ngày, vì vậy 5 ngày có lẽ là trung bình" - đó không phải là ước tính và bạn sẽ sai 50% thời gian.
Chà, 50% trở lên, lập trình viên là những người đánh giá thấp khét tiếng về thời gian thực hiện nhiệm vụ.
Hãy xem xét hình nón của sự không chắc chắn:
Hình ảnh từ http://www.construx.com - bài viết đầy đủ tại http://www.construx.com/Th think_Leadership / Sách / The_Cone_of_Uncertcellence /
Nhận ra rằng ước tính đầu tiên trong phạm vi đó là 16 lần. Điều này giống như nói "Tôi nghĩ rằng sẽ mất từ một buổi chiều đến hai tuần" - nhưng bạn chưa biết. Khi bạn tiến lên với thiết kế một chút, phạm vi thu hẹp xuống còn 4x. Điều này không có nghĩa là sẽ mất một tuần, điều đó có nghĩa là thay vào đó bạn sẽ nói "sau khi xem xét điều này một chút, sẽ mất từ ba tuần" - vâng, ước tính đã tăng lên, nhưng cũng là phạm vi ước tính đã đi xuống.
Với mỗi ước tính bạn đưa ra, bạn cần chắc chắn 90% rằng ước tính đó nằm trong phạm vi đó. Bạn có thể sai - 10% thời gian nó sẽ rơi ra khỏi phạm vi đó.
Có nhiều cách để ước tính quy mô của các dự án. So sánh nó với các dự án trước đây, sử dụng proxy (tôi nghĩ rằng sẽ mất 1000 dòng mã sẽ mất nhiều thời gian để viết), sử dụng các điểm chức năng (để chuyển đổi thành LỘC ...), lấy ước tính từ một số người và sau đó tinh chỉnh nó lặp đi lặp lại ... một số công việc cho một số dự án, một số công việc cho các dự án khác.
Một chương rất quan trọng trong cuốn sách này mà tôi đã đề cập ở đầu là # 23 liên quan đến chính trị của ước tính và giao dịch với các nhà quản lý và giám đốc điều hành.
Chìa khóa để ước tính là quá trình lặp lại tinh chỉnh nó sau khi làm việc với nó một chút.
Đưa ra một ước tính quá chính xác quá sớm trong quá trình có thể rất dễ bị lỗi. Nếu bạn không chắc chắn về điều đó, hãy đưa ra ước tính rộng và sau đó quay lại với ước tính khác sau một khoảng thời gian để hiểu sâu hơn về vấn đề và có thể phác thảo cách bạn sẽ thực hiện nó, xem xét bạn đã viết bao nhiêu mã vấn đề tương tự cuối cùng và các yếu tố khác sẽ ảnh hưởng đến ước tính.
Ước tính đòi hỏi một số suy nghĩ - không đưa ra các ước tính cuff. Chúng thường có những lỗi rất lớn liên quan đến chúng so với những gì nó cần khi bạn nghĩ về nó một chút.
Từ Làm thế nào để trả lời khi bạn được yêu cầu ước tính?
Nói gì khi được hỏi về Ước tính
Bạn nói "Tôi sẽ lấy lại cho bạn."
Bạn hầu như luôn nhận được kết quả tốt hơn nếu bạn làm chậm quá trình và dành thời gian trải qua các bước chúng tôi mô tả trong phần này. Ước tính được đưa ra tại máy pha cà phê sẽ (như cà phê) trở lại ám ảnh bạn.
Từ Chương 4 của Dự toán phần mềm:
Lưu ý rằng trong điều này, các ước tính sau khi xem xét một chút sẽ ít có hệ thống và dễ bị lỗi hơn so với ước tính ngoài vòng bít. Đừng làm mất các ước tính cuff. Hãy ngồi xuống và suy nghĩ về nhiệm vụ và ước tính nó sau một chút suy nghĩ về nó.