Một đại diện nội bộ, bỏ phiếu và phù hiệu có thể khuyến khích thực hành lập trình tốt?


17

Chỉ cần nghĩ to lên - chúng tôi lập trình viên yêu thích tất cả các công cụ bỏ phiếu / huy hiệu / đại diện này để có thể đưa ra một sơ đồ như thế này vào quy trình xem xét mã công ty để khuyến khích mã hóa tốt hơn.

Cái gì đó như

  • Bạn (hoặc những người khác thay mặt bạn) có thể đăng đánh giá (có thể là đoạn trích, cam kết đơn hoặc loạt) để đánh giá mã

  • Những người khác có thể nhận xét về nó (sẽ tương tự như câu trả lời trong SE)

  • Phù hiệu có thể được đưa ra / đề xuất (một số sẽ tốt, một số sẽ xấu như "Bình luận sa mạc" hoặc một số như vậy)

  • Bạn có thể bỏ phiếu lên / xuống trên chính mã và các nhận xét và huy hiệu (ví dụ: nếu ai đó đề xuất một huy hiệu và bạn đã / không đồng ý)

Mục đích của một kế hoạch như thế này sẽ là

  • Giới thiệu một chút thú vị để khuyến khích sử dụng đánh giá mã

  • Cải thiện chất lượng (trong sơ đồ này cả người đánh giá mã và người đánh giá có khả năng học hỏi)

  • Giảm cơ hội đánh giá mã gây ra 'cuộc chiến bản ngã'

  • Đưa ra một số số liệu để giúp đo lường hiệu suất cá nhân

Điều này có thể làm việc? Suy nghĩ?


2
Chỉ cần tìm thấy trang web này - StackExchange để đánh giá mã - ý tưởng hay cho các dự án cá nhân / nguồn mở nhưng nó công khai cho nhiều công ty, một codereview
Ryan

5
Nghe có vẻ như đó sẽ là một ý tưởng tốt trong một thời gian nhưng điều duy nhất tôi sẽ làm khác là loại bỏ các huy hiệu trừng phạt. Họ mang theo một sự kỳ thị và khiêm nhường bên mình, điều đó sẽ khiến những người bị tụt lại phía sau không cố đuổi kịp.
maple_shaft

1
Đó là một khó khăn mà. Tôi nghĩ rằng sự thật tàn bạo là chúng ta thường có thể học hỏi nhiều hơn từ những sai lầm (của chính chúng ta và những người khác) hơn là chúng ta có thể từ những thành công. Và đối với tất cả các cuộc nói chuyện hippy hoa mỹ, hình phạt công bằng. Hỏi cha mẹ của bạn;)
Ryan

9
Vấn đề duy nhất là Jon Skeet sẽ luôn ngồi ở đầu với 100k rep. Jon Skeet không làm việc cho công ty của bạn? Không quan trọng. Anh ấy vẫn sẽ ở đó.
Tom Anderson

1
Điểm hay - có lẽ huy hiệu xấu hổ "Tôi đã kiểm tra một lớp mà không có một dòng bình luận" sẽ hết hạn sau một thời gian hoặc bị thu hồi sau khi bạn đã làm điều gì đó tích cực - vì nếu không thì không có động lực để cải thiện như bạn đã có 'dấu ấn' và nó không còn quan trọng nữa
Ryan

Câu trả lời:


20

Phần thưởng bên ngoài như tiền, huy hiệu hoặc đại diện sẽ hoạt động, ngắn hạn , như chế độ ăn kiêng và bất kỳ hệ thống dựa trên phần thưởng / hình phạt nào khác.

Phần thưởng nội tại , chẳng hạn như mục đích & tự chủ nên được sử dụng thay thế và cung cấp kết quả lâu dài hơn. Việc đưa nó vào thực tế khó hơn nhiều so với các hệ thống thưởng bên ngoài đơn giản, nhưng nó phải trả giá.

Nhiều chuyên gia đã nghiên cứu về chủ đề này. Đây là hai mục yêu thích của tôi:

Daniel Pink đã có một bài thuyết trình tuyệt vời tại TED về chủ đề dễ xem và dễ hiểu.

Alfie Kohn , tác giả của Punished by Awards , đã viết về chủ đề này:

