Kepemimpinan tidak melihat nilai dalam proses standar untuk konfigurasi alat berat dan orientasi pengembang baru


9

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:

  1. Apakah saya salah dalam mengasumsikan proses untuk on-board dan mengkonfigurasi komputer baru untuk menjadi bagian dari sistem pengembangan kita yang seharusnya ada?

  2. Apakah saya menjadi bayi yang pengecut dan haruskah saya mencari tahu prosesnya dan membuat dokumen sendiri?


1
Sebagian besar ini tergantung pada teknologi yang digunakan dan detail lainnya. Dalam beberapa tumpukan teknologi Anda dapat menemukan dependensi paling penting yang perlu diinstal dalam beberapa file konfigurasi, dalam kasus lain ini perlu didokumentasikan. Saya pikir pengembang yang sekarang bekerja dengan sistem harus tahu yang terbaik informasi apa yang sangat penting.
thorsten müller

2
Dan ini harus menjadi pelajaran dalam hidup. Mengatur segalanya adalah setengah dari pekerjaan, memastikan semuanya tidak runtuh saat Anda pergi adalah setengahnya lagi.
MrFox

Ini mulai membuat saya frustrasi, saya mencoba untuk menjadi proaktif, tetapi ada beberapa masalah konfigurasi yang saya lewatkan. (Saya akan memposting hal kesalahan spesifik pada overflow) Tumpukannya adalah sebagai berikut: MS SQL server, Visual Studio 2008, Sumber Visual Aman, IIS 7, kode aplikasi ASP.NET.
OpenCoderX

1
Sumber Visual Aman ya? Jika itu masalahnya, saya curiga apa pun yang dilakukan pria sebelumnya itu tidak terlalu brilian. Kemudian lagi, setidaknya ada kontrol sumber.
Wyatt Barnett

1
Saya seorang GIT mati keras. Setelah saya mendapatkan versi situs yang berjalan secara lokal, saya akan menggunakan GIT untuk melacak perubahan saya kemudian hanya memeriksa cabang master GIT saya ke VSS. Kontrol sumber dalam kontrol sumber.
OpenCoderX

Jawaban:


5

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.


Kami memiliki administrator sistem dan posisinya adalah bahwa mereka mengkonfigurasi mesin dengan akses jaringan hal-hal dasar, hak pengguna (Active Directory), dan menginstal perangkat lunak apa pun. Sebagai contoh saya harus bekerja dengan admin jaringan untuk mendapatkan Visual Source Safe dan Visual Studio diinstal, tetapi setelah instalasi itulah pengetahuan mereka berakhir. Belum pernah ada di bidang mereka untuk melakukan konfigurasi tersebut.
OpenCoderX

1
Mungkin saya terlalu manja _ admin sys kami bahkan dapat mengeksekusi sql-queries saat menerbitkan proyek (tanpa mengetahui sql))). Dalam hal ini Anda pasti perlu memiliki dokumentasi))
superM

Di banyak perusahaan, terutama paranoid atau yang dikelola dengan tidak kompeten, "periode pemberitahuan" adalah waktu yang diperlukan untuk berjalan dari HR atau kantor manajer untuk menyerahkan pengunduran diri untuk dikawal hanya keluar dari pintu.
jfrankcarr

Saya pikir pemimpin yang pergi memberi beberapa minggu pemberitahuan, tetapi hal-hal apa yang dia lakukan untuk mempersiapkan kita untuk keberangkatannya, saya tidak tahu. Saya pikir mereka kebanyakan melatih penggantian, yang baik-baik saja, tetapi memiliki mesin yang mereka gunakan diatur oleh orang yang pergi. Seharusnya aku sedikit menancap dalam situasi ini, tetapi sampai program keberangkatan mereka bagiku hanyalah hobi. Saya diambil kembali ketika saya menemukan pengembang baru kami tahu tentang sebanyak saya tentang pengaturan sistem baru.
OpenCoderX

Ini akan berbeda untuk perusahaan yang berbeda, tetapi di mana pun saya bekerja proses konfigurasi mesin harus didokumentasikan sebagai persyaratan escrow.
JohnL

5

Apakah saya salah dalam mengasumsikan proses untuk on-board dan mengkonfigurasi komputer baru untuk menjadi bagian dari sistem pengembangan kita yang seharusnya ada?

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.

Apakah saya menjadi bayi yang pengecut dan haruskah saya mencari tahu prosesnya dan membuat dokumen sendiri?

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!


1

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.


1

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.


Saya sering bertanya-tanya tentang cara membuat VM alih-alih mengatur semuanya pada PC. Miliki VM yang bagus dan murni untuk pengembangan dan tidak khawatir bahwa orang-orang TI telah memaksa pembaruan untuk mengacaukan sistem pengembangan Anda.
Joel Rondeau

Pernah saya men-debug program C ++ yang berinteraksi dengan banyak sistem DLL ketika pembaruan antivirus berjalan. Itu mengubah beberapa DLL. Sepertinya saya tidak akan mereproduksi tes itu lagi.
Tim Williscroft

0

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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.