5 cách giúp các coder ước lượng thời gian tốt hơn cho công việc
Trong công việc hằng ngày việc ước lượng thời gian của cho việc nào đó chưa bao giờ là dễ dàng với các developer, nhưng nó cũng không khó đến mức tuyệt vọng. Bài viết này sẽ đề cập đến những cách mà các developer có thể áp dụng để việc ước lượng trở nên dễ dàng và chuẩn xác hơn. Một trong ...
Trong công việc hằng ngày việc ước lượng thời gian của cho việc nào đó chưa bao giờ là dễ dàng với các developer, nhưng nó cũng không khó đến mức tuyệt vọng. Bài viết này sẽ đề cập đến những cách mà các developer có thể áp dụng để việc ước lượng trở nên dễ dàng và chuẩn xác hơn.
Một trong những nguyên do khiến việc đánh giá trở nên khó khăn và thiếu chính xác chính là những công việc dài hạn. Lẽ đương nhiên, để đánh giá thời gian hoàn thành một công việc trong năm phút sẽ dễ dàng hơn so với một công việc tốn đến năm tháng.
Vậy làm sao để chúng ta giải quyết vấn đề này?
Thực ra, cách giải quyết rất đơn giản. Bạn chỉ cần chia công việc dài hạn thành những công việc ngắn hạn hơn và dễ đánh giá hơn.
Nhưng chẳng phải cách giải quyết này “đơn giản” quá hay sao? Nhiều người sẽ nghĩ vậy và đưa ra được hàng tấn lý do khiến họ không thể chia nhỏ công việc của mình, nhưng thực ra, mọi việc đều có thể được giải quyết một cách đơn giản nếu bạn đặt quyết tâm và bỏ công sức vào chúng.
Và đó cũng là cách để việc ước tính của bạn trở nên chính xác hơn!
Nếu bạn muốn ước lượng công việc một cách chính xác nhất, vậy thì đừng ngại bỏ thời gian và công sức mà chia nhỏ chúng ra. Lấy ví dụ như việc hãy thử đánh giá sự khác biệt giữa việc ước lượng thời gian để:
- Viết và đăng tải một bài trên viblo.
Hay
- Nghiên cứu về chủ đề muốn viết và tìm ý tưởng.
- Viết dàn bài
- Viết nháp lần đầu
- Thêm hình ảnh và liên kết.
- Lên kế hoạch đăng tải bài.
Rõ ràng việc đánh giá từng công việc nhỏ sẽ chính xác hơn so với cả một công việc lớn. Và một khi đã tách ra được những công việc nhỏ như trên, bạn hoàn toàn có thể đặt ra cho chúng một khung thời gian cụ thể và chính xác (điều này sẽ được nói cụ thể ở phía dưới).
Ồ, khoan! Có người sẽ nói rằng: “Ước lượng thời gian cho những công việc nhỏ có thể dễ dàng, nhưng một khi ghép chúng lại thành cả công việc lớn, sự tiên lượng của bạn vẫn có thể sai lệch đi vì nhiều lý do”. Đúng đấy, nhưng bạn hãy cứ nên chia nhỏ chúng ra đi, vì dù tổng thời gian chênh lệch của các công việc nhỏ có thể tương đương với cả công việc lớn, nhưng thời gian dao động của từng công việc nhỏ cũng dễ ước tính hơn cơ mà.
Tại sao bạn lại ước lượng kém?
Vì bạn thậm chí còn chẳng biết mình đang ước lượng cái gì!
Bài viết trước đã đề cập đến sự ảnh hưởng của những “biến” chưa biết đến thời gian phát triển phần mềm của bạn, và bài viết này sẽ đề cập đến cách giải quyết chúng, đó là nghiên cứu.
Để giải quyết một vấn đề mà bạn không biết, thì bước đầu tiên là phải tìm hiểu về chúng.
Và bất cứ khi nào bạn phải ước lượng bất cứ thứ gì, thì việc đầu tiên bạn nên nghĩ đến là tìm hiểu về chúng và phát hiện ra những điều mà bạn không biết rằng bạn không biết.
Nhưng buồn cười là, đa số các developer chẳng mấy khi nghĩ đến điều này. Nếu như họ được giao cho một công việc có vẻ quen thuộc, thì họ sẽ căn cứ vào kinh nghiệm của mình để ước lượng và bỏ qua nguy cơ đến từ những vấn đề không biết. Còn nếu như họ gặp phải một công việc có vẻ lạ, thì hẳn họ nhìn đâu cũng sẽ thấy những vấn đề chưa biết, và sự ước lượng của họ sẽ bị kéo dài ra so với thời gian thực tế.
Bất cứ trường hợp nào cũng không phải kết quả mà một developer mong muốn, và trước nhất họ nên ước lượng xem mình sẽ tốn bao nhiêu thời gian để nghiên cứu về công việc được giao. Và thật lạ là các developer đều rất giỏi trong việc ước lượng xem mình phải tốn thời gian để nghiên cứu một công việc, trong khi họ lại cực kém trong việc ước lượng thời gian để hoàn thành công việc ấy.
Vậy nên hãy bỏ thời gian để nghiên cứu về công việc mà bạn được giao trước khi bắt tay thực hiện nó.
Nhưng mà, khách hàng và sếp lại không muốn tốn khoản thời gian ấy, vậy phải làm sao? Đơn giản thôi, hãy lên kế hoạch cho một công việc lớn trước khi nó bắt đầu. Bằng cách luôn tính trước mọi việc và dành thời gian nghiên cứu chúng, bạn sẽ hình thành thói quen ước lượng chính xác hơn hẳn.
Thiếu cảm nhận chính xác về thời gian cũng là một vấn đề lớn khi bạn phải ước lượng công việc. Thông thường chúng ta sẽ ước lượng công việc dựa trên ký ức về những công việc tương tự, và ký ức ấy hoàn toàn có thể bị ảnh hưởng bởi tâm trạng, hứng thú hay đơn giản là cái sự đói.
Những ký ức này có thể khiến việc ước lượng của chúng ta bị sai lệch rất nhiều, vậy nên việc theo dõi thời gian là cực kỳ quan trọng. Một khi bạn đã hình thành được cho mình thói quen theo dõi thời gian, thì cảm nhận về thời gian của bạn cũng sẽ chính xác hơn nhiều. Và sẽ chẳng thực tế chút nào nếu bạn nghĩ rằng mình có thể ước lượng được thời gian để hoàn thành những việc bạn chưa từng làm, trong khi bạn còn chẳng thể đánh giá chính xác thời gian để hoàn thành những việc thường làm.
Vậy nên, hãy bắt đầu xây dựng cho mình thói quen theo dõi thời gian đi. Có rất nhiều công cụ có thể hỗ trợ cho bạn, ví dụ như:
- RescueTime
- Toggl
- PayMo
Một khi đã đặt khung thời gian cho từng công việc, bạn sẽ đảm bảo được thời gian hoàn thành công việc ấy đúng như mình muốn.
Và nếu bạn nghĩ rằng đa số công việc liên quan đến phát triển phần mềm không thể bị ép vào một khung thời gian cố định thì bạn đã nhầm. Khung thời gian có tác dụng thúc đẩy con người về mặt tinh thần, khiến họ có thêm ít nhất một lý do để hoàn thành công việc trong khoảng thời gian đã đặt ra. Đồng thời, nó cũng giúp bạn nhận định được việc nào là quan trọng và cần hoàn thành trước, cũng như những việc nhỏ nhặt có thể bỏ qua mà không làm ảnh hưởng đến kết quả chung. Tất nhiên, cũng có lúc bạn sẽ phải “vượt rào”, nhưng thường thì bạn sẽ hoàn thành được công việc trong khoảng thời gian mà mình đã đặt. Và đương nhiên, đây cũng là một thói quen mà bạn nên gây dựng cho mình nếu muốn ước lượng thời gian chính xác hơn.
Bí mật này: Bạn không nhất thiết phải ước lượng đúng ngay từ ban đầu, bởi bạn hoàn toàn có thể xem lại ước lượng của mình mỗi khi công việc tiến triển.
Đúng là các sếp thường muốn nhân viên của mình đưa ra những nhận định chính xác ngay từ đầu, nhưng bạn có thể báo cáo với sếp đánh giá “chuẩn” nhất lúc bấy giờ, và chỉnh lại nó dần dần cơ mà. Chẳng ở đâu mà người ta lại xem nhẹ việc cập nhật thông tin cả.
Hãy tận dụng bốn mẹo trên để đưa ra bản đánh giá sơ bộ hợp lý nhất, và rồi cập nhật chúng mỗi khi bạn có thể.
Đó là những cách mà tôi đã áp dụng để đánh giá công việc chuẩn xác hơn. Còn bạn thì sao?
Nguồn tham khảo: POTATO Tech Mag