Làm thế nào khả năng nên được phân phối thông qua các đội?


9

Sau khi đọc , Tôi thấy rằng dường như có rất nhiều sự bất đồng về cách các nhóm nhanh nhẹn nên được cấu trúc trong một nhóm các nhà phát triển với khả năng khác nhau (còn gọi là hầu hết tất cả các nhóm). Tất cả các nhà phát triển tốt nhất nên được đưa vào nhóm của riêng họ và được ưu tiên công việc cao nhất? Điều này sẽ đảm bảo rằng các nhiệm vụ quan trọng nhất sẽ được thực hiện. Đồng thời, sau đó bạn bị bỏ lại với các đội "kém hoàn hảo" ở nơi khác đang xử lý nợ kỹ thuật, ngay cả khi đó chỉ là nhiệm vụ ưu tiên thấp. Mặt khác, các nhóm phân phối đồng đều có thể có lợi ích làm cho các nhà phát triển chậm trễ của bạn tốt hơn một chút, nhưng có khả năng giải phóng những người tuyệt vời nhất của bạn. Ngoài ra, nếu bạn kết hợp trong một loạt các mẫu thiết kế tốt với một loạt các mẫu chống khủng khiếp, bạn thực sự có thể kết thúc với một thứ cũng có thể là một loạt các mẫu chống.


Có vẻ như thế này: lập trình viên.stackexchange.com/questions/76890/ ,.
S.Lott

@Lott Tương tự, nhưng đó là đề cập đến việc giữ một nhà phát triển vượt trội trong kiểm tra nếu tôi nhớ chính xác.
Morgan Herlocker

2
Hầu hết các hệ thống nhân vật phong nha cho phép bạn phân phối lại điểm tài năng theo định kỳ.
Thất vọngWithFormsDesigner

1
Xin lỗi, quá nhiều Mass Effect 2 (và các game khác) những ngày này. : P
Thất vọngWithFormsDesigner

Câu trả lời:


11

Có một số rủi ro đã biết với A-Teams, nhưng nếu tính năng động là đúng thì tôi nghĩ là có, tôi sẽ đưa những người mạnh nhất của tôi vào các dự án quan trọng nhất cùng với (các) nhà phát triển cơ sở có tiềm năng nhất. Đối với các dự án ưu tiên thấp hơn của bạn, bạn cần một người lãnh đạo nhóm tốt nếu có thể để giữ cho họ không đi ra khỏi đường ray. Nợ kỹ thuật sẽ xảy ra không có vấn đề gì. Không phải tất cả các khoản nợ kỹ thuật là như nhau; Chi phí / trách nhiệm của nợ kỹ thuật tỷ lệ thuận với giá trị kinh doanh của dự án ngay từ đầu, do đó, trong khi các dự án ưu tiên thấp hơn của bạn có thể có nhiều cảnh báo thì chi phí của chúng có lẽ vẫn còn ít hơn nhiều so với các vấn đề quan trọng đối với các dự án ưu tiên cao của bạn là.


7

Tôi nhớ khi tôi ở uni, một trong những giáo sư của chúng tôi đã kể cho chúng tôi một giai thoại về cấu trúc đội bóng (tôi đã xem bài báo mà anh ấy đang nói lúc nãy nhưng dường như tôi không thể tìm thấy nó).

Về cơ bản, câu chuyện đã diễn ra như sau:

Một nhóm lập trình viên được chia thành các nhóm dựa trên khả năng, với các lập trình viên x tệ nhất được nhóm lại với nhau, x tiếp theo được nhóm lại với nhau, v.v. và những nhóm tốt nhất được nhóm lại với nhau.

Tất cả đều được giao cùng một nhiệm vụ và được đưa ra một khung thời gian để hoàn thành nó.

Vào cuối khung thời gian, các nhà tổ chức đã xem xét các giải pháp cho các nhiệm vụ và họ ngạc nhiên khi phát hiện ra rằng giải pháp hiệu quả tốt nhất đến từ nhóm gồm những người bình thường. Ngược lại, nhóm gồm các lập trình viên A * đã tạo ra một trong những giải pháp tồi tệ nhất vì họ dành toàn bộ thời gian để tranh luận về đâu là giải pháp tốt nhất .

Nếu bạn cần một đội sẽ hoàn thành công việc, hãy tập hợp những người bình thường và một người thống trị có thể lãnh đạo, là kết luận của nghiên cứu (Nếu tôi nhớ chính xác), nếu không các thành viên thống trị sẽ dành nhiều thời gian hơn để chiến đấu hơn là nhận được xong việc!


1
Có, đây là một trong những vấn đề chính của Đội A nhưng kết luận rằng nó áp dụng chung cho tất cả các đội dựa trên nghiên cứu này sẽ là một sai lầm.
Jeremy

Đồng ý: không phải tất cả mọi người đều giống nhau, các nhóm tương đương cũng không có động lực giống nhau, nhưng dù sao đó cũng là một giai thoại hay!
Ed James

1
Chà, đặt một nhóm các nhà phát triển lại với nhau, tất cả chỉ viết các thuật toán tìm đường và đây là những gì bạn nhận được ...
Steven Evers

lol - bạn không thể tìm thấy bài báo rất có thể bởi vì giáo sư chỉ dựng lên câu chuyện ngay tại chỗ. ;-)
Steven A. Lowe

Điều đó sẽ không làm tôi ngạc nhiên: D
Ed James

3

