Computer >> Máy Tính >  >> Lập trình >> Ruby

Ước tính không phải là mục tiêu, chúng là một công cụ truyền thông

"Sẽ mất bao lâu để thực hiện việc này?"

“Bạn khó thực hiện thay đổi này như thế nào?”

Nếu bạn bắt đầu tức giận và thất vọng, có thể bạn là nhà phát triển phần mềm. Ước tính thật đau đớn , đặc biệt là khi người yêu cầu bạn ước tính một nhiệm vụ (Hãy gọi họ là ‘Bob’) chỉ có một ý tưởng sơ bộ về những gì họ đang yêu cầu. Phần lớn nỗi đau này là do sự khác biệt giữa những gì Bob muốn và những gì bạn nghĩ Bob muốn.

Ước tính không phải là mục tiêu

Là một nhà phát triển, tôi nghĩ về một ước tính là "Trung bình, tôi sẽ mất bao lâu để hoàn thành một nhiệm vụ?" Tôi bực bội vì tôi thường không có đủ thông tin để trả lời câu hỏi đó và tôi biết mình sẽ phải tuân theo những gì mình nói. Tôi cho rằng khả năng đụng trúng người bạn này sẽ là một chỉ số đánh giá hiệu suất tổng thể của tôi, vì vậy tôi rất căng thẳng và khó chịu.

Chúng là một công cụ giao tiếp

Bất kỳ sản phẩm nào xuất xưởng đều có những thứ phụ thuộc vào nó. Tùy thuộc vào quy mô của công ty, đó có thể là tiếp thị, quảng bá, phân tích kinh doanh, lập kế hoạch sản phẩm trong tương lai hoặc nhiều thứ khác. Điều này có nghĩa là câu trả lời mà Bob đang tìm kiếm là “Khi nào tôi có thể bắt đầu giả định rằng hành vi ăn cắp sẽ được thực hiện, vì vậy tôi có thể bắt đầu lập kế hoạch cho những thứ phụ thuộc vào nó?”

Tôi đang trả lời với "Điều này nên được thực hiện bởi… ”, nhưng Bob đang tìm kiếm“ Điều này sẽ được thực hiện bởi… ”.

David Bryant Copeland có một cuốn sách tuyệt vời, Kỹ sư phần mềm cao cấp, nói về điều này trong chương đầu tiên:

Một kỹ sư phần mềm cao cấp được tin tưởng và kỳ vọng sẽ thực hiện công việc quan trọng và thực hiện nó một cách đáng tin cậy. Cách để đạt được điều đó là tập trung mọi thứ bạn làm vào việc mang lại kết quả.

Hãy ghi nhớ điều đó, tốt nhất bạn nên gặp Bob theo các điều kiện của anh ấy. Điều này có nghĩa là:

  • Ước tính phải được thực hiện ở độ tin cậy 90%, không phải 50%

    Bob muốn biết khi nào anh ta có thể bắt đầu lập kế hoạch cho những việc phụ thuộc vào công việc đang được hoàn thành. Nếu điều này có nghĩa là ước tính cần được đánh giá (có thể là như vậy), thì điều đó không sao cả. Nếu điều này có nghĩa là bạn phải quay lại anh ấy sau một hoặc hai giờ, điều đó cũng tốt.

  • Ước tính phải dựa trên thời gian giao hàng, thời gian giao hàng để kiểm tra hoặc hàng đợi thời gian triển khai hoặc bất kỳ thứ gì khác

    Điều này quay trở lại trọng tâm của việc cung cấp kết quả. Nếu Bob đang chờ một dự án được giao, thì điều đó sẽ không tốt cho anh ta nếu nó bị mắc kẹt trong QA. Điều này thường có nghĩa là các ước tính cần được đánh lại một lần nữa, điều này tốt.

  • Ước tính tốt nhất thường là “Tôi không thể trả lời điều đó ngay bây giờ, nhưng tôi sẽ liên hệ lại với bạn.”

    Sẽ dễ dàng hơn nhiều để đạt được ước tính thời gian giao hàng với độ tin cậy 90% nếu ước tính được chia thành các phần nhỏ hơn, mỗi phần sẽ dễ hiểu hơn. Nhiều sách thảo luận về các chiến thuật tạo ước tính tổng hợp, nhưng nó nằm ngoài phạm vi của bài đăng này.

Điều gì sẽ xảy ra nếu tôi được thông báo rằng tôi di chuyển không đủ nhanh?

Ở mọi nơi tôi đã làm việc, tôi đều được thông báo rằng ban lãnh đạo mong muốn chúng tôi có thể di chuyển nhanh hơn. Cho dù sản phẩm được phân phối nhanh đến mức nào, ngay cả khi chất lượng hoàn toàn bị hy sinh, ngay cả khi ước tính là hoàn toàn thấp nhất, ngay cả khi bạn làm việc 20 giờ một ngày, ban quản lý vẫn sẽ khôn ngoan hơn. Nhiệm vụ của một nhà phát triển là thấy rằng đó chỉ là một mong muốn và thực hiện công việc của họ là duy trì tốc độ nhanh nhưng có thể duy trì được, có thể dự đoán được, mang lại kết quả và duy trì chất lượng cao.

Còn khi tôi đánh bại ước tính của tôi bằng một số tiền vui nhộn và có vẻ như ước tính của tôi quá cao?

Tôi chưa bao giờ thấy ai đó đánh giá quá cao bị trừng phạt và điều đó sẽ được đền đáp vào lần tiếp theo khi bạn có một dự án thành công hơn bạn mong đợi. Đánh giá quá mức theo một số tiền nhất định tốt hơn nhiều so với việc đánh giá thấp hơn một số tiền tương tự (tôi nghĩ rằng nó chắc chắn tương tự như Sự chán ghét của Loss). Hầu hết thời gian, sẽ có một công việc tồn đọng và bạn có thể bắt đầu tác vụ tiếp theo. Tuyệt vời!

Nếu bạn nhắm mục tiêu trường hợp 50%, các biến chứng bất ngờ có thể phá hủy toàn bộ lịch trình sản phẩm. Bạn sẽ làm điều đó khoảng một nửa thời gian! Nếu bạn nhắm đến trường hợp 90%, ngay cả khi mọi thứ trở nên tồi tệ, phần còn lại của lịch trình vẫn có thể hoạt động như dự định. Sản phẩm được giao đúng thời gian, mọi người đều hài lòng, bạn sẽ nhận được tiền tăng và khuyến mại cũng như phần thưởng tốt nhất:Bạn có thể thực hiện nhiều ước tính hơn!