Bagaimana meyakinkan rekan kerja saya bahwa melakukan hal yang benar akan menghemat waktu mereka

11

Saya baru-baru ini mulai di sebuah perusahaan baru, dengan beberapa programmer. Ini adalah perusahaan berukuran sedang, dengan sekitar 70 karyawan, tetapi TI hanya memiliki 9-10, dan ada 3 "programmer" di samping saya. Namun, orang-orang ini memiliki pengalaman yang sangat terbatas dan melakukan banyak hal dengan sangat buruk. Sebagai contoh, salah satu proyek kami adalah situs web PHP. Mayoritas kode disimpan dalam 20.000 baris pengontrol PHP, dengan ~ 6.000 baris JavaScript yang tertanam dalam PHP.

Saya terus membuat saran kecil di sana-sini tetapi tidak ada yang mendengarkan, semua orang mengatakan mereka terlalu sibuk untuk mengimplementasikan saran saya. Masalahnya, mereka seharusnya tidak sesibuk itu, dan tidak akan jika hal-hal dilakukan dengan benar. Mereka menghabiskan sebagian besar waktu mereka memperbaiki hal-hal yang terus melanggar. Jika setiap proyek dibangun dengan benar, saya bisa melakukannya sendiri.

Pendekatan apa yang harus saya ambil untuk meyakinkan orang-orang ini atau manajer bahwa segala sesuatu perlu diubah, dan bahwa mengubah berbagai hal akan menghemat banyak waktu? Haruskah saya lewati mencoba meyakinkan rekan kerja saya dan langsung pergi ke manajer, dengan proposal bisnis-y tentang bagaimana perusahaan akan menghemat banyak uang jika mereka mulai melakukan hal-hal yang benar?

Brandon Wamboldt
sumber
2
Latih mereka bagaimana melakukannya dengan benar. Buktikan diri Anda dengan menjadi lebih baik dari mereka. Ketika mereka terjebak menawarkan bantuan.
Dave Hillier
18
" Jika setiap proyek dibangun dengan benar, saya bisa melakukannya sendiri. " Hati-hati terhadap pernyataan keterlaluan, atau setidaknya tidak populer.
Greg Hewgill
1
Peran apa yang Anda pekerjakan? Apakah Anda direkrut sebagai orang yang memiliki otoritas dalam PHP, atau apakah Anda hanya pengembang lain?
Tyanna
1
Anda tampaknya berada dalam posisi yang berwenang. Gunakan. Beri tahu mereka kualitas kode mereka tidak sesuai dengan standar perusahaan dan cari tahu rencana untuk menghentikannya. Duduk bersama mereka dan cari tahu mengapa mereka "terlalu sibuk" dan memprioritaskannya.
binarycleric
5
Begitu sibuk melawan aligator, tidak ada waktu untuk mengeringkan rawa.
JeffO

Jawaban:

22

Saya telah menemukan bahwa penyebab utama pekerjaan ceroboh, di luar programmer tidak peduli, adalah kurangnya pengetahuan. Sayangnya di banyak lingkungan, kurangnya pengetahuan dipandang rendah daripada dibicarakan secara terbuka.

Beberapa teknik yang saya gunakan dengan sukses untuk mendorong diskusi, pertumbuhan, dan kegembiraan umum tentang pemrograman adalah:

  • Sesi teknologi tas coklat mingguan (Mintalah mereka meneliti suatu topik dan hadir).
  • Sesi mentoring harian atau mingguan antara anggota junior dan senior.
  • Ulasan kode (dengan penekanan pada pembelajaran, bukan menunjukkan kesalahan).

Belajar itu menular. Ketika Anda mengembangkan lingkungan yang mendorong Anda belajar tidak hanya menghasilkan pengembang yang lebih baik, tetapi tunjukkan kepada orang lain di tim Anda bahwa mereka adalah bagian dari sesuatu yang lebih besar daripada cara untuk mendapatkan gaji.

jeuton
sumber
Ya, saya pikir ulasan kode akan sangat bermanfaat. Sebelum saya benar-benar dapat melakukan dua hal pertama yang Anda daftarkan, saya harus membuat mereka melakukan pertemuan standup mingguan / harian.
Brandon Wamboldt
Di situlah Anda mungkin harus melenturkan otot otoritatif. Sulit untuk membuat programmer sibuk untuk melihat nilai dalam sesuatu yang membuat mereka jauh dari tugas mereka saat ini. Idenya adalah untuk, dari waktu ke waktu, mempromosikan lingkungan yang tidak hanya menyelesaikan pekerjaan.
jeuton
Dan mereka (sebagian besar) akan datang. Orang-orang yang tidak sering adalah orang-orang yang Anda tidak perlu ingin membangun tim di sekitar anyways (dan dalam pengalaman saya adalah orang-orang yang tidak akan ada untuk jangka panjang).
jeuton
+1 untuk "Ulasan kode (dengan penekanan pada pembelajaran, tidak menunjukkan kesalahan)"
Md Mahbubur Rahman
14

