Apakah memutar pengembang utama merupakan ide yang baik atau buruk?

31

Saya bekerja pada sebuah tim yang rata secara organisasi sejak dibentuk beberapa bulan yang lalu. Manajer saya adalah non-teknis dan ini berarti bahwa seluruh tim kami bertanggung jawab untuk pengambilan keputusan.

Manajer saya mulai menyadari bahwa ada beberapa manfaat untuk memiliki pengembang utama, baik untuk kepentingannya (satu titik kontak dan satu pihak yang bertanggung jawab untuk tugas-tugas) dan milik kami (penyelesaian sengketa, bimbingan teknis terorganisir, dll.).

Karena timnya datar, satu kekhawatiran adalah bahwa memilih satu pengembang utama dapat membuat yang lain tidak disukai. Seorang non-pengembang menyarankan kepada manajer saya bahwa memutar pengembang utama adalah cara yang mungkin untuk menghindari masalah ini. Satu pengembang akan memimpin satu bulan, yang lain berikutnya, dan seterusnya.

Apakah ini ide yang bagus? Mengapa atau mengapa tidak?

Perlu diingat bahwa ini berarti semua pengembang - Semua pengembang baik, tetapi belum tentu cocok untuk kepemimpinan.

Dan jika tidak , bagaimana saya menyarankan agar kita menghindari pendekatan ini tanpa kelihatannya hanya karena alasan egois?

NickC
sumber
7
"Pengembang utama saat ini adalah imajiner. Tolong putar dia 90 derajat dan coba lagi"; o)
Piskvor
14
Saya tidak akan merekomendasikannya, itu mungkin membuatnya pusing.
Gaurav

Jawaban:

31

Jangan putar.

Saya tidak berpikir siapa pun mendapatkan apa pun dari posisi yang dirotasi (selain dari yang tidak layak menjadi pemimpin mungkin mendapatkan lebih banyak uang daripada yang mereka terima saat ini).

Memiliki pengembang memimpin yang brilian yang dapat melakukan hal berikut, tidak heran untuk proses pengembangan :.

  1. Tahu cara mendelegasikan.
  2. Mengontrol.
  3. Apakah pengembang berpengalaman.

Dia adalah sumber tunggal untuk sisa tim untuk mencari dan mencari saran dari. Dia juga mediator antara manajemen tingkat tinggi dan tim pengembangan inti. Saya tidak tahu ada tim manajerial yang suka berurusan dengan perubahan (kecuali mereka yang menghasutnya).

Jika Anda benar-benar paling cocok untuk posisi itu, semua orang akan tahu itu. Semua orang akan tahu itu (mis manajemen tingkat tinggi, rekan setim Anda, dll.). Nyatakan bahwa Anda tidak percaya bahwa memutar posisi itu bermanfaat (jika Anda percaya demikian). Kemudian duduk dan biarkan mereka melakukan penunjukan - hindari menjatuhkan nama atau promosi diri apa pun karena ini akan membuat Anda terlihat tidak profesional

Jonathan Khoo
sumber
@ Jonathan Khoo: jawaban Anda tampaknya "lupakan sistem datar, pekerjakan pengembang bintang rock".
3
@Moz - Mungkin bukan pengembang bintang rock, tetapi begitu sebuah proyek mencapai ukuran tertentu, masuk akal untuk memiliki semacam titik kontak utama yang menangani overhead administrasi. Ini juga bisa menjadi manajer proyek yang tidak melakukan pekerjaan pengembangan.
rjzii
2
jika ini adalah tim yang rata, "pengembang utama" tidak akan mendapatkan pembayaran lebih dari yang lain. Dia akan memiliki tanggung jawab tetapi bukan manfaat memiliki posisi senior. Itu sebenarnya kenyataan di hampir semua tim yang pernah saya bekerja.
jwenting
6
@moz: Seorang bintang rock akan terbuang sia-sia di posisi itu, karena banyak hal yang dilakukan pengembang utama tidak melibatkan pemrograman. Pengalaman bermanfaat karena memungkinkan pemimpin untuk mentor, dan memberinya kredo geek untuk memimpin secara efektif, tetapi Anda mungkin tidak ingin pengembang paling produktif Anda menghabiskan waktu dalam pertemuan dengan manajemen yang lebih tinggi.
David Thornley
1
Saya menemukan bahwa tipe manajerial yang tahu tentang apa pengkodean (dapat membaca kode, tahu apa tabel dan database, tahu apa TCP / IP-socket, mungkin telah dikodekan sebelumnya) adalah yang paling cocok untuk peran ini. Bagaimanapun, ada banyak dokumen yang terlibat, dan mereka sudah terbiasa.
Vincent Vancalbergh
11