Chắc chắn, hối lộ và các mối đe dọa có thể tạo ra sự tuân thủ tạm thời. Cung cấp một phần thưởng cho người lớn khi đi đến phòng tập thể dục, hoặc cho trẻ em để chọn một cuốn sách, và nó có thể hoạt động - trong một thời gian. Nhưng họ nghĩ rằng bản thân họ là động lực bên ngoài, vì vậy khi phần thưởng không còn nữa, không có lý do để tiếp tục. Thật vậy, họ có thể ít quan tâm đến việc tập thể dục hoặc đọc sách hơn trước đây.

Một vấn đề khác với phần thưởng (và hình phạt) là nó sẽ sửa đổi cách mọi người cư xử. Ví dụ: nếu bạn tặng tiền thưởng cho nhân viên của mình, họ sẽ tập trung vào việc có được những phần thưởng đó, bất kể các mục tiêu khác (toàn công ty). Nó sẽ tạo ra chủ nghĩa cá nhân và cạnh tranh giữa các bộ phận và nhân viên. Sự oán giận sẽ diễn ra và mọi người sẽ dõi theo tất cả mọi người. Đặc biệt là khi một trong những mục tiêu của bạn là "giúp đo lường hiệu suất cá nhân".

Những nhân viên còn lại có thể từ chối các quy tắc của trò chơi và bỏ việc. Doanh thu tăng sau đó sẽ trở thành một vấn đề mới.

Xin lưu ý rằng nhiều đề xuất về cách cải thiện động lực đã được thực hiện trong cộng đồng này .


2
Pierre, trong khi tôi đồng ý với một số điều bạn nói và những phát hiện về Daniel Pink, tôi thực sự không nghĩ rằng chúng áp dụng cho giải pháp như ông mô tả chúng. Sẽ khác nếu đại diện, huy hiệu, vv được gắn với phần thưởng bằng tiền nhưng ở đây chúng chỉ được sử dụng để nâng cao hành vi có ý nghĩa nội tại. Theo một số cách, nó không khác gì các khía cạnh chơi game của stackexchange mà người ta phải nói là có lợi về tổng thể. Tuy nhiên, đây là một vấn đề phức tạp vì vậy nó phải được thực hiện cẩn thận
Homde

2
@mko: Tiền là một loại phần thưởng. Phù hiệu hoặc danh tiếng là khác. Tôi tin rằng chúng có tác dụng chính xác như nhau.

2
Pierre, tôi phải không đồng ý. Đây không chỉ là những phần thưởng hoàn toàn duy tâm, mà còn được trao cho bạn không phải bởi người lãnh đạo của bạn, mà bởi các đồng nghiệp của bạn. Sự thừa nhận của họ là một trong những điểm tham chiếu quan trọng nhất đối với bản thân chúng ta để đo lường sự làm chủ của chúng ta và tính mục đích của các hành động của chúng ta. Một hệ thống phiếu bầu, huy hiệu và điểm danh tiếng chỉ định lượng phản hồi và cô đọng vòng lặp. Ý tôi là, đây là lý do tại sao SE hoạt động.
back2dos

1
Pierre, tôi thực sự khuyên bạn nên đọc cuốn "Drive" của Daniel Pinks, nó đi sâu vào các ưu đãi và động lực. Có rất nhiều ví dụ mà một khoản tiền thưởng đã thực sự bất lợi trong khi một wasnt thưởng nội tại'
Homde

1
có, nhưng nếu một huy hiệu, xếp hạng là một biện pháp tốt hơn sẽ phục vụ để làm nổi bật và thúc đẩy hành vi hướng tới các phần thưởng nội tại. Tức là tôi có thể không quan tâm nhiều về uy tín thực tế của tôi nhưng tôi làm muốn trở thành một nhà phát triển tốt. Do đó, đại diện có thể là một người tốt nếu không đo lường kỹ năng tuyệt đối của tôi, đo lường bằng sự tiến bộ tương đối và thúc đẩy tôi cải thiện nó và bản thân mình. Những điều chúng ta không thể đo lường được, chúng ta không thể thay đổi. Phần khó là tất nhiên là thiết kế phép đo để thực sự có ý nghĩa và khuyến khích hành vi đúng.
Homde

5

Vâng, nó có thể

