Saya memiliki beberapa programmer di bawah saya, mereka semua melakukannya dengan sangat hebat dan sangat cerdas. Terima kasih banyak.
Tetapi masalahnya adalah bahwa masing-masing dari mereka bertanggung jawab untuk satu area inti, yang tidak ada orang lain di tim yang memiliki ide foggiest tentang apa itu. Ini berarti bahwa jika salah satu dari mereka dikeluarkan, perusahaan saya sebagai bisnis sudah mati karena tidak dapat diganti.
Saya berpikir tentang membawa programmer baru untuk melindungi mereka, kalau-kalau mereka ditabrak bus, atau mengundurkan diri atau apa pun. Tapi saya takut itu
- Pemrogram lama mungkin secara aktif menolak gagasan transfer pengetahuan, takut bahwa cadangan mungkin mengurangi nilai mereka.
- Saya tidak memiliki sistem untuk memfasilitasi transfer teknologi antara pengembang yang berbeda, jadi bahkan jika saya meminta mereka untuk melakukannya, saya tidak yakin mereka akan melakukannya dengan benar.
Pertanyaanku adalah,
- Bagaimana memasukkannya ke programmer lama sedemikian mereka akan setuju
- Sistem apa yang Anda gunakan, untuk memfasilitasi "cadangan" semacam ini? Saya dapat memahami bahwa Anda dapat melakukan tinjauan kode, tetapi apakah ada cara sederhana untuk melakukan ini? Saya pikir kami belum siap untuk pemeriksaan penuh, check-in dengan review kode check-in.
teamwork
knowledge-transfer
Graviton
sumber
sumber
Jawaban:
Sampaikan masalah secara terbuka kepada mereka, tentu saja sedemikian rupa sehingga mereka tidak melihatnya sebagai ancaman, lebih merupakan kesempatan untuk membuat tim dan proyek bekerja lebih baik. Misalnya "Saya ingin orang lain tahu apa yang Anda tahu jika Anda dipecat" jelas merupakan pendekatan yang salah :-) "Saya ingin memastikan kelancaran proyek bahkan jika beberapa dari Anda pergi berlibur atau jatuh sakit " jauh lebih baik.
Biasanya para pengembang sendiri mengalami masalah itu sendiri setiap kali beberapa dari mereka sedang berlibur dan mereka perlu melindungi mereka. Selain itu, pengembang yang baik merasa bertanggung jawab atas proyek yang sedang mereka kerjakan, sehingga mereka mungkin akan setuju dengan ide ini. Namun, beri mereka waktu untuk berdiskusi dan (mudah-mudahan) berkomitmen pada ide tersebut. Juga, izinkan mereka menyampaikan pendapat tentang bagaimana dan dengan siapa mereka membagikan pengetahuan mereka di dalam tim. Mungkin ternyata Joe merasa OK untuk bekerja (dan berbagi pengetahuannya) dengan Jim, tetapi tidak dengan Jack dll.
Di tim kami, selain dari tinjauan kode / desain, kami menggunakan
Peninjauan kode itu sendiri mungkin tidak cukup karena di banyak daerah biasanya ada lebih banyak hal untuk diketahui pengembang daripada apa yang dapat langsung dibaca dari kode. Dengan kata lain, ada model domain juga. Anda dapat membaca apa kode sebenarnya, tetapi tanpa model, Anda tidak akan tahu mengapa .
sumber
Team/project wiki
, bisakah Anda menguraikan hal ini? Dan juga,face-to-face knowledge transfer sessions
apakah Anda mengadakan sesi semacam ini secara teratur pada waktu yang ditentukan?Knowledge transfers we do on when needed
, itu mungkin selama staf mengundurkan diri? Bukankah waktu yang dibutuhkan untuk ini agak terlalu pendek?Salah satu cara untuk memotivasi mereka untuk membagikan pengetahuan mereka adalah dengan meminta mereka untuk membuat presentasi singkat tentang pekerjaan mereka kepada orang lain. Programmer biasanya sangat bangga dengan pekerjaan mereka, dan ini akan menjadi kesempatan untuk memamerkannya. Presentasi adalah kesempatan yang baik untuk membuat mereka menunjukkan beberapa keanehan yang jarang diketahui oleh orang luar.
Juga, mengapa tidak hanya terbuka tentang hal itu dan beri tahu semua orang bahwa Anda semua harus membuat skema berbagi pengetahuan jika seseorang ditabrak bus. Saya tidak melihat ini sebagai tidak masuk akal. Itu sedang terjadi di perusahaan saya sekarang, dan meskipun ada yang defensif tentang hal itu, mereka tahu itu perlu dilakukan.
Mungkin mereka dapat bekerja berpasangan pada beberapa hal, jika mereka memiliki sifat ingin tahu, seharusnya tidak ada masalah.
sumber
Mendapatkan pemutakhiran internal perangkat lunak harus menjadi langkah pertama, sebelum Anda mulai merekrut orang baru. Tentu, itu berarti bahwa programmer Anda yang berharga akan menghabiskan waktu dengan alat-alat Office dan UML, bukan IDE, tapi saya pikir itu sangat berharga.
Setelah Anda memiliki dokumentasi saat ini, Anda dapat membiarkan programmer Anda memeriksa ulang untuk memastikan semua orang mengerti apa yang ditulis orang lain. Masih tidak perlu untuk orang baru.
Maka Anda dapat mempertimbangkan untuk mempekerjakan orang baru. Atau tidak, tergantung pada beban kerja di perusahaan Anda.
sumber
Jika Anda berada di perusahaan besar, Anda dapat menghubungi HR dan membicarakan masalah ini. Percayalah, orang-orang di bidang akuntansi memiliki masalah yang sama jika personil kunci ditabrak bus. Orang-orang pemasaran juga akan memiliki banyak masalah jika seorang penjual kunci menjadi zombie di tengah negosiasi penting - itu sering terjadi, atau begitulah yang saya katakan.
Saya percaya bahasa SDM yang tepat untuk ini adalah perencanaan Suksesi . Perusahaan Anda mungkin sudah memiliki kebijakan dan kerangka kerja untuk menangani hal ini.
sumber
Satu tempat saya bekerja memiliki masalah yang sama. Apa yang mereka lakukan adalah merekrut satu pengembang junior untuk bekerja dengan masing-masing pengembang senior. Mereka menciptakan tim kecil yang terdiri dari 2 orang yang mengerjakan proyek bersama. Setiap beberapa bulan atau proyek mereka akan memutar pengembang junior di antara tim. Dengan cara ini, pengembang senior tetap menjadi ahli materi pelajaran, tetapi para pengembang junior mulai memahami dengan baik semua sistem dan bagaimana mereka bekerja bersama. Ditambah dengan proyek penggandaan ukuran tim bisa dilakukan lebih cepat.
Untuk proyek yang lebih besar yang muncul, pengembang senior kadang-kadang diminta untuk bertindak sebagai pengembang Junior pada bagian lain dari sistem untuk panjang proyek sehingga mereka dapat mulai mempelajari sistem lain.
Kuncinya di sana adalah untuk menghormati pengetahuan dan senioritas pengembang yang ada sambil tetap memperluas dan menumbuhkan tim. Itu adalah proses yang lambat tetapi seiring waktu berjalan dengan baik.
sumber
Salah satu hal yang membuat proyek open source yang sukses menjadi sangat sukses adalah kurangnya kode "kepemilikan". Maksud saya, tidak ada seorang pun yang menjadi pengelola tunggal area aplikasi - siapa pun dapat dan didorong untuk memberikan kontribusi ke bagian mana pun dari aplikasi tersebut. Itu adalah sesuatu yang saya yakini kuat.
Yang ingin Anda lakukan adalah menjelaskan bahwa keadaan sebenarnya merugikan tim yang Anda miliki sekarang. Inilah poin-poin yang ingin Anda sampaikan, dan sebaiknya dalam urutan ini:
Pada catatan pribadi, saya harus berurusan dengan seorang rekan kerja yang meninggal. Meskipun tidak ada informasi silo, kerugian masih memukul keras. Peluang terjadinya ini jauh lebih rendah dari titik peluru ketiga di atas.
Setelah Anda menempatkan kasus Anda di luar sana, mintalah bantuan mereka untuk ide-ide tentang bagaimana memperbaiki masalah. Jangan datang dengan Anda sendiri tentunya. Gagasan mereka akan membantu mereka menyadari bahwa mereka adalah bagian dari tim, dan mereka dibutuhkan untuk lebih dari sekedar bidang keahlian mereka. Mungkin Jane tertarik pada apa yang dilakukan Joe, tetapi merasa agak terintimidasi olehnya. Mengetahui hal itu dapat membantu membuat transfer pengetahuan lebih menyenangkan. Beberapa hal yang ingin Anda lakukan adalah:
Secara umum, cobalah untuk mengesankan mereka bahwa Anda ingin membuat pekerjaan lebih menyenangkan, dan Anda perlu bantuan mereka untuk melakukannya.
sumber
Magang mungkin ide yang baik, mereka akan menjadi bawahan langsung ke pengembang saat ini, sehingga mereka tidak akan merasa terancam.
Seiring pertumbuhan perusahaan, Anda akan membutuhkan pengembang lama DAN mereka yang berhasil setelah magang.
Saya pikir ini mungkin berhasil.
sumber
Umumnya, ketika beberapa manajer tiba-tiba mulai memperhatikan dokumentasi dan perencanaan suksesi, itu adalah tanda peringatan kuat bahwa para programmer akan dipecat atau diberhentikan. Ini adalah penyimpangan dari perilaku manajerial yang khas dan kekhawatiran bahwa itu memicu semua jenis sinyal peringatan pada programmer.
Level 3 dari " Tanda Peringatan Kehancuran Perusahaan ".
Sebagai alternatif, satu esai menunjukkan bahwa kami akan mendorong budaya " Naik atau Keluar " meskipun argumen berlawanan adalah bahwa sangat sedikit perusahaan yang memiliki tangga karier teknis yang dengan cara apa pun menyerupai spektrum keuangan dan kekuasaan yang tangga karier manajerialnya (mis) mengandung.
sumber
Membangun konsep dokumentasi lengkap yang dimulai @ammoQ dalam jawabannya ...
Seorang manajer yang baik bekerja untuk mengembangkan keterampilan laporan langsung mereka sehingga salah satu dari laporan itu dapat menggantikannya. Buat pengembang Anda mengerti bahwa seorang karyawan yang memberikan transparansi penuh atas pekerjaan mereka lebih berharga daripada orang yang merahasiakan dan menyembunyikan semua pekerjaan mereka. Jika pengembang 'rahasia' meninggal hari ini, itu akan menjadi kewajiban biaya yang sangat besar bagi perusahaan untuk mendapatkan kembali pengetahuan yang hilang itu. Jika karyawan 'pengungkapan penuh' meninggal hari ini, perusahaan masih akan rugi, tetapi tidak akan terlalu merusak. Oleh karena itu, karyawan 'pengungkapan penuh' memiliki nilai lebih.
Setiap karyawan yang mencoba menyimpan pengetahuan tersembunyi untuk membuat mereka kebal terhadap pemecatan juga membuat mereka kebal terhadap promosi. Anda tidak dapat memindahkan pengembang ke posisi yang lebih menantang dan menguntungkan jika tidak ada seorang pun yang menyelesaikan tugas-tugas duniawi yang dibebani mereka hari ini. Jika tugas-tugas duniawi sepenuhnya didokumentasikan dan diungkapkan sepenuhnya daripada Anda dapat menyewa pengembang junior baru untuk mengisi dan mempromosikan pengembang sebelumnya ke posisi yang lebih senior.
Ini berarti bahwa Anda juga perlu mendokumentasikan apa yang Anda lakukan dan memberikan pelatihan untuk masing-masing laporan langsung Anda. Dengan begitu, jika Anda meninggal hari ini, salah satu dari mereka dapat mengisi Anda sampai pengganti penuh waktu ditemukan.
sumber
Sebelum saya mulai membawa programmer baru, saya akan meminta masing-masing dari mereka untuk membantu membuat warisan terdokumentasi mereka sendiri.
Baik dengan wiki, atau Alkitab 3-cincin dokumen tentang setiap aspek pekerjaan mereka.
Atau jika Anda ingin dokumentasi yang benar-benar terperinci dan teliti, pekerjakan seorang penulis teknis, untuk mewawancarai setiap programmer dan kemudian buat dokumentasi segalanya, setiap orang melakukannya, harian, mingguan, bulanan, tahunan.
Kemudian buat versi wiki-nya, agar programmer Anda dapat memperbarui / mengedit / berpartisipasi / mengomentari.
Kemudian Anda memiliki sistem yang akan tumbuh dalam waktu, dan menjadi kurva pembelajaran yang ditingkatkan untuk setiap programmer baru.
Juga jujur itu tidak bijaksana untuk memiliki programmer hanya terjebak dalam satu bidang inti, itu benar-benar membayar untuk lintas kereta, pekerjaan lintas inti.
Kemudian Anda dapat menggunakan personel yang ada, ketika 1 orang berlibur atau sesuatu seperti itu.
sumber
Setiap kali salah satu programmer Anda sakit, telepon dia berulang kali dengan pertanyaan dan masalah.
Setiap kali salah satu programmer Anda sedang berlibur, telepon dia berulang kali dengan pertanyaan dan masalah.
Mereka akan segera menyadari bahwa lebih baik bagi mereka dan juga perusahaan untuk tidak memiliki orang lajang yang bertanggung jawab atas area inti.
sumber
Tidak ada yang ingin tertabrak bus, tetapi mereka juga tidak mau harus mengambil alih proyek orang lain dalam waktu singkat dan mempertahankan proyek mereka juga. Kemudian semua orang mengambil risiko keluar dari bisnis.
Jika Anda berkembang dalam silo, Anda harus mulai memindahkan orang dari satu proyek ke proyek lainnya. Mulailah dengan dokumentasi, review kode atau memperbaiki bug sederhana. Setiap tindakan kecil perlindungan / kewilayahan kode harus diatasi sebelum ini terlalu jauh dari kendali.
Memiliki satu-satunya spesialis pada sepotong kode Anda adalah ilusi efisiensi.
Adakah yang ingin berlibur?
sumber
Saya memiliki banyak perusahaan yang bangkrut karena kesalahan bodoh oleh manajemen. Anda tidak akan crash dan terbakar jika satu atau dua insinyur pergi, Anda hanya perlu bekerja sedikit lebih keras untuk sementara waktu. Sheesh, saya mengelola tim lepas pantai yang kehilangan seseorang setiap kuartal. Mulailah memindahkan tugas. Hari ini.
sumber