Ada dua bagian untuk menjadi pengembang utama:

  • Kepemimpinan Teknis Untuk kepemimpinan teknis, masuk akal untuk memilih pengembang pemimpin yang berbeda di tingkat proyek. Buat setiap pengembang menjadi pemimpin teknis untuk proyek yang berbeda, berputar jika perlu karena proyek berputar. Pendekatan semacam ini dapat menangani dinamika tim, dan memastikan semua orang ditantang dengan benar

  • Komunikasi Satu titik kontak untuk komunikasi dengan dunia luar baik untuk dunia luar, dan buruk untuk titik kontak. Siapa pun yang terjebak dengan bola komunikasi akan memiliki lebih sedikit waktu untuk melakukan pekerjaan nyata, dan harus berlarian mendapatkan informasi dari semua orang untuk diteruskan. Jika Anda adalah komunikator terbaik dan bersedia berhenti melakukan sebanyak mungkin pekerjaan yang menyenangkan sebagai ganti untuk melakukan semua pembicaraan, lebih banyak kekuatan untuk Anda.

blueberryfields
sumber
Jadi, apakah tidak mungkin untuk membagi dua peran ini? Seringkali komunikator terbaik bukan yang terbaik secara teknis. Saya telah menemukan situasi "pemrograman pasangan" terbaik terjadi ketika masing-masing unggul dalam salah satu dari itu
CashCow
Dapat mengkonfirmasi. Saya menerima peran utama pertama saya 6 bulan yang lalu (tim 12 devs), dan tidak pernah menghabiskan waktu sebanyak tidak pemrograman seperti yang saya lakukan sekarang. Sebagian besar hanya mentoring, mengelola, dan melaporkan ke atas.
Mr. JavaScript
6

Ini tidak selalu merupakan ide yang buruk, asalkan pengembang yang terlibat terlibat dan (idealnya) mampu.

Saya kesulitan menemukan referensi untuk ini (tapi saya akan terus mencari), tetapi jika saya ingat dengan benar beberapa perusahaan lincah melakukan ini - mereka memutar judul "pemimpin tim" baik setiap iterasi atau pada waktu yang ditentukan sebelumnya periode. Itu mempromosikan keterlibatan pengembang dan memberi setiap orang kesempatan untuk melakukan beberapa manajemen tim / komunikasi eksternal tanpa secara permanen menggerakkan pengembang untuk berkembang menjadi peran itu.

Beberapa kelemahan termasuk potensi hilangnya informasi (ini dapat dikurangi dengan beberapa cara) dan potensi yang lebih tinggi untuk kepemimpinan "buruk". Mungkin juga sulit untuk mempertahankan visi / arahan bagi tim. Namun, jika semua orang setuju dengan pendekatan ini dan anggota tim berpengetahuan luas dan tertarik untuk membuat sistem seperti itu bekerja, itu bisa menjadi kesempatan yang berharga.

