Khuyến khích các kỹ sư phần mềm theo dõi thời gian


24

Làm cách nào tôi có thể khuyến khích đồng nghiệp của mình theo dõi thời gian họ dành để giải quyết các vấn đề và triển khai các tính năng? Chúng tôi có phần mềm để làm việc này, nhưng họ không nhập số.

Tôi muốn nhóm phát triển tốt hơn trong việc cung cấp các ước tính dự án bằng cách so sánh các ước tính trước đây của chúng tôi với thời gian thực tế đã sử dụng. Tôi nghi ngờ rằng đồng nghiệp của tôi không thấy lợi ích cá nhân, vì họ không thường xuyên tham gia vào việc lập lịch trình dự án.


6
Có lẽ vấn đề là họ phải nhập số thay vì phần mềm theo dõi thời gian và chỉ yêu cầu họ định kỳ để thiết lập mô tả hoạt động và ghi lại báo cáo. Bản thân tôi đã viết một chương trình để giải quyết chính xác điều này, bởi vì tôi sẽ đi cả ngày trong khu vực và sau đó nổi lên và có một thời gian khó tạo ra "nhật ký thời gian" của tôi trong ngày. Xem softwaremonkey.org/Program/TimeKeeper
Lawrence Dol

3
Chỉ cần làm cho họ những gì đã được thực hiện với tôi tại một công ty tôi làm việc. Chỉ định cho anh ta một nhiệm vụ, ngay lập tức yêu cầu anh ta dành 3 ngày liên tục trong các cuộc họp mà bạn tham dự với anh ta, và ngay sau đó các cuộc họp yêu cầu để biết tại sao nhiệm vụ không hoàn thành.
dùng16764

2
Tôi để số ở đâu khi tôi giải quyết vấn đề trên đường về nhà?
Pieter B

1
@PieterB IMO nếu bạn thường xuyên dành đủ thời gian suy nghĩ về các vấn đề công việc trong xe hơi làm tăng năng suất của bạn thì tôi nghĩ rằng thời gian đó nên được theo dõi để ước tính dự án, mặc dù nó không được bù đắp. Đó là thời gian bạn sẽ dành thời gian suy nghĩ tại bàn của bạn. Mặt khác, nếu đó là một tiết lộ một lần trong xe, tôi không nghĩ rằng nó đáng để theo dõi vì đó không phải là điều mà bạn sẽ dựa trên ước tính dự án.
M. Dudley

1
@PieterB Chắc chắn là một vùng màu xám. Tất cả phụ thuộc vào việc nó có hữu ích để theo dõi khi lập lịch trình và dự toán dự án hay không.
M. Dudley

Câu trả lời:


41

Tôi nghi ngờ rằng đồng nghiệp của tôi không thấy lợi ích cá nhân, vì họ không thường xuyên tham gia vào việc lập lịch trình dự án.

Điều đó có thể sửa được.

Làm cho họ tham gia vào lịch trình.


2
Có một trích dẫn về điều này, nhưng hầu hết các cuốn sách của tôi vẫn được đóng gói. Có điều gì đó về bản thân các kỹ sư là người giỏi nhất trong việc lên lịch, vì vậy họ nên tham gia vào việc lập lịch trình cho một dự án từ Ngày 1. Tôi muốn nói rằng điều đó đến từ Phát triển nhanh của Steve McConnell, nhưng tôi không chắc chắn.
Thomas Owens

4
Gần đây tôi đã thấy một dự án của tôi (dự án 6 tháng) trong đó Thủ tướng của chúng tôi đã phân bổ 4 giờ để tích hợp với một ứng dụng khác. Đủ để nói rằng việc tích hợp sẽ mất thời gian đáng kể và bản thân tôi và một nhà phát triển khác nghĩ rằng điều này khá hài hước.
Chris

@ThomasOwens Nó vẫn gây trở ngại cho tôi mỗi khi tôi nói rằng một cái gì đó sẽ mất bao lâu bởi một BA hoặc PM. Sai lầm này đã được gỡ rối triệt để đến nỗi thật đáng buồn khi nhận ra điều đó chỉ có nghĩa là không ai trong số các BA hay Thủ tướng làm một chút việc đọc về ngành công nghiệp mà họ làm việc.
Jimmy Hoffa

