Bagaimana cara menghadapi pola pikir ad-hoc?

13

Saya bergabung dengan tim dev enam enam bulan lalu. Orang-orang baik, semuanya baik. Tetapi semakin saya mengamati pola pikir ad-hoc. Barang-barang cepat diperbaiki, dengan biaya kegunaan di masa depan, ada sedikit pengujian dan dua orang dengan senang hati mengakui, bahwa mereka suka membawa pengetahuan di dalam kepala mereka, daripada menuliskannya.

Bagaimana cara menghadapinya? Saya ingin memimpin dengan memberi contoh, tetapi waktu terbatas - saya suka merancang dan benar - benar mengimplementasikannya. Tapi saya takut pola pikir ad-hoc menginfeksi saya dan bukannya berusaha untuk kejelasan dan kesederhanaan dalam desain dan kode - yang tidak mudah untuk dibangun - saya ditarik ke bawah alur spiral hacks hack yang tak berujung - yang tidak ada orang luar bisa lepas - hanya untuk jadwal dan demi manajemen.

Rotian
sumber
1
Saya menyarankan jatuhkan tendangan untuk menyebabkan kurangnya kemampuan untuk mempertahankan ingatan. Dokumentasi sangat penting untuk sistem yang berumur panjang ... bahkan jika itu tidak formal.
Rig
14
Selamat datang di pengembangan perangkat lunak!
yannis
@YannisRizos, tidak, tidak, tidak, tidak! ;)
Rotian
4
@Rotian Bacaan ini hampir disyaratkan: joelonsoftware.com/articles/fog0000000332.html . Agak ketinggalan jaman, tetapi masih sumber daya yang bagus, dan mungkin layak sebagai jawaban sendiri.
K.Steff
Secara lebih luas, saya merekomendasikan / Clean Code / Paman Bob / dan / The Clean Coder /. Saya tidak setuju dengan semua yang dia katakan di buku-buku itu, tetapi itu adalah makanan yang sangat bagus untuk dipikirkan. Mereka tentu saja membuka mata saya cukup banyak!
Michael Scott Shappe

Jawaban:

10

Anda sudah tahu bagian dari jawabannya: Anda harus memimpin dengan memberi contoh. Anda juga perlu merasa nyaman dengan kenyataan bahwa "kepemimpinan" Anda mungkin diabaikan, bahwa kolega Anda akan terus melakukan hal-hal seperti yang selalu mereka lakukan - baik karena itu membuat bos bahagia atau karena mereka sendiri menghargai kemanfaatan. perawatan jangka panjang.

Pada akhirnya, Anda harus membiarkan hasil Anda berbicara sendiri. Apakah Anda melewatkan tenggat waktu tiga hari, tetapi selamatkan tim QA setidaknya selama beberapa hari pengujian yang dijadwalkan karena Anda menguji coba pengembangan Anda dan sebagian besar berfungsi seperti yang dirancang? Itu kemenangan.

Namun, pada akhirnya, jika Anda tidak memiliki setidaknya beberapa tingkat dukungan manajemen untuk pertukaran semacam itu, Anda hanya berada di lingkungan yang salah, dan perlu menemukan yang lebih kondusif untuk praktik yang baik. Praktik buruk membentuk kebiasaan, jadi semakin cepat Anda bisa menemukan cara untuk bertahan, atau berubah ke lingkungan kerja dengan praktik yang lebih baik, semakin baik.