Phần lớn các nhà phát triển thiếu kinh nghiệm có thể không thể tự mình đưa ra các thiết kế thanh lịch, mạnh mẽ, nhưng họ có thể nhận ra và hiểu nó khi họ nhìn thấy. Nếu họ không thể, thì họ thường thiếu năng khiếu hoặc sự chuẩn bị đã được thuê ngay từ đầu.

Ngoài ra còn có một số nhà phát triển có kinh nghiệm hơn có khả năng hiểu các thiết kế phần mềm rất phức tạp, nhưng thiếu quyết định để biết khi nào một cái gì đó đơn giản sẽ tốt hơn.

Theo kinh nghiệm của tôi, bạn thường chỉ gặp vấn đề vĩnh viễn với các nhóm hỗn hợp nếu chúng chứa các thành viên chưa chuẩn bị, các thành viên phức tạp không cần thiết hoặc cả hai. Mặt khác, nếu nhóm của bạn có vấn đề, họ thường có thể được khắc phục bằng cách giao tiếp tốt hơn hoặc phân công vai trò phù hợp.


Tôi chỉ có thể giả định từ đoạn đầu tiên của bạn rằng bạn không làm việc trong môi trường mà nhu cầu cho các nhà phát triển vượt quá nguồn cung. Nhiều người trong chúng ta làm. :-)
Carson63000

3

Nhóm những người giỏi nhất vào một nhóm có thể trông giống như một giải pháp ngắn hạn tuyệt vời nhưng đó là thất bại trong phạm vi dài hạn và nó có thêm chi phí. Ví dụ, công ty của tôi thích khi mọi người học hỏi từ các đồng nghiệp lành nghề hơn thay vì trả tiền cho các khóa đào tạo. Nếu bạn tách những người giỏi nhất, họ sẽ không thể chuyển giao kiến ​​thức cho những người kém kỹ năng hơn. Trong ngắn hạn, các đội giỏi nhất của bạn có thể hoạt động tốt nhưng vì thiếu kiến ​​thức, số lượng người có kỹ năng sẽ không tăng. Sẽ tốt hơn nhiều khi có đội ít thực hiện ngay từ đầu và tăng hiệu suất so với tất cả các đội khi mọi người trở nên lành nghề hơn.

Hơn nữa, điều gì xảy ra nếu những người có kỹ năng quyết định rời đi? Ai sẽ nhận dự án của họ?

Một điểm khác là nhóm nên được sáng tác từ những người có bộ kỹ năng khác nhau. Bạn sẽ luôn có những nhiệm vụ dễ dàng (và những nhiệm vụ nhàm chán) quá đắt đối với những nhà phát triển cao cấp nhất.


3

Những người không thể dạy, làm ...

Tôi nghĩ có nhiều yếu tố để xem xét.

Bạn sẽ nhận được giá trị cao nhất bằng cách phân phối những người có thể dạy như trưởng nhóm. Họ có thể dạy các thành viên khác trong nhóm và giúp nâng cao chất lượng công việc của họ.

Không phải tất cả các lập trình viên cao cấp sẽ dẫn đầu tốt. Khả năng truyền đạt thông tin đó là một kỹ năng trong chính nó. Kỹ năng này không phải là thứ phát triển thông qua kinh nghiệm lập trình. Nó phát triển thông qua giảng dạy và giải thích.


Tôi đồng ý nhưng đồng thời bạn có thể học từ mã được viết bởi các nhà phát triển khác. Nếu các nhà phát triển cấp cao không thuộc nhóm của bạn, bạn không thể học hỏi từ họ theo cách này.
Ladislav Mrnka

@Ladislav Mrnka: Tôi không nói rằng bạn không nên phân phối các nhà phát triển cao cấp trong các nhóm khác nhau. Khả năng học từ mã sẽ khác nhau. Điều này cũng cho rằng các nhà phát triển sẽ dành thời gian để học từ mã mà nhiều người không làm được.
Dietbuddha

2

Chỉ định một nhóm 'A', có hai vấn đề quan trọng. Đầu tiên là khả năng tương thích. Có những nhóm hòa hợp và làm việc tốt với nhau quan trọng hơn nhiều so với "khả năng" của họ. Bây giờ đây có thể là hai lập trình viên kỹ năng "cao", hai lập trình viên kỹ năng "thấp" hoặc hỗn hợp. Thực tế họ có thể làm việc tốt với nhau có nghĩa là họ sẽ làm việc hiệu quả hơn.

Vấn đề thứ hai liên quan đến tăng trưởng. Hai lập trình viên kỹ năng "thấp" sẽ không học được nhiều điều từ nhau, bên cạnh những thói quen xấu. Tương tự như vậy, hai lập trình viên "cao" có kỹ năng sẽ không học được nhiều điều từ nhau. Tuy nhiên, việc trộn các cấp độ kỹ năng "thấp" và cao sẽ giúp cải thiện khả năng của kỹ năng "thấp". Họ cũng sẽ cải thiện khả năng của kỹ năng "cao". Làm thế nào? Cố gắng dạy một môn học sẽ nhanh chóng tìm ra điểm yếu của bạn trong đó Tôi không coi là một kỹ năng "thành thạo" cho đến khi bạn có thể dạy nó cho người khác.


1

Từ phía bên kia của đồng tiền, tôi nghĩ thật hợp lý khi giữ các đội có thể "theo kịp" với nhau. Các lập trình viên loại A-Team của bạn không muốn đợi các loại B-Team để hoàn thành các bit của họ. Các loại Nhóm B của bạn có thể bị ảnh hưởng bởi quy trình làm việc theo kiểu A-Team.

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.