21

Joel Spolsky đã viết một bài viết về Lập kế hoạch dựa trên bằng chứng có thể giúp bạn tìm thấy một số đối số.

Bạn phải thuyết phục đồng nghiệp của mình rằng các kỹ năng ước lượng tốt hơn có thể giúp họ sản xuất phần mềm tốt hơn. Dưới đây là một số điểm có lợi cho thời gian theo dõi nhiệm vụ:

  • Nếu bạn có thời hạn thiết lập quản lý tùy ý, các ước tính tốt sẽ cho bạn biết những gì bạn thực sự có thể đạt được trong thời gian đó. Là một phần thưởng, bạn có một số biểu đồ đẹp để thuyết phục người quản lý rằng bạn biết bạn đang nói về điều gì.
  • Bạn phải suy nghĩ kỹ hơn về dự án. Bài báo mà tôi liên kết với các tiểu bang, "Bạn phải chia thời gian biểu của mình thành những nhiệm vụ rất nhỏ có thể đo được bằng giờ ." Vì bạn đã nghĩ về khá nhiều khía cạnh của dự án (hy vọng sẽ viết một thông số kỹ thuật !), Bạn sẽ ít ngạc nhiên hơn về những điều bạn không nghĩ tới.
  • Nó làm cho bạn một nhà phát triển tốt hơn. Theo thời gian, bạn sẽ thấy những loại nhiệm vụ nào bạn có xu hướng đánh giá thấp, vì vậy bạn có thể dành thời gian để làm tốt hơn những nhiệm vụ cụ thể đó thay vì tối ưu hóa một cách mù quáng.

1
+1, cho điểm thứ hai. Tôi thấy rằng mọi ước tính sử dụng thước đo thời gian tính theo ngày hoặc tuần, sẽ luôn không chính xác về mặt ngày hoặc tuần. Nếu bạn nghỉ vài giờ, bạn luôn có thể tính toán lại các ước tính khác chính xác hơn. Và việc viết một thông số kỹ thuật, hoặc xây dựng một tạo tác PoC giúp cho các ước tính chính xác hơn, mặc dù việc đưa ra các ước tính cho các mục đó không đơn giản.
Vineet Reynold

10

Bạn có thể thực hiện điều này theo cách tiêu chuẩn - cà rốt và gậy.

Cà rốt trong trường hợp này có thể là "ước tính tương lai được cải thiện bằng cách hiểu vận tốc hiện tại của chúng tôi" - nhưng bạn sẽ phải làm theo.

Nhận xét của bạn rằng họ không thường xuyên tham gia vào việc lập kế hoạch dự án có thể làm cho điều này trở nên khó khăn.

Chức năng cao nhất trong số đó, đặc biệt nếu bạn có bất kỳ tín đồ nào của PSP , là bạn đang giúp họ trở nên tốt hơn.

Cây gậy phổ biến nhất (để đánh bại chúng, không giữ củ cà rốt trước mặt chúng) là "nó là bắt buộc, hãy làm điều đó". Trong khi không có nhiều động lực; ít nhất là vị trí rõ ràng.

Cuối cùng, phần mềm bạn đang sử dụng có đóng góp cho sự lưu giữ của họ không? Có phải là vụng về? Họ có phải tìm mã thời gian trong Hệ thống A không, trước khi đặt thời gian của họ vào Hệ thống B? Có quá chi tiết không, nó không cho phép thời gian "tắt" và yêu cầu kế toán 8 giờ mỗi ngày. Làm cho nó không ma sát nhất có thể để giúp nhận con nuôi.

Chúc may mắn


5
+1 cho đoạn cuối đó. Làm cho việc theo dõi thời gian trở nên dễ dàng hơn là không làm điều đó, và thật bất ngờ, nó sẽ được thực hiện một cách kỳ diệu.
Scott