Michael Scott Shappe
sumber
Saya menghargai jawaban Anda. Saya kira Anda tahu lingkungan saya cukup baik - saya akan mencoba untuk bekerja lebih keras - dan jika saya tidak mendapatkan roll - saya akan mencari sesuatu yang lain.
Rotian
2
+1. Jadilah perubahan yang ingin Anda lihat di tim Anda. Tetapkan standar.
Scott C Wilson
2
+1 untuk membiarkan hasil berbicara sendiri. Itu dikombinasikan dengan memimpin dengan contoh adalah cara terbaik untuk mempengaruhi perubahan positif. Orang secara alami ingin melakukan pekerjaan dengan baik (sebagian besar, bagaimanapun), dan jika mereka melihat seseorang mendapatkan hasil yang lebih baik daripada mereka, mereka cenderung meminta rahasianya. Dan mereka cenderung mendengarkan ketika mereka meminta kemauan sendiri daripada jika diberi tahu, tanpa diminta.
Erik Dietrich
@Rotian Bukan lingkungan spesifik Anda, tentu saja, tapi ya, saya pernah ke sana, dan saya sudah melakukannya. Bagian terburuknya adalah, pada saat itu, saya bahkan tidak sepenuhnya memahami betapa buruknya itu. Saya hanya tahu ada sesuatu yang tidak beres pada level yang dalam, dan akhirnya memutuskan itu sudah cukup untuk keluar. Hanya dalam beberapa tahun terakhir saya bisa menunjukkan praktik-praktik spesifik yang seharusnya (atau tidak seharusnya) mereka lakukan.
Michael Scott Shappe
1

Tidak ada?

Maksud saya, ada batasan waktu bisnis. Anda mungkin menjadi skenario di mana waktu ke pasar lebih berharga daripada kemudahan penggunaan di masa depan.

Jika Anda seorang programmer peringkat dan file, maka menetapkan standar dan memperhatikan diri Anda sendiri dengan arsitektur produk bukanlah pekerjaan Anda (terutama 2 bulan). Anda harus berusaha untuk meningkatkan produk namun Anda dapat (termasuk perubahan budaya), tetapi tidak dengan mengorbankan mengasingkan tim dan / atau bos Anda. Menjadi cowok baru yang berpikir dia tahu lebih baik adalah cara cepat dan mudah untuk melakukan itu.

Saya akan bertanya mengapa Anda melakukan semua perbaikan hack cepat ini? Apakah ini karena perbaikan hack cepat sebelumnya? Cukup mudah untuk menunjukkan bahwa jika sesuatu dilakukan 'benar' sejak awal ...

Pada akhirnya, praktik pemrograman yang buruk menyebabkan rasa sakit yang nyata. Jika orang berpikir mereka tidak akan melakukannya, yang perlu Anda lakukan hanyalah menunggu.

Telastyn
sumber
1
Sejauh yang saya mengerti, masalahnya bukan orang-orang ini membuat perbaikan ad-hoc karena keterbatasan waktu. Masalahnya adalah mereka tidak melihatnya sebagai hutang teknis yang harus dibayar kembali di masa depan. Ini seperti melompat: Anda dapat bertahan tanpa dukungan dari Bumi untuk beberapa waktu, tetapi Anda sebaiknya bersiap untuk mendarat.
9000
@ 9000: OP mengatakan ini karena jadwal dan demi manajemen, jadi saya menduga (berharap) bahwa sebagian besar tekanan waktu. Meremehkan pekerjaan aktual yang terlibat dalam pengembangan perangkat lunak tidak jarang terjadi.
Telastyn
1
Saya setuju bahwa praktik buruk menyebabkan rasa sakit yang nyata; tetapi rasa sakit yang konkret tidak selalu mengarah pada perubahan yang Anda harapkan di dunia yang rasional. Dari pengalaman, saya dapat memberi tahu Anda bahwa ada manajer yang tidak akan belajar dari rasa sakit itu dan tidak datang untuk mendorong praktik yang benar. Mereka hanya akan terus bercampur aduk, karena untuk melakukan yang sebaliknya akan membutuhkan berdiri dengan bos MEREKA untuk mengadvokasi untuk menghabiskan waktu untuk melakukannya "benar", yang mereka tidak selalu siap untuk melakukannya.
Michael Scott Shappe
@UncleMikey: Tentu saja. Tetapi jika manajer Anda terlalu tidak efektif untuk menjadwalkan sesuatu dengan tepat, ada sangat sedikit yang dapat Anda lakukan.
Telastyn
@ 9000 dan Telastyn - ya itu menurut saya - ketidaktahuan tertentu tentang fakta bahwa hal seperti utang teknis benar-benar ada dikombinasikan dengan lingkungan yang mendorong penyelesaian masalah dengan berbagai alasan berbeda (baik waktu, kebiasaan, dll.).
Rotian