Adam Lear
sumber
Saya tidak berpikir Anda selalu ingin memutar SETIAP dev ke posisi pemimpin tim, tapi saya berharap seorang senior dev dapat menangani tanggung jawab itu. Terus terang, ini adalah pekerjaan tanpa pamrih, dan ini lebih merupakan kasus berbagi beban dan menghindari habisnya satu individu. Saya juga berpikir itu akan membantu menjaga keuntungan dari dinamika tim flat org Anda agar tidak memiliki satu dev sebagai pemimpin permanen.
MebAlone
"Beberapa kelemahan termasuk potensi hilangnya informasi (ini dapat dikurangi dengan beberapa cara) dan potensi yang lebih tinggi untuk kepemimpinan" buruk ": bagaimana dengan hanya berputar pada pengembang terpilih, ini dapat menghindari masalah ini.
Adrien Be
1
@Adrien. Anda masih perlu mentransfer info di antara mereka. Kecuali mereka memimpin pada saat yang sama setiap saat (yang mengalahkan tujuan), Anda harus mempertimbangkan ini. Anda mungkin juga mengasingkan devs lain dalam tim yang tidak bisa memimpin sama sekali dan mungkin merasa ditinggalkan.
Adam Lear
5

Jika Anda memutar, jangan lakukan itu selama proyek. Secara intrinsik tidak ada yang salah dalam menetapkan peran yang berbeda kepada orang yang berbeda untuk proyek yang berbeda, berdasarkan siapa yang paling tepat di setiap posisi untuk proyek tertentu itu. Tapi jangan jadikan Joe "programmer utama" hanya karena sudah waktunya daftar untuk melakukan pekerjaan. Dia mungkin tidak terampil untuk itu, dia bahkan mungkin tidak menginginkan pekerjaan itu.

jwenting
sumber
4

Memutar pengembang utama berdasarkan waktu adalah ide yang buruk.

Setiap orang adalah pengembang yang baik bukan berarti setiap orang adalah pemimpin yang baik. Dan seseorang adalah pemimpin yang baik bukan berarti dia cocok untuk pemimpin program ini.

Saya pikir pentingnya misi yang diberikan kepada pengembang berbeda, dan kepemimpinan masing-masing pengembang berbeda. Saya pikir Anda bisa memberi saran kepada manajer Anda untuk memberikan suara. Setiap satu memilih 2 orang untuk kandidat terbaik, dan orang yang mendapatkan suara terbanyak adalah pemimpin pengembang

ChrisF
sumber
3

Saya cenderung setuju dengan Jonathan Khoo bahwa memutar pengembang utama bisa menjadi ide yang buruk. Secara umum untuk proyek yang lebih besar ada satu petunjuk teknis tunggal yang mengepalai proyek dan orang itu mungkin memiliki beberapa komponen mengarah melaporkan kepada mereka untuk membahas berbagai masalah sistem yang luas.

Namun, satu poin penting yang tidak disebutkan Jonathan adalah bahwa pimpinan teknis juga mengembangkan tingkat tinggi pengetahuan institusional yang mungkin tidak dimiliki orang lain dalam proyek. Dengan memutar lead teknis Anda mengharuskan mereka untuk mengembangkan pengetahuan itu setiap kali seseorang diputar ke posisi tersebut. Selain itu, pemimpin akan mengembangkan hubungan dengan pelanggan di luar proyek karena mereka idealnya harus hadir untuk beberapa pertemuan (lebih besar) dengan pengguna akhir.

Memiliki petunjuk teknis bagus, tetapi jika Anda mencoba dan memutarnya, Anda mungkin akan merasa lebih baik tanpa itu.

rjzii
sumber
2

Saya pikir pertama-tama Anda perlu menentukan apa peran orang ini, lebih dari siapa yang melakukannya dan untuk berapa lama.

Anda juga perlu menentukan apakah ini akan secara signifikan mengubah cara Anda bekerja dan apakah itu akan mengurangi kinerja Anda. Memiliki satu orang harus "menyetujui" setiap baris kode Anda daripada rekan mana pun yang dapat memiliki efek serius.

Peran spesifik yang berbeda dapat diberikan kepada anggota tim yang berbeda, tanpa ada di antara Anda yang "superior". Orang yang pandai berkomunikasi antara manajer dan orang lain mungkin diberi peran khusus untuk melakukan itu, tetapi itu tidak berarti bahwa mereka adalah "pengembang utama", dan mereka mungkin bukan orang yang paling baik secara teknis atau paling pandai dalam hal itu. melakukan ulasan kode.