Setelah melihat bahwa Anda dipekerjakan sebagai pengembang PHP Sr dan pekerjaan Anda adalah untuk memperbaiki keadaan, saya sarankan sudah saatnya Anda melenturkan otot.

Jika saya menggantikan Anda, saya akan melakukan survei yang baik terhadap kode dan melihat kesalahan yang terjadi berulang-ulang. Blokir waktu rapat setiap minggu untuk membahas hal-hal ini bersama tim. Jangan menunjuk jari atau nama nama, cukup tunjukkan bagaimana melakukan tugas itu dengan benar.

Selanjutnya, karena Anda telah melihat perlu diperbaiki, buat daftar. Jika cepat dan mudah dilakukan, lakukanlah. Jika itu akan membuat hidup Anda lebih mudah untuk dilakukan .... lakukanlah. Buat daftar semua hal yang perlu dilakukan dan buat tiket untuk mereka dan lihat kapan orang memiliki siklus untuk melakukannya. Jika seseorang memperbaiki bug di area masalah, pelajari cara memperbaikinya dengan benar.

Jika itu membutuhkan perubahan besar, duduklah bersama tim dan pemegang pasak dan diskusikan pilihan.

Miliki kebijakan pintu terbuka di mana Anda akan membantu orang. Jadilah seseorang yang mendidik dan tidak mengintimidasi. Tidak, "Anda harus melakukannya dengan cara ini" dan lebih banyak lagi "akan lebih baik jika dilakukan dengan cara ini". Jelaskan keuntungan untuk melakukannya dengan cara yang Anda sarankan dan kerugian dari cara itu dilakukan. Orang-orang akan lebih bersedia untuk melakukannya dengan cara yang benar jika mereka merasa telah mempelajari sesuatu alih-alih diberi tahu cara mereka salah dan melakukannya dengan cara lain, tetapi Anda mengatakannya.

Tyanna
sumber
2

Perspektif Manajemen terhadap Masalah Jika mereka telah menerima waktu pengembangan sehubungan dengan jumlah cacat, mengapa mereka mengambil risiko itu? Ketika manfaat jangka panjang bertentangan dengan tujuan jangka pendek, mereka biasanya kalah. Anda meminta mereka mengambil langkah mundur. Mereka mungkin berpikir ini akan menyebabkan penundaan yang lama. Anda harus meyakinkan mereka itu tidak akan bersama dengan manfaat tambahan. Jika mereka merasa tidak memiliki masalah, minta mereka menjelaskan mengapa perlu waktu lama untuk memperkenalkan bug baru dengan setiap "perbaikan".

Kualitas kode bergantung pada banyak keadaan dan situasi. Penjualan, pemasaran, dan manajer akan membuat Anda percaya bahwa setiap tenggat waktu yang gagal berarti perusahaan akan kehilangan satu kesempatan pada investor modal ventura yang besar itu. Kenyataannya adalah, mereka tidak ingin menyampaikan kabar buruk kepada 1% klien Anda yang benar-benar tidak memerlukan fitur itu. Saya bersikap ekstrem dan biasanya berada di antara keduanya, jadi pengembang perlu mempelajari apa itu keadaan darurat yang sebenarnya. Maka lebih mudah meyakinkan mereka untuk meluangkan waktu untuk melakukannya dengan benar alih-alih membutuhkan waktu untuk melakukannya. Anda harus memahami risikonya.

Seperti novel yang hebat, kode tidak ditulis dengan baik pertama kali, tetapi sayangnya masih terlalu sering diterbitkan. Mulailah dengan sesuatu yang mendasar seperti membangun standar pengkodean. Setiap orang memiliki satu, tetapi banyak seperti dalam situasi Anda, mereka belum diformalkan juga tidak terlalu ketat. "Melakukan apapun yang Anda inginkan." adalah standar yang sangat mudah untuk dipertahankan. Langkah selanjutnya adalah menentukan bagaimana Anda akan mempertahankan standar Anda.

Anda memiliki tugas besar di depan Anda. Mungkin beberapa programmer hebat telah mengembangkan keterampilan dan kebiasaan mereka sejauh mereka tidak pernah harus berkompromi pada kualitas kode mereka atau masuk ke hutang teknis, tetapi tunggu dan lihat apa yang terjadi ketika investor malaikat itu berjanji setiap orang akan menjadi kaya.

JeffO
sumber
1

Duduk dan tulis prototipe (atau modul jika keseluruhan proyek terlalu besar) yang menggunakan desain yang sangat baik sesuai keinginan Anda. Kemudian presentasikan / diskusikan dengan tim. Mungkin lebih mudah diyakinkan dengan contoh.

Dalam proses ini, Anda mungkin juga menemukan bahwa beberapa alat, perpustakaan, pendekatan atau sejenisnya tidak begitu baik. Selalu evaluasi dulu dan minta tim Anda menggunakannya nanti. Waspadalah terhadap pemasaran murah di sekitar alat di bawah standar.

h22
sumber