Nhưng chỉ khi bạn thiết kế nó rất cẩn thận, nếu không nó có thể phản tác dụng. Tôi đã đưa ra một số ý kiến ​​nhưng nghĩ rằng tôi tóm tắt vị trí của tôi

Đối với danh tiếng, mục tiêu chính là cung cấp một phép đo mà nhân viên có thể sử dụng để theo dõi sự cải thiện kỹ năng của họ theo thời gian. Thiết kế nó rất cẩn thận với ý nghĩ đó, điều khó khăn đang đến với những cách tốt để đo lường kỹ năng, tôi không thể từ trên đỉnh đầu làm điều đó.

Huy hiệu chủ yếu là một điều "vui vẻ", tôi sẽ giữ chúng chủ yếu cách xa và tránh xa các vấn đề định hướng kỹ năng hơn. Tức là các huy hiệu như "cú đêm tuần này" hoặc một nhóm "Đã gửi huy hiệu!" Sẽ ổn. Nếu bạn có một số huy hiệu kỹ năng như "Đã sửa hầu hết các lỗi" hoặc "Đã báo cáo hầu hết các lỗi", hãy suy nghĩ thật kỹ về cách nhận biết và chơi game. Huy hiệu nên tập trung vào việc làm nổi bật hành vi hơn là thúc đẩy IMO. Hãy chắc chắn để có cả huy hiệu đội và cá nhân.

Tôi thực sự khuyên bạn nên chống lại các huy hiệu tiêu cực, những điều này sẽ rất vui và khiến mọi người sợ phạm sai lầm là nguy hiểm. Tạo một email hữu ích thân thiện cho những trường hợp thay thế.

Tôi thực sự khuyên bạn không nên để họ quyết định và bỏ phiếu cho phù hiệu. Mọi người có thể gửi đề xuất cho huy hiệu của họ nhưng vì ảnh hưởng của họ đối với mọi người có thể khá nghiêm trọng nên sử dụng huy hiệu nào nên được đưa ra theo quyết định cẩn thận của một người biết họ đang làm gì và không bỏ phiếu đa số.

Đánh giá mã là một ý tưởng thú vị và tôi đoán một trong những cách bạn có thể tạo ra giá trị kỹ năng. Làm nổi bật mã và thảo luận về nó có thể thực sự hữu ích. Tuy nhiên, điều đó có thể gây tác dụng ngược, nếu mọi người đều biết rằng họ đang phán xét về khả năng mọi thứ họ viết có thể phát triển chậm. Đặc biệt với sự phát triển lặp đi lặp lại trong đó đôi khi bạn viết một cái gì đó nhanh chóng và sau đó tái cấu trúc bạn không muốn hành vi đó.

Có lẽ điều đó có thể được bù đắp bởi chính người nộp mã hoặc người khác chỉ có thể gửi mã ở một độ tuổi nhất định. Tuy nhiên, có thể khó để biết những hiệu ứng sẽ có

Tôi cuối cùng tôi nghĩ bạn sẽ phải thử nó và xem những gì hoạt động và những gì không, có cuốn sách hay tên là Thực tế bị phá vỡ có thể thú vị. Ngoài ra cuốn sách "Drive" của Daniel Pinks là phải đọc.


2

Theo tôi, KHÔNG , vì nó đo lường không phải là thực hành tốt, mà là một triệu chứng (nếu người khác nghĩ rằng đó là thực hành tốt).

Để diễn giải một cuốn sách của chú Bob (quên tiêu đề): Mã tốt dường như gần như dễ dàng, nó làm cho vấn đề trở nên tầm thường, như thể ngôn ngữ được tạo ra để viết nó.

Theo kinh nghiệm của tôi, mã như vậy không được chú ý và chỉ sau một thời gian dài chú ý, mã này không bao giờ gây ra sự cố, và có thể sau đó người ta nhớ rằng, vấn đề là, trước khi giới thiệu mã, một mớ hỗn độn không chắc chắn và mơ hồ. Mã được khen ngợi trong các bài đánh giá thường là mã mà người đánh giá nhìn vào một ngày tốt lành khi không có tâm trạng với nitpick và điều đó có ít thay đổi nhất.


1
Erm - re: điểm đầu tiên của bạn - có nhưng đó là điều tốt nhất chúng ta có phải không? Số liệu mã không tự đưa ra một bức tranh đủ tốt.
Ryan