Uang tunai
sumber
2

Saya berani bertaruh bahwa sementara tim tampak datar, sudah ada pemimpin di antara mereka, DAN mereka semua sudah tahu itu.

Bagan organisasi jarang mencerminkan bagaimana orang sebenarnya bekerja. Terutama bagan ideal seperti "tim datar".

Dan Ray
sumber
2

Jika organisasi Anda flat, maka suruh semua dev Anda melalui pelatihan Analisis Kebutuhan dan Solusi (RSA) agar mereka mengikuti proses formal. Anda kemudian dapat menugaskan beberapa ahli materi pelajaran (SME) untuk suatu proyek dan mendapatkan proses yang terdokumentasi untuk semua solusinya.

Juga, karena Anda menyebutkan bahwa manajer adalah non-teknis, individu itu masih dapat mendorong proses RSA dan memfasilitasi komunikasi. Anda juga dapat menetapkan UKM tertentu sebagai pemimpin pada proyek per proyek untuk membantu dalam fasilitasi dan membangun keterampilan individu mereka.

SpecTP
sumber
1

Mengapa tim dev tidak memilih secara anonim? Saya akan menggunakan voting preferensial.

SnoopDougieDoug
sumber
1
  1. Anda dapat memilih seseorang di antara tim Anda untuk memimpin tim Anda.
  2. Bos Anda dapat mempekerjakan orang berpengalaman lain untuk mengambil posisi ini

PS Saya tidak berpikir berputar adalah ide yang bagus, orang itu harus terampil dalam komunikasi, dan memiliki pengalaman yang baik dalam mengelola tim.

Hai 福气 鱼
sumber
1

Seperti yang disarankan oleh pertanyaan Anda, seluruh tim bertanggung jawab untuk pengambilan keputusan, saya sarankan Anda tetap melakukannya dengan cara yang sama. Namun, untuk berkomunikasi dan melaporkan kepada pihak berwenang di luar tim, Anda dapat memiliki Koordinator Tim yang dipilih di dalam tim. Tanggung jawabnya mencakup segala sesuatu yang non teknis. Untuk semua aspek teknis, tim harus duduk dan berdiskusi dengan cara yang sama seperti yang Anda lakukan sekarang. Keputusan apa pun yang Anda buat, akan dikomunikasikan ke dunia luar melalui Koordinator . Posisi ini dapat dirotasi dengan mudah berdasarkan mode waktu.

Pendekatan lain adalah memiliki pengembang utama berdasarkan tingkat pengalaman> pengalaman pada proyek yang sama> pengalaman di perusahaan yang sama. Dan jika perlu, posisi dapat diputar secara fase ke fase. Idealnya, setiap fase pengembangan memiliki serangkaian persyaratan dan hasil, yang dapat direncanakan dan dikerjakan sebagai proyek mini. Memiliki lead yang berbeda untuk setiap fase akan meminimalkan hampir semua dampak negatif rotasi.

Denmark
sumber
1

Alih-alih memiliki pengembang timbal yang berputar, miliki pemimpin proyek yang berputar, seseorang yang memiliki pengetahuan dan pemahaman paling banyak untuk mendapatkan x proyek menuju penyelesaian.

Pengembang Pimpinan biasanya merupakan promosi, dan harus diperoleh.

Tetapi untuk membantu melatih dan mengembangkan keterampilan kepemimpinan, putar siapa yang bertanggung jawab atas berbagai proyek, dan kemudian miliki pengukuran yang jelas tentang seberapa baik mereka melakukannya atau tidak.

crosenblum
sumber
0

Harus ada pemimpin tim dengan cara yang sama ada kapten di kapal yang cukup besar.

Jika manajer tidak atau tidak dapat mengisi peran itu, salah satu pengembang harus ditunjuk untuk mengisinya.

