Perusahaan tempat saya bekerja saat ini membuat saya mengembangkan banyak perangkat lunak misi kritis internal. Saya memiliki satu orang lain yang bekerja untuk saya, tetapi dia lebih merupakan orang yang menguji dan tidak benar-benar seorang pengembang. Perusahaan prihatin dengan beberapa proyek ini dan apa yang terjadi jika saya ditabrak bus. Bagaimana perusahaan mengambil kembali setelah sesuatu seperti itu ketika hanya ada satu orang yang mengetahui basis kode. Satu orang yang mengetahui status proyek saat ini.
Saya menjelaskan bahwa dengan dokumentasi saya dan dengan dokumentasi dalam kode itu mereka benar-benar hanya perlu mempekerjakan programmer lain yang mengerti bahasa yang digunakan dan bahwa mereka dapat mempercepat dengan cukup cepat.
Mereka menyarankan perusahaan luar yang mungkin "tetap up to date" secara bulanan yang bisa "mengambil alih" jika terjadi sesuatu. Saya hanya tidak melihat bagaimana ini bisa membantu selain membayar seseorang demi membayar mereka. Lebih buruk lagi saya membayangkan satu hari sebulan terbuang untuk mendiskusikan proyek dengan perusahaan konsultan ini. Saya melihat bagaimana ini bisa membantu saya hanya tidak melihatnya sebagai lebih membantu daripada menyewa seorang programmer setelah kematian saya sebelum waktunya.
Pikiran? Situasi serupa dan bagaimana penanganannya saat ini di tempat Anda bekerja?
Jawaban:
Sayangnya yang mereka lakukan adalah "menaruh semua telur mereka dalam satu keranjang".
Bekerja dengan perusahaan luar sangat mungkin memberikan pendapatan bagi mereka, tetapi saya sangat ragu bahwa itu akan bernilai uang. Dokumentasi selalu terlihat bagus dan jelas ketika Anda menulisnya. Masalahnya adalah bahwa Anda hanya tahu berapa nilainya ketika seseorang mencoba membacanya - seseorang yang nyaris tidak mengetahui sesuatu (teknis) tentang proyek (bagian dalam).
Bagaimanapun, membaca basis kode lengkap yang tidak Anda ketahui tentang hal itu mungkin, mungkin hanya akan menghabiskan banyak waktu (jauh melampaui kemampuan kebanyakan bisnis).
Taruhan jujur terbaik mereka adalah mempekerjakan seseorang untuk bekerja dengan Anda (benar - benar tidak di bawah bimbingan Anda) untuk jangka waktu tertentu, dan untuk menguji berapa lama dia sampai ke titik di mana ia dapat memahami dan mengubah bagian penting dari proyek.
Jika Anda membutuhkan lebih banyak waktu daripada yang dapat Anda tanggung jika pergi, maka mereka harus secara serius mempertimbangkan untuk merekrut satu atau lebih programmer permanen (penuh atau paruh waktu), dan jangan pernah membiarkan mereka naik bus yang sama. :)
Apa pun itu, programmer yang baik yang tiba-tiba pergi selalu membuat keadaan menjadi lebih buruk daripada sebelumnya.
sumber
Saya harap Anda tidak tertabrak bus! Anda benar, saya tidak melihat nilai dari melakukan ini. Pertama, perusahaan lain akan membebankan biaya lebih dekat ke pengembang penuh waktu dan mereka akan mengkritik hal-hal dan memperlambat Anda. Mereka mungkin meminta terlalu banyak pengiriman dan penjelasan dari Anda. Juga, tidak ada jaminan nyata bahwa mereka akan dapat mengambil, karena tidak akan ada kesempatan bagi Anda untuk menguji mereka sebelum mereka diminta untuk mengambil alih.
Saya menyarankan agar perusahaan berinvestasi di pengembang lain. Pengembang ini tidak harus berada pada tingkat keahlian Anda, tetapi waktu yang dihabiskan bersamanya akan menjadi investasi untuk proyek tersebut. Anda akan mendapatkan beberapa kesempatan untuk menguji pemahamannya karena dia akan bekerja langsung dengan Anda.
Pastikan Anda tidak naik mobil yang sama saat makan siang :)
sumber
Salah satu solusi yang benar-benar memiliki nilai adalah mempekerjakan Anda seorang mentor. Ini adalah layanan yang saya sediakan untuk perusahaan perangkat lunak yang lokal bagi saya. Saya mengunjungi selama setengah hari seminggu atau sehari seminggu. Setiap kunjungan memberikan nilai langsung seperti memastikan pengembang menggunakan praktik terbaik, mengajari mereka hal-hal baru yang perlu mereka pelajari, memberi mereka kesempatan untuk terpapar hal-hal baru karena mereka biasanya sibuk mengkode dan tidak pergi ke peluncuran dan seperti, menyelesaikan bug langsung dan penghalang jalan mereka, menjelaskan hal-hal yang mereka tidak tahu bagaimana melakukannya, dan sebagainya. Kadang-kadang, saya menangani tugas pengkodean, terutama untuk sekali saja di mana staf perlu belajar banyak untuk melakukan tugas itu, dan kemudian tidak perlu melakukannya lagi. Saya juga dapat memproyeksikan mengelola hal-hal seperti membuat Rencana Pemulihan Bencana ditulis - itu membutuhkan jawaban dari devs dan manajemen,
Pengaturan seperti itu mungkin lebih murah daripada yang disarankan atasan Anda, dan memiliki nilai untuk Anda. Ini memiliki efek samping bahwa mentor akan mempelajari sistem Anda dan mungkin akan dapat melatih pengganti Anda jika Anda terkena lotre .
sumber
ISO 9001 dalam bisnis ini adalah tentang tertabrak skenario bus . Apakah mendapatkan layanan dari perusahaan itu memungkinkan perusahaan Anda memenuhi syarat untuk sertifikasi itu? Ini mungkin pertanyaan yang menarik untuk ditanyakan kepada mereka.
Atau untuk membuat mereka berputar-putar mencari jawaban. (yang mungkin terdengar sangat mirip dengan "tidak")
sumber
Saya setuju dengan OP. Mempekerjakan pengembang lain lebih baik. Jika basis pengetahuan ada di perusahaan lain yang tidak dapat mereka kendalikan maka situasinya sama risikonya.
Bagi saya sepertinya mereka ingin menggantikan Anda dengan tenaga kerja lepas pantai di mana orang bisa bertahan hidup dengan $ 10 per bulan.
sumber
Mereka membutuhkan pengembang tambahan. Sangat sederhana. Anda berdua harus bekerja di seluruh basis kode. Atau setidaknya cukup akrab dengan pekerjaan masing-masing untuk melangkah masuk untuk memperbaiki masalah dalam keadaan darurat. Jika anggaran ketat, secara teori Anda bahkan dapat menyewa paruh waktu - itu mungkin sudah cukup. Seseorang yang dapat menghabiskan beberapa jam setiap minggu mempelajari kode dengan melakukan perawatan dan perbaikan. Itu akan cukup membiasakan mereka.
Menyewa perusahaan luar? Saya bersama Anda di sana - mereka mungkin juga membuang uang itu ke toilet. Bahwa mereka berpikir untuk menyewa perusahaan eksternal untuk mempelajari sistem Anda mengatakan kepada saya bahwa mereka sebenarnya tidak peduli dengan skenario bus (karena, seperti yang disebutkan, solusinya jelas) dan hanya perlu alasan untuk melemparkan frasa buzz 'terkena oleh main-main sambil bermain golf dengan sesama manajer mereka, atau ... bahwa mereka ingin melakukan outsourcing pekerjaan Anda. Lagi pula, jika sebuah perusahaan eksternal dapat mempelajari seluruh basis kode Anda dengan harga lebih rendah daripada seorang karyawan, pada titik tertentu yang berambut runcing akan bertanya lalu mengapa mereka membutuhkan Anda?
sumber
Ini lebih umum daripada yang Anda pikirkan bagi perusahaan untuk memiliki rencana ketika beberapa karyawan kritis ditabrak bus.
Biasanya meskipun itu memasangkan talenta kunci dengan seseorang internal (yang tidak diizinkan melakukan perjalanan dengan penerbangan yang sama ... Atau bus) untuk mencegah keunggulan kompetitif dan ide-ide bocor ke luar ke kompetisi.
sumber
Pertama, orang yang menguji kode Anda seharusnya tidak bekerja 'di bawah' Anda; itu adalah konflik kepentingan.
Dalam ketidakhadiran Anda, mereka perlu menilai risiko tertinggal di bidang: debugging dan menambahkan fitur baru. Mereka dapat mempercepat seseorang untuk menjadi debugger dengan cepat, kecuali Anda telah menulis kode yang salah. Biasanya, menambahkan fitur baru dapat menunggu hingga Anda mendapatkan programmer baru siap. Tidak selalu demikian ketika ada janji untuk klien yang sudah ada atau di pasar di mana Anda berusaha mengikuti persaingan.
Saya bekerja di perusahaan tempat saya menjadi satu-satunya pengembang. Mereka tidak menggantikan saya dengan programmer lain, tetapi secara drastis mengubah arah dan memilih aplikasi pihak ketiga. Keputusan bisnis yang aneh telah dibuat. Ini mencegah mereka untuk secara drastis memisahkan diri dari persaingan dan memiliki jumlah leverage yang luar biasa untuk mengembangkan bisnis mereka. Mungkin itu bukan lagi tujuan mereka?
sumber
Bahkan ada istilah yang disebut nomor bus proyek. Jika nomor bus salah satunya Anda punya masalah besar. FEMA di AS meminta perusahaan untuk lebih siap menghadapi bencana.
Bukan hanya kehilangan pengembang kunci. Ini adalah dampak dari bencana alam, atau kurangnya cadangan di luar lokasi. Ada banyak pertanyaan di situs ini yang menanyakan apakah mereka perlu menggunakan kontrol sumber sebagai pengembang solo. Kemampuan pengembang baru untuk menarik versi terbaru dari perangkat lunak dan melihat bagian mana yang baru akan membantu mereka.
Ada lebih banyak info tentang PS-Prep di http://www.fema.gov/privatesector/preparedness , dan http://readyrating.org/ .
sumber
Aku tahu rasa sakitmu. Perusahaan tempat saya bekerja memiliki 20+ pengembang, dan semua orang memiliki pengetahuannya.
Bit yang tumpang tindih benar-benar ... bit, jadi jika seseorang hilang (liburan, ilness, dll) dan sesuatu terjadi pada alat yang mereka kelola, Anda kacau.
Masalahnya adalah mereka tahu situasinya dan tidak terlalu peduli, mungkin mereka belum memukul wajah mereka.
sumber
Saya suka kutipan yang berbunyi seperti "Pemakaman penuh dengan orang-orang yang sebelumnya dianggap sangat diperlukan". Yang mengatakan, perusahaan Anda memiliki tugas untuk meminimalkan risiko, saat ini Anda dianggap sebagai satu. Saya telah ada di sana pada kesempatan, yang terbaik untuk tidak hanya tidak melawan, tetapi untuk bekerja lebih keras. Jangan hanya melatih perusahaan eksternal, rekomendasikan perusahaan terbaik di kota, yaitu perusahaan yang paling Anda percayai. Juga pertimbangkan, jika Anda melakukan pekerjaan lebih baik daripada orang lain, Anda tidak dapat tergantikan oleh definisi.
sumber