5
Điểm cuối cùng tuyệt vời - Tôi ghét phải tìm kiếm một số có 8 chữ số khi có thể viết thả xuống dựa trên web trong 10 phút (ước tính của tôi bằng cách sử dụng xúc xắc ước tính tôi giữ trong bàn làm việc). Ngoài ra, tôi sẽ không sử dụng các thuật ngữ Bingo quản lý như "hiểu vận tốc hiện tại của chúng tôi" mà thay vào đó "bạn sẽ không phải làm việc nhiều giờ không được trả lương bắt buộc khi cố gắng đưa mọi thứ vào cuối lịch trình nếu chúng tôi thực hiện lịch trình của mình bắt đầu với."
Wonko the Sane

@Wonko +1 cho "súc sắc ước tính" :-)
sdg

8

Theo kinh nghiệm của tôi, sau đây là những vấn đề với hầu hết các phần mềm theo dõi thời gian:

  • Nhà phát triển không có khả năng hoặc quyền hạn để phân chia một nhiệm vụ thành các nhiệm vụ dễ ước tính hơn khi đang di chuyển.
  • Không có cách nào tốt để giải thích cho các nhiệm vụ mà bạn không biết cho đến khi bạn bắt đầu làm việc gì đó, một tình huống xuất hiện mọi lúc trong quá trình phát triển và gỡ lỗi phần mềm.
  • Thời gian được sử dụng sau khi thực tế, khi khó có thể nhớ chính xác bao nhiêu nỗ lực tập trung vào một nhiệm vụ và bao nhiêu đã đi đến các cuộc họp, câu hỏi của đồng nghiệp, đánh giá ngang hàng và các chi phí khác.
  • Không có cách nào tốt để tính đến các nhiệm vụ không được theo dõi. Vào cuối ngày, bạn có đặt xuống 8 giờ mặc dù 6 trong số đó đã được dành để xử lý các cuộc họp và như vậy?
  • Không có cách nào tốt để tính toán và truyền đạt sự không chắc chắn trong các ước tính của bạn.

Tôi đã giải quyết nhiều vấn đề đó bằng cách bắt đầu sử dụng kỹ thuật pomodoro cho chính mình. Nếu tôi làm việc 25 phút không bị gián đoạn trong một nhiệm vụ, nó sẽ được ghi lại ngay sau đó và ước tính của tôi được thực hiện theo các khoảng thời gian không bị gián đoạn đó. Tôi vẫn đang làm việc để kết hợp lập kế hoạch dựa trên bằng chứng để truyền đạt sự không chắc chắn và chuyển dịch theo dõi chi tiết của riêng tôi sang các ước tính lịch trình thô mà các PM thích, nhưng chắc chắn đó là một sự cải tiến cho đến nay.


6

Cách tốt

Sử dụng phần mềm, điều này thực sự làm cho điều đó dễ dàng và gần như minh bạch, ví dụ như Mylyn. Kết hợp nó với các công cụ như ví dụ biểu đồ ghi giờ.

Cách xấu

Buộc họ điền vào bảng chấm công tẻ nhạt, trong đó bạn phải chỉ định thủ công dự án, nhiệm vụ, ngày và giờ chính xác, v.v.


3
Tôi hy vọng bạn đã điền vào mẫu tt-Proc-1b để ghi lại thời gian trả lời câu hỏi này, sau đó nhận được thông báo quản lý để đồng ý thời gian sử dụng. và bạn đã điền vào mẫu tt-est-1a để ghi lại thời gian ước tính mà bạn sẽ dành để trả lời câu hỏi này trước khi bạn bắt đầu trả lời nó?
gbjbaanb

mylyn / tasktop ... không hoàn hảo nhưng chắc chắn sẽ giúp ích rất nhiều cho việc theo dõi thời gian tốt giống như một tác dụng phụ của một công cụ khác mang lại lợi ích thực sự cho các lập trình viên ... không hoàn hảo nhưng vẫn tuyệt vời !!
Newtopian

2

Nếu bạn không phải là trưởng nhóm / PM thì bạn sẽ phải vật lộn với cái này. Mọi người không muốn lắng nghe đồng nghiệp của mình nếu điều đó đòi hỏi họ phải làm nhiều việc hơn là hoàn toàn cần thiết (theo kinh nghiệm của tôi, dù sao đi nữa, dù sao đi nữa). Hãy thử tham gia với trưởng nhóm hoặc PM của bạn, và nếu họ đồng ý với trường hợp của bạn, họ có thể chỉ cần ghi nhật ký thời gian là bắt buộc (đó là những gì đã xảy ra ở nơi tôi hiện đang làm việc).

