Bagaimana birokrasi kantor mempengaruhi kualitas kode [ditutup]

22

Saya tertarik pada cerita di mana birokrasi kantor memiliki efek langsung pada hasil kualitas kode akhir .

Sebagai contoh, seorang teman baru saja memberi tahu saya bahwa di tempat kerjanya sebelumnya sistem kontrol versi sangat besar sehingga programmer tidak diperbolehkan membuat "modul" baru (direktori root di pohon sumber) tanpa meminta izin dari dewa VCS. Hasilnya adalah bahwa para programmer tidak mau melalui langkah birokrasi tambahan dan bukannya mempompisiasikan layanan mereka dengan benar, mereka akhirnya menumpuk fungsi yang tidak terkait di atas modul yang ada bahkan ketika fungsionalitas hanya terkait jarak jauh dengan definisi modul saat ini atau nama modul. adalah cara di masa lalu. (Belum lagi mengganti nama modul ...)

Saya tertarik pada cerita serupa tentang kantor, operasional, atau birokrasi lainnya yang pada akhirnya, mungkin secara tidak sengaja mempengaruhi kualitas perangkat lunak

Ran
sumber
Itu pertanyaan yang sangat sangat menarik ...
1
Sial. Saya tahu saya punya beberapa cerita bagus untuk ini, tetapi itu adalah jenis hal yang saya coba tidak pikirkan. :)
George Marian
1
@ Dapatkah Anda mendapatkan +1 poin scrum untuk pertanyaan ini;)
Eran Harel
Pertanyaan ini secara inheren negatif dan mengundang jawaban destruktif / kritis. Bisakah Anda mendapatkan jawaban yang konstruktif tentang bagaimana masalah ini diatasi - solusi teknis, solusi manusia, pemikiran lateral, dll?
JBRWilkinson
1
@JBRWilkinson Apa yang salah dengan berbagi rasa sakit dan bersenang-senang saat melakukannya? Ini membantu manusia lain, mungkin juga akan membantu programmer ...
Ran

Jawaban:

6

Saya tertarik pada cerita di mana birokrasi kantor berpengaruh langsung pada hasil kualitas kode akhir.

Saya tidak berpikir birokrasi memiliki banyak pengaruh pada kualitas kode seperti dinamika pribadi dan politik kantor. Birokrasi berhubungan dengan proses. Ketika proses yang ada dilakukan dengan tidak tepat (atau dieksploitasi secara negatif ... lihat lebih lanjut di bawah), ini berpotensi memengaruhi secara negatif kemampuan pengiriman atau bereaksi terhadap perubahan mendadak. Namun, kurangnya proses akan memiliki dampak tertentu dan signifikan pada kualitas kode. Atau lebih tepatnya, proses yang tidak mengatur kualitas kode (juga ditafsirkan sebagai kurangnya proses kualitas kode) memengaruhi kualitas kode.

Artinya, bukan birokrasi itu sendiri melainkan lubang birokrasi spesifik terkait QA yang memengaruhi kualitas kode ketika dieksploitasi (baik secara tidak sengaja atau jahat).

Akan tetapi, dinamika pribadi dan politik kantor jauh lebih merupakan pelakunya dalam kode yang buruk. Dinamika pribadi melibatkan kurangnya etika profesional terlebih dahulu dan terutama. Saya tidak benar-benar membeli argumen bahwa orang menulis kode yang buruk karena mereka tidak tahu yang lebih baik atau belum dilatih dengan baik . Saya telah melihat orang tanpa gelar CS terkait menulis kode yang layak. Ini adalah keadaan pikiran dan masalah pribadi yang teratur dan cermat.

Politik kantor memainkan peran yang bahkan lebih mengerikan. Atasan yang mendorong jangan berpikir, hanya mantra kode (meskipun ada kalanya kita harus memberi kode dan mengirim serta membersihkan mayat nanti); pengembang yang bersikeras memberikan apa yang menurut mereka adalah kode yang sempurna meskipun mengeluarkan sesuatu dari pintu sekarang adalah intinya; pengulas kode yang merupakan ** lubang; perang bilik dan semacamnya. Hal-hal ini memperburuk dinamika pribadi yang bermasalah. Kombinasi keduanya merembes melalui celah apa pun dalam proses (birokrasi) atau ketiadaannya, menyebabkan kerusakan dalam jaminan kualitas kode.

Lubang dalam birokrasi dapat dipecahkan jika ada budaya ulasan post-morten dan peningkatan berkelanjutan. Namun, dinamika pribadi negatif dan politik kantor yang destruktif mencegah koreksi pada proses yang terjadi, sehingga melanggengkan masalah yang ada (termasuk yang terkait dengan kualitas kode).

Birokrasi dengan sendirinya jarang menjadi penyebab kualitas kode yang buruk. Saya sebenarnya akan mengatakan bahwa kualitas kode dan birokrasi dipengaruhi secara negatif oleh dinamika pribadi negatif dan politik kantor.

luis.espinal
sumber
tidak persis jenis jawaban lucu yang saya harapkan, tetapi pasti yang bijaksana, jadi saya akan menandai sebagai "menerima" meskipun saya akan senang melihat lebih banyak cerita masuk.
Berlari
1

Saya berhenti mengerjakan beberapa modul tertentu di Proyek karena kode resensi adalah Smart A $$

Kutu buku
sumber
1

Pada proyek baru-baru ini, orang-orang berkualitas memiliki banyak persyaratan mengenai pengujian unit formal (keterlacakan, aturan pengkodean, ulasan formal, ...). Para pembuat kode tidak lagi menulis unit test, mereka hanya men-debug kode mereka. Ini adalah tugas yang sama yang baru saja diganti namanya, mengarah ke hasil teknis yang sama, tetapi tanpa kerumitan administratif.

mouviciel
sumber
5
Tes unit adalah potongan kode yang dijalankan secara otomatis untuk menangkap kesalahan pengkodean. Mereka 'bebas' untuk berlari. Manusia menghabiskan banyak waktu men-debug biaya $$$ per orang per jam. Jika hanya satu pengembang yang pergi, kemampuan debug tim berkurang tetapi tes unit masih sama baiknya.
JBRWilkinson