1
Điều đó không đúng với bất kỳ loại phương pháp xem xét mã nào?
nikie

Vấn đề không phải là bạn cố gắng đo nó, mà là bạn đặt vòng phản hồi giữa phép đo của bạn và thực tế là động lực của các đội. Theo kinh nghiệm của tôi, điều này nhanh chóng dẫn đến việc thúc đẩy nhóm 'đánh bại các bài kiểm tra', chứ không phải mã tốt hơn.
keppla

1
"Đánh bại các bài kiểm tra" có thể áp dụng nhiều hơn cho các số liệu so với đánh giá mã thủ công. Để đưa cuộc tranh luận đầu tiên của bạn đến mức cực đoan, bạn nói rằng không có cách nào để quyết định bất cứ điều gì là 'tốt'. Điều đó đúng nhưng ở một mức độ nào đó, chúng ta phải chấp nhận rằng nếu đủ người nghĩ rằng điều gì đó tốt thì có lẽ nó tốt.
Ryan

1
+1 cho đối số thứ 2 tho - mã tuyệt vời có thể không được chú ý.
Ryan

1

Ý tưởng sẽ mang lại một năng động mới cho nhóm. Nếu bạn cảm thấy đội bóng đang ở trong một lối mòn thì đây là một cách tốt để làm mọi thứ rung chuyển.

Chỉ cần nhớ rằng nó sẽ không phải là tất cả kỳ lân và cầu vồng. Một số sẽ không thích sáng kiến ​​nên năng suất / chất lượng tổng thể có thể bị ảnh hưởng. Tuy nhiên rủi ro này có thể là giá trị nó. Phụ thuộc vào tình huống của bạn.


1

Tôi đề nghị sử dụng động lực bên ngoài (những gì bạn đề xuất là một dạng của động lực bên ngoài) để thúc đẩy mọi người làm những việc "máy móc", lặp đi lặp lại và nhàm chán, chẳng hạn như:

  • Hiển thị đúng giờ đến các cuộc họp
  • Nhận bảng chấm công nộp đúng hạn
  • Đang cập nhật tài liệu
  • Chia sẻ thông tin với nhóm

Tôi sẽ không sử dụng nó để tạo động lực cho bất kỳ loại công việc nào đòi hỏi sự sáng tạo hoặc nơi mà chất lượng không thể được đo lường một cách khách quan. Chẳng hạn, nếu bạn có một người làm vật dụng và bạn có thể xác nhận một cách máy móc xem một phần là tốt hay xấu và bạn có một quy trình sẽ không cho phép một phần được thực hiện trừ khi nó tuân theo quy trình được phê duyệt, thì nó có hiệu quả để thúc đẩy công nhân có phần thưởng bên ngoài cho năng suất vì quy trình sẽ không cho phép họ dùng các phím tắt để tạo ra nhiều đơn vị hơn với chi phí chất lượng.

Nếu bạn không có những biện pháp bảo vệ đó, thì nỗ lực của bạn đối với động lực bên ngoài chắc chắn sẽ gây tác dụng ngược. Lập trình rơi thẳng vào mục này - chúng tôi không thể đo lường đáng tin cậy chất lượng phần mềm. Đó là bởi vì khi bạn tạo một widget, nó rời khỏi nhà máy và không ảnh hưởng đến công việc bạn làm trên widget tiếp theo, nhưng khi bạn tạo phần mềm, bạn phải tiếp tục làm lại nó nhiều lần. Những thứ bạn làm bây giờ có tác dụng lâu dài. Đó là những hiệu ứng dài hạn rất quan trọng nhưng không thể đo lường được. Động lực nội tại là một động lực hữu ích hơn nhiều cho loại điều này.

Điều đó có nghĩa là:

  • Hãy để mọi người chịu trách nhiệm cho công việc của họ
  • Khuyến khích mọi người nói chuyện với nhau về những gì hoạt động tốt và những gì không
  • Thể hiện sự đánh giá cao đối với công việc của mọi người

