Sekitar 3 bulan yang lalu, pengembang dan desainer web utama kami (orang yang sama) meninggalkan perusahaan, padang rumput yang lebih hijau adalah alasan untuk pergi. Bagus untuk mereka kataku. Masalah saya adalah bahwa departemennya benar-benar tidak berdokumen. Hal-hal yang sulit sejak pemimpin kiri, ada banyak pengetahuan baik pengetahuan teoritis yang kami gunakan untuk mengutip proyek-proyek baru dan pengetahuan teknis / implementasi produk kami yang sudah ada yang telah kami hilangkan sebagai akibat dari kepergiannya. Peran normal saya adalah sebagai manajer produk (untuk produk kami sendiri) dan sebagai analis bisnis untuk beberapa pekerjaan konsultasi berbasis proyek kami. Saya telah belajar kode pada tahun lalu dan dalam upaya untuk terus maju saya Saya telah mengambil tugas mengatur laptop saya sebagai mesin pengembangan dengan harapan mengimplementasikan beberapa permintaan fitur yang lebih mudah dan memperbaiki beberapa bug yang tidak masuk akal yang dimasukkan ke dalam sistem tiket kami. Tapi, tidak ada yang tahu cara mengambil mesin Windows baru dan mengkonfigurasinya agar bekerja dengan aplikasi produksi kami.
Saya telah meminta bos saya, yang masih berhubungan dengan pengembang yang pergi, meminta mereka untuk mendokumentasikan dan membuat proses untuk menyertakan pengembang baru, instalasi perangkat lunak, paket yang diperlukan, proses untuk digunakan ke server aplikasi produksi, dll. ini ada, dan saya memutar roda saya untuk mencoba agar komputer saya berfungsi sebagai mesin pengembangan fungsional. Tapi sepertinya dia tidak mengerti perlunya proses semacam itu ada. Rupanya pengembang baru yang menggantikan yang keluar telah menggunakan mesin yang telah dikonfigurasikan sebelumnya untuk lingkungan kita, sehingga bahkan pengembang baru tidak dapat membuat mesin baru jika kami menambahkan pengembang lain.
Pertanyaan saya adalah dua bagian:
Apakah saya salah dalam mengasumsikan proses untuk on-board dan mengkonfigurasi komputer baru untuk menjadi bagian dari sistem pengembangan kita yang seharusnya ada?
Apakah saya menjadi bayi yang pengecut dan haruskah saya mencari tahu prosesnya dan membuat dokumen sendiri?
sumber
Jawaban:
Pertama-tama, aneh bahwa pengembang harus mengatur lingkungan kerja. Tugas ini biasanya untuk administrator sistem. Jadi, dengan mempertimbangkan bahwa ini bukanlah sesuatu yang harus Anda lakukan sama sekali, Anda memiliki hak untuk mengharapkan orang lain melakukan ini untuk Anda.
Di sebagian besar (jika tidak semua) perusahaan ada periode pemberitahuan. Biasanya berkisar dari seminggu hingga sebulan. Tapi bagaimanapun juga waktu itu sudah cukup bagi orang yang pergi untuk membantu perusahaan _ membuat dokumentasi, menambahkan komentar ke kode, mendokumentasikan arsitektur, dll. Saya khawatir sudah terlambat untuk melakukan ini sekarang, tetapi jangan lupa tentang hal itu lain kali seseorang pergi.
Anda sepenuhnya benar untuk mengharapkan bahwa harus ada proses untuk menyiapkan lingkungan baru. Bahkan, jika perusahaan Anda tumbuh dan Anda memiliki lebih banyak pengembang, Anda akan menghadapi masalah yang sama - ini bisa menjadi argumen berat untuk meyakinkan bos Anda. Anda bahkan dapat menggunakan argumen untuk meyakinkan manajemen untuk menyewa administrator sistem untuk tugas-tugas seperti itu (saya berasumsi Anda tidak memilikinya karena Anda menghadapi masalah). Selain mengatur lingkungan pengembangan, jika Anda memiliki mesin baru itu harus diintegrasikan ke dalam jaring lokal, dll.
sumber
Tidak. Memiliki proses ini akan menghindari masalah yang sudah Anda hadapi. Di beberapa organisasi yang lebih besar, ada gambar disk standar tentang seperti apa tampilan mesin pengembang. Ketika pengembang baru disewa, komputer yang tersedia dengan spesifikasi perangkat keras yang tepat dihapus dan dicitrakan kembali menggunakan gambar disk "pengembang" ini. Daftar periksa standar (kadang-kadang mencakup pemasangan perangkat lunak pasca-pencitraan untuk alat-alat tertentu yang tidak termasuk dalam gambar) diikuti oleh orang-orang teknologi yang melakukan ini untuk memastikan bahwa semua mesin pengembang memulai dengan cara yang sama (pengguna dapat mengubah dan memodifikasinya setelah mereka mendapatkan mereka - dengan risiko sendiri!).
Demikian pula, beberapa aplikasi dengan pengaturan yang sangat rumit memiliki dokumen yang menjelaskan kepada pengembang baru cara memeriksa kode, mengkonfigurasi server, dan membangun dan menyebarkan aplikasi secara lokal. Satu aplikasi bahkan memiliki skrip pengaturan hanya untuk workstation untuk membuat proses ini lebih mudah.
Ya, tapi hanya sedikit. Adalah satu hal untuk mengatakan bahwa ini semua harus didokumentasikan sejak lama, dan pengembang yang pergi harus melakukan transfer pengetahuan lengkap ke hari penggantian mereka (atau minggu jika mungkin) sebelum mereka pergi. Kedengarannya tidak ada yang terjadi, dan itu semua di masa lalu sekarang.
Jadi bagaimana sekarang? Saya ragu pengembang yang pergi akan banyak membantu. Mereka sudah memiliki pekerjaan harian yang baru dan siapa yang tahu apa yang sibuk dengan mereka dalam kehidupan mereka sendiri. Saya ragu ada alasan hukum yang bisa digunakan manajer Anda untuk memaksa mereka membantu. Akan lebih baik jika mereka mengambil beberapa jam dari waktu mereka sendiri untuk menjawab beberapa pertanyaan, tetapi jangan mengandalkan itu. Sepertinya Anda terjebak mencari tahu sebagian besar untuk diri sendiri. Ini memberi Anda kesempatan untuk mendokumentasikan proses yang tepat secara menyeluruh dan melakukannya dengan benar. Mereka yang mengikuti Anda akan berterima kasih untuk ini! Semoga berhasil!
sumber
Pertama-tama, Anda harus keluar dari Visual SourceSafe. Saya pikir itu perlu dikatakan. Paling tidak pindah ke TFS. Dan ada opsi lain juga.
Nah, itu tidak mungkin. Saya pikir ini adalah kasus, "jika Anda ingin segala sesuatunya dilakukan dengan benar ..." Tujuan utama Anda adalah pengembang dapat menghidupkan mesinnya yang baru dipasang, terhubung ke sumber, dapatkan yang terbaru, tekan f5 (atau apa pun yang Anda gunakan untuk komputer Anda) jalankan pintasan aplikasi) dan miliki aplikasi yang berfungsi.
Salah satu opsi adalah membangun lingkungan kerja dari bawah ke atas dan menggunakannya sebagai gambar pengembang dasar. Ketika seorang pengembang datang, yang harus Anda lakukan adalah menyebarkan gambar itu ke mesinnya dan itu akan bekerja.
Ada beberapa buku tentang cara memindahkan lingkungan Anda ke keadaan yang lebih mudah. Saya suka Pengiriman Berkelanjutan dan Integrasi Berkelanjutan dari seri Fowler sendiri, tetapi ada opsi lain di luar sana.
sumber
Ketika saya memulai pekerjaan saya saat ini, kami memiliki prosedur terdokumentasi untuk menyiapkan PC pengembang.
Saya mengikuti prosedur sendiri, dengan tekun menghindari "bantuan" tim yang ada.
(Pengetahuan itu perlu diwujudkan dalam dokumen, bukan pengembang yang sudah lama ada.)
Saya menandai prosedur dengan perubahan garis merah di mana itu salah atau tidak lengkap, dan seminggu kemudian memiliki dua hal, prosedur yang berhasil dan PC pengembangan yang berfungsi.
Setelah kegagalan hard disk setahun kemudian, butuh 2 hari untuk membangun kembali.
Beri tahu atasan Anda: jika hard drive gagal pada PC itu, tidak akan ada perkembangan yang terjadi!
Saya memutuskan 2 hari adalah buang-buang dua hari ....
Sekarang kami menggunakan mesin virtual dengan gambar disk untuk setiap proyek pengembangan.
Setup adalah untuk menyalin gambar VM ke PC target dan memulainya. Ada ikon yang disebut "runme" yang Anda klik, itu meminta nama pengguna Anda dan kemudian yang mengubah nama pengguna yang digunakan untuk mengakses kode sumber ke kode Anda sendiri. Ini juga mengubah bidang penulis dokumen kosong IDE ke nama Anda.
(Saya menulis runme dalam waktu sekitar 2 jam, kami pengembang, kami memprogram masalah kami)
PC pengembang kami adalah mesin standar kecuali untuk server VM.
Kami menggunakan virtualbox, yang tidak mahal.
Menggunakan Mesin Virtual membuat mengganti mesin adalah pekerjaan 20 menit yang sangat sulit . Tugas ini akan lebih cepat jika kita memiliki ethernet gigabit untuk menyalin VM.
Pengungkapan penuh: Saya pemimpin tim tempat saya bekerja dan manajemen saya memberi saya kendali (-ish) gratis.
sumber
Seharusnya ada beberapa dokumentasi yang mengatakan perangkat lunak apa yang diperlukan untuk mengkompilasi dan menjalankan aplikasi.
Juga harus ada dokumentasi yang menjelaskan apa yang dibutuhkan kotak klien untuk menjalankan aplikasi.
Mereka bukan daftar yang sama.
Jika perusahaan Anda menyewa pengembang baru, berapa lama yang diharapkan bagi mereka untuk mulai membuat kode? Satu hari? Seminggu? Tanpa mengetahui perangkat lunak apa yang diperlukan untuk mengkompilasi kode, ini bisa menjadi proses trial and error yang bisa memakan waktu cukup lama. Tapi, itu hanya sesuatu yang perlu dilakukan sekali.
Pertanyaan saya adalah, apa yang dilakukan pengembang baru? Ini harus menjadi pekerjaannya, bukan milikmu. Dia adalah pengganti orang lain. Ya, itu menyebalkan bahwa dia memasuki lingkungan tanpa dokumentasi, tetapi itu seharusnya menjadi tugasnya untuk mendokumentasikan sesuatu. Suruh dia duduk dan mencari tahu apa lingkungan pengembangan itu dan mendokumentasikannya. Minta dia untuk mencari tahu dan mendokumentasikan apa yang diperlukan untuk menjalankan aplikasi pada kotak klien.
Sedangkan untuk menghubungi pengembang lama, saya tidak akan. IMHO, jika seorang dev meninggalkan perusahaan tanpa dokumentasi atau transfer pengetahuan, mereka berharap dipanggil untuk melakukan pekerjaan pada tingkat konsultasi. Itu tidak profesional dan tidak boleh dihargai. Ya, mungkin butuh waktu ekstra untuk mencari tahu sendiri, tetapi Anda / tim akan mempelajari sesuatu dalam proses dan dokumentasi yang dihasilkan akan terkini dan terkini.
sumber