pengguna1249
sumber
0

Saya pikir Anda harus bersama-sama menyadari betapa beruntungnya Anda memiliki kekuatan untuk membuat semua keputusan teknis di dalam tim pengembangan. Berapa banyak tim yang menderita dari beban hierarki pengelolaan mikro yang memaksakan keinginan teknis mereka pada mereka, sering kali menghasilkan pilihan yang tidak konsisten, mimpi buruk kompatibilitas dan frustrasi pengembang ...

Dalam manfaat seorang pemimpin yang Anda sebutkan, beberapa dari mereka (bimbingan teknis terorganisir ...) harus sudah terjadi jika sebenarnya ada orang yang secara alami luar biasa dalam hal keterampilan teknis. Jika ini masalahnya, saya tidak bisa melihat seberapa resmi menjadikan orang itu sebagai pengembang utama akan memberikan hasil yang lebih baik daripada yang Anda dapatkan sekarang. Jika anggota tim seperti itu tidak ada di tim Anda, maka saya tidak dapat melihat bagaimana secara resmi memberikan otoritas teknis kepada siapa pun akan menghasilkan hasil yang lebih baik daripada diskusi dan keputusan kolektif.

Saya melihat nilai lebih dalam membangun pemimpin organisasi - koordinator seperti yang dikatakan Denmark. Bukan manajer, bukan bos, tetapi seseorang yang akan mengatur proses pengambilan keputusan kolektif dan bertindak sebagai juru bicara tim, sebuah antarmuka ke luar. Jika Anda pergi ke sana, memutar bisa menjadi ide yang bagus untuk menghindari masalah yang disebutkan di atas - perbedaan gaji, kecemburuan ...

guillaume31
sumber
0

Terkadang, menjadi seorang pemimpin lebih merupakan tanggung jawab yang lebih berat daripada yang lainnya. Seseorang HARUS bertanggung jawab atas pilihan, begitulah masyarakat bekerja ketika tidak ada orang lain yang mau melakukannya.

Fakta bahwa sebuah tim ingin merotasi pemimpin dapat berarti bahwa setiap orang merasa dapat mengambil tanggung jawab atas apa yang mereka lakukan, dan mereka tidak ingin mendukung siapa pun, dan itu tampaknya merupakan hal yang baik: tidak ada perasaan keras, dan semua orang ingin tim sukses.

Dalam kasus-kasus itu, ketika ada keputusan sulit yang harus diambil, pilih saja keputusan itu, dan ketika Anda membutuhkan perwakilan untuk berbicara dengan orang lain, pilih saja seseorang yang memiliki keterampilan komunikasi terbaik.

jokoon
sumber
-1

Pertama-tama, saya pikir Anda perlu memisahkan peran. Tidak ada alasan bahwa orang yang bertindak sebagai titik kontak antara tim dan seluruh perusahaan perlu juga menjadi orang yang membuat keputusan teknis akhir.

Bertindak sebagai point-of-contact tidak harus memberi otoritas apa pun, jadi memutar tanggung jawab itu pada jadwal tetap seharusnya tidak perlu. Saya akan mengatakan jika tim duduk, semua orang mengatakan betapa mereka keberatan melakukan pekerjaan itu (beberapa orang mungkin menyukainya, yang lain mungkin sangat menentang melakukannya), lalu memilih seseorang untuk mengisi peran. Buatlah dipahami bahwa mereka dapat menyerahkannya kepada orang lain kapan pun mereka bosan melakukannya.

Adapun sisi memimpin teknis. Jika setiap orang memiliki keahlian yang sama dan tingkat pengalaman yang kira-kira sama, maka tentu saja, biarkan semua orang mencoba menjadi pemimpin. Yang penting adalah untuk benar-benar tidak mengubah proyek tengah. Tunggu hingga awal proyek baru, lalu pilih pemimpin yang memiliki pengalaman paling banyak di bidang itu, atau secara acak.

Cercerilla
sumber