Không phải một số loại SO nội bộ sẽ làm cả ba điều đó, ý tôi là tại sao mọi người dành quá nhiều thời gian cho SO? Và quan điểm về 'bầu cử' là tôi nghĩ nhiều khả năng là công bằng, chính xác và có giá trị trong một lĩnh vực như thế này bởi vì tôi hoàn toàn đồng ý - chúng tôi không có cách nào không khách quan để đo lường chất lượng.
Ryan

0

Một phần của những gì làm cho công việc này là số lượng lớn người tham gia không biết nhau hoặc phải làm việc với nhau hàng ngày. Tôi nghĩ rằng trong một nhóm nhỏ, nó sẽ trở thành một cách để trò chơi hệ thống trở nên tốt hơn hoặc làm cho sự cạnh tranh của bạn để quảng bá trở nên tồi tệ. Đây là lý do tại sao đánh giá ngang hàng chính thức thường là một hệ thống kém. Trong một nhóm nhỏ, những người có đại diện tốt nhất sẽ là những người thông minh nhất về chính trị chứ không phải những lập trình viên giỏi nhất.


0

Câu trả lời ngắn gọn là, vâng, nó có thể hoạt động.

Câu trả lời dài hơn một chút là, vâng, nó có thể hoạt động, nhưng nó cũng có thể phản tác dụng.

Ngoài việc là một lập trình viên chuyên nghiệp, tôi còn là một nhà phân tích hành vi nghiệp dư.

Một trong những phát hiện đặc trưng của khoa học hành vi hiện đại là hành vi bị ảnh hưởng mạnh mẽ bởi hậu quả của nó.

Nếu bạn kiểm soát hậu quả, bạn có thể ảnh hưởng đến hành vi ở một mức độ nào đó. Mức độ phụ thuộc vào mức độ hậu quả cụ thể quan trọng đối với mỗi cá nhân có hành vi bạn đang cố gắng thay đổi và mức độ dễ dàng để họ tránh hậu quả của bạn và tìm những người khác mà họ sẵn sàng làm việc.

Là một lập trình viên chuyên nghiệp, một hệ quả của việc viết mã là tôi được trả tiền; ngừng trả tiền cho tôi và tôi sẽ ngừng xuất hiện trước đó rất lâu. Trả tiền là một hậu quả thực sự quan trọng đối với tôi (tôi đang nuôi một gia đình) và không có bất kỳ hậu quả nào khác tại công ty hiện tại của tôi mà tôi sẵn sàng làm việc thay vì được trả tiền.

Nếu bạn là sếp của tôi, bạn sẽ quyết định những hậu quả (ưu đãi, củng cố) sẽ mang lại cho tôi. Nhưng bạn không được quyết định cách tôi nhìn nhận về họ. Ví dụ: ông chủ của tôi có thể quyết định cung cấp một chỗ đậu xe đặc biệt nếu tôi được chọn là "Người giải mã của tháng". Nếu tôi sống ở San Francisco hoặc thành phố New York và tôi lái xe hơi, tôi có thể sẵn sàng làm việc vì điều đó. Nhưng nơi tôi sống bây giờ, bãi đậu xe không phải là vấn đề và dù sao tôi cũng có thể đi bộ để làm việc.

Theo kinh nghiệm của tôi, rủi ro lớn nhất mà bạn gặp phải khi thực hiện một chương trình như SO tại nơi làm việc là bạn có thể bị coi là cung cấp phiếu bầu ngang hàng thay vì trả cho mọi người những gì họ đáng giá.


"Một trong những phát hiện đặc trưng của khoa học hành vi hiện đại là hành vi bị ảnh hưởng mạnh mẽ bởi hậu quả của nó." Đó là một phát hiện? Có thật không?? Đó không phải là thứ mà tất cả chúng ta học được từ rất sớm trong cuộc sống sao? Đừng chạm vào những thứ nóng vì hậu quả là nó đau! Tâm trí bạn đôi khi tôi vẫn uống quá nhiều ...
Ryan

@Ryan: Bạn sẽ nghĩ. Nhưng "đừng chạm vào những thứ nóng vì nó đau" không tạo ra một khoa học. Chỉ ra cách thực hiện các thay đổi trong hành vi có thể đo lường được, có thể lặp lại, có thể lặp lại và có thể dự đoán được - đó là những gì làm cho khoa học hành vi trở thành một khoa học.
Mike Sherrill 'Nhớ lại mèo'
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.