Nếu bạn là trưởng nhóm / PM, bạn cần phải mạnh mẽ hơn trong vai trò của mình: những người này ở đó để làm những gì bạn nói với họ (một cách hiệu quả) và nếu bạn cần thêm thông tin để thực hiện công việc của mình, bạn nên nhờ họ cung cấp thông tin. Nếu họ không sẵn lòng giúp bạn lấy thông tin thì có lẽ vì họ không hiểu tại sao nó hữu ích, hãy thử nói chuyện với họ để giải thích cách các dự án của bạn thường bị chậm tiến độ / ước tính quá mức / bất cứ điều gì và tại sao nó lại gây ra bạn có vấn đề, xem nếu bạn có thể xoay chúng!


2

Theo dõi thời gian của bạn hoặc không được trả tiền. Hàng triệu người làm điều đó (chuyên gia tư vấn, luật sư, v.v.), tại sao họ không thể?

Một số người có thể nghĩ rằng điều này khá hà khắc, nhưng thực tế không phải vậy. Nếu bạn làm việc tại Starbucks, bạn phải dọn dẹp phòng tắm . Nếu bạn làm việc tại ngân hàng, bạn mặc một bộ đồ và đeo cà vạt để làm việc mỗi ngày và nếu bạn là kỹ sư phần mềm trong nhóm cần bạn theo dõi thời gian của mình, bạn sẽ làm điều đó !

Đôi khi chúng ta phải làm những công việc mà chúng ta không thích. Chúng ta đều là những chàng trai và cô gái lớn, tôi nghĩ chúng ta có thể xử lý nó.


1
Chính xác những gì tôi sẽ nói. Đặc biệt nếu bạn có khách hàng thanh toán hóa đơn - làm thế nào khác bạn có thể biết những gì để tính phí cho họ? Tôi đảm bảo rằng một mức lương muộn vì ai đó không tải thời gian của mình sẽ khắc phục vấn đề mãi mãi.
HLGEM

2
Đây là một cách tuyệt vời để bị kiện vì không trả tiền làm thêm giờ cho các nhân viên mà bạn cho là được miễn FLSA nhưng không đủ điều kiện để được miễn vì bạn đang trả lương dựa trên hiệu suất.
Wooble

1
@Wooble: Rõ ràng tôi không ủng hộ những hành động khiến bạn dễ bị kiện, hoặc bằng mọi cách ngược đãi nhân viên của bạn. Nhưng ý tưởng là như nhau. Cần có những lời khen ngợi vì đã không làm công việc của bạn. Và trong nhiều trường hợp, theo dõi thời gian của bạn là một phần công việc của bạn. Vì vậy, có thể bạn không trả tiền, nhưng bạn cảnh báo, hãy thử việc, bất kể điều gì có ý nghĩa, nhưng thực tế là, bạn phải làm công việc của mình . Thật là ích kỷ, bởi vì nó cũng ảnh hưởng đến tất cả các thành viên trong nhóm của bạn.
Richard

@HLGEM: Quan điểm của bạn là hoàn toàn chính xác. Nếu hợp đồng của bạn với khách hàng là trên cơ sở T & M, bạn nên theo dõi thời gian của mình tốt hơn, hoặc bạn đang không trung thực.
Richard

Thật không may, tôi không ở vị trí bắt buộc theo dõi bất kỳ thời gian nào, vì vậy tôi cần tìm các phương pháp thay thế.
M. Dudley

1

Rõ ràng câu trả lời tốt nhất phụ thuộc hoàn toàn vào sự pha trộn tâm lý của đội của bạn. Họ có cạnh tranh không? Thiết kế một cuộc thi định kỳ thưởng cho người chiến thắng khi nhập thời gian của họ vào hệ thống. Điều chỉnh và điều chỉnh cuộc thi để người chơi nghĩ rằng nó công bằng và vui vẻ. Làm cho nó một trò chơi.

Có lẽ họ lo ngại rằng nếu có sự minh bạch về thời gian họ thực sự dành để thực hiện một nhiệm vụ, sẽ có những hậu quả tiêu cực. Tôi đã luôn băn khoăn về việc thiết kế một "công cụ theo dõi nỗ lực" ẩn danh và nơi các thùng đủ mức độ cao đến mức sẽ có nhiều cá nhân đổ số tiền chi tiêu nỗ lực vào mỗi thùng mà những người đóng góp cá nhân không thể sử dụng được. Ngay cả khi chỉ nhận được chi phí nỗ lực chính xác hơn cho các xô dự án cấp cao có thể là dữ liệu hữu ích cho việc lập kế hoạch dự án và vận tốc chung của nhóm, nhưng điều này sẽ tránh được "OMG, tôi không thể tin Joe đã ước tính gấp 3 lần để làm điều gì đó đơn giản .. . "Hoặc không có gì mà mọi người ngại báo cáo trong một hệ thống theo dõi thời gian truyền thống.

Tôi đoán đây chỉ là hai ví dụ, nhưng thực sự, nắm bắt tốt về trang điểm tâm lý của nhóm bạn sẽ cho bạn câu trả lời đúng về cách khuyến khích hoặc khuyến khích họ đóng góp thông tin chi phí nỗ lực của họ.


+1 cho điều minh bạch. Tôi đã phải thực hiện một hệ thống theo dõi thời gian một lần và tôi đã cố tình làm cho quản lý thực sự khó khăn để rút ra thời gian bắt đầu và kết thúc chính xác, thay vào đó họ chỉ có thể thấy tổng thời gian sử dụng. Theo cách đó, nó không thành vấn đề khi một nhân viên thực hiện công việc, chỉ là nó đã được thực hiện và mất bao lâu. Một chút chi tiết nhưng vẫn còn.
James

1

Hãy suy nghĩ về lý do tại sao họ không đáp ứng tốt với yêu cầu này. Đừng chỉ cho rằng họ lười biếng hoặc tránh nỗ lực.

Các nhà phát triển tránh tạo ra bằng chứng thường là

  • Lo lắng về cách nó có thể được sử dụng và / hoặc
  • Quan tâm đến tính hợp lệ của dữ liệu

Đây là lý do tại sao ước tính dựa trên điểm và kích cỡ áo sơ mi đã cất cánh trong những năm gần đây. Nó tính đến bản chất rất không chắc chắn của quá trình ước tính và cho phép "phép thuật" (hay còn gọi là tính trung bình của những điều không chắc chắn) để kiểm soát lịch trình.

Và, mặc dù có vẻ không hợp lý, nhưng nó hầu như không hoạt động - ít nhất cũng như một hệ thống dựa trên giờ hoặc ngày. Cũng rất khó để đánh bại một nhóm hoặc cá nhân quanh đầu với những gì họ đã đạt được trong một tháng nếu nó được thực hiện một cách tùy tiện.

Scrum cũng cho phép các nhà phát triển kiểm soát vận tốc, điều đó có nghĩa là họ đang hứa sẽ đạt được bất cứ điều gì bạn chọn từ A, B và C hoặc A, Y và Z. Khi họ đã thực hiện lời hứa đó, các nhà phát triển không muốn thất bại; Nhưng nếu bạn thực hiện lời hứa đó với họ, họ sẽ không quan tâm. Đó là lỗi của bạn nếu nó sai.

Tôi hiểu rằng bạn đang nói rằng bạn sẽ không sử dụng các đánh giá lại theo cách đó, nhưng làm thế nào chắc chắn các cá nhân trong nhóm của bạn về điều đó?


1

Bất kỳ công cụ nào đòi hỏi các lập trình viên phải dành nhiều thời gian hơn cho việc lập trình không nhất thiết phải là một điều tuyệt vời. Các lập trình viên đã có rất nhiều chi phí, họ không có các cuộc họp 5 phút và sau đó mã hóa một cơn bão.

Nếu bạn có sức mạnh, bạn có thể buộc họ làm điều đó. Nhưng cho đến nay, giải pháp tốt nhất là xây dựng một công cụ liền mạch khiến nó không gây đau đớn. Tôi không thể cho bạn biết làm thế nào để thiết kế, nhưng để mã hóa, bạn muốn ghi nhật ký các thay đổi được thực hiện trong môi trường phát triển. Đây từng là một thanh cao không thể tưởng tượng được, nhưng nếu bạn đang sử dụng một cái gì đó như Eclipse, nó không tệ đến vậy, có lẽ nó đã tồn tại. Theo cách này, bạn có thể đo lượng thời gian đi vào mỗi tệp và có khả năng trong Java, từng phương thức. Đó là thông tin chi tiết hơn nhiều so với bạn nhận được bằng cách yêu cầu họ xuất hóa đơn và nó có thể khá chính xác.

Tương tự, nếu bạn có một công cụ để nhập thiết kế, bạn có thể chặn ở đó.


0

Phụ thuộc vào cách thức và lý do tại sao bạn muốn họ theo dõi thời gian, chúng ta cũng chỉ đang đếm thời gian tại văn phòng hoặc thời gian đi làm để suy nghĩ về vấn đề là tốt?

Lập kế hoạch dự án là khó khăn và rất có thể các số liệu bạn nhận được sẽ không hữu ích như bạn nghĩ. Không có hai vấn đề nào giống nhau nên một nhiệm vụ có thể mất tám giờ trong khi một nhiệm vụ khác có thể mất 32 giờ để hoàn thành.

Bạn có thể muốn xem xét lập kế hoạch dựa trên bằng chứng vì nhà phát triển ước tính thời gian thực hiện một nhiệm vụ và sau đó điều chỉnh theo thời gian dựa trên mức độ ước tính của họ; tuy nhiên, nó không tốt cho các dự án lớn vì bạn có thể không biết tất cả các nhiệm vụ phía trước. Đối với các dự án lớn, bạn có thể tốt hơn nên xem xét các dự án trong quá khứ có phạm vi tương tự và sử dụng chúng làm thước đo thay vì cố gắng tổng hợp các ước tính riêng lẻ.


0

Hãy thử giới thiệu chúng với các hệ thống tổ chức cá nhân như kỹ thuật Pomodoro chẳng hạn (có nhiều hệ thống khác nhưng đó là hệ thống tôi đang thử)

Kỹ thuật này sử dụng bộ đếm thời gian để chia thời gian làm việc thành các khoảng thời gian 25 phút gọi là 'Pomodori' (từ tiếng Ý có nghĩa là 'cà chua') được phân tách bằng các khoảng nghỉ ngắn. Liên quan chặt chẽ đến các khái niệm như timeboxing và lặp lại và phát triển gia tăng được sử dụng trong thiết kế phần mềm, phương pháp này đã được áp dụng trong bối cảnh lập trình cặp. Phương pháp này dựa trên ý tưởng rằng nghỉ ngơi thường xuyên có thể cải thiện sự nhanh nhẹn tinh thần ..


0

Thay vì thuyết phục họ nhập số của họ, hãy sử dụng một phần mềm hoạt động dễ dàng. Tôi đang sử dụng ScreenAware: https://www.screenkn.com/en/ Nó tự động theo dõi thời gian của bạn và gán nó cho các dự án tương ứng. Vì vậy, nó luôn luôn chính xác và không ai phải đoán nữa


Giải pháp cụ thể này có thể không hoạt động cho câu hỏi chung của OP. Mặc dù việc cung cấp các liên kết là tốt, nhưng lần tới hãy cố gắng cung cấp một giải pháp tổng quát hơn trừ khi OP đề cập cụ thể đến việc yêu cầu các giải pháp phần mềm cho vấn đề của anh ấy.
Neil

-1

Bạn đã xem xét sử dụng hệ thống vé hiện tại của bạn thay thế? Hệ thống vé của chúng tôi theo dõi thời gian giữa việc tạo ra một vé và khi nó được đóng lại. Nếu bạn tạo vé cho các nhiệm vụ và làm cho số vé trở thành một yêu cầu để cam kết mã, bạn sẽ nhận được nhiều tiền hơn cho đồng tiền của mình.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.