Saya bekerja untuk organisasi kemanusiaan besar, pada perangkat lunak pembangunan proyek yang dapat membantu menyelamatkan nyawa dalam keadaan darurat dengan mempercepat distribusi makanan. Banyak LSM sangat membutuhkan perangkat lunak kami dan kami berada di bawah minggu dari jadwal.
Satu hal yang membuat saya khawatir dalam proyek ini adalah apa yang saya pikir merupakan fokus berlebihan pada standar pengkodean. Kami menulis dengan python / django dan menggunakan versi PEP0008, dengan berbagai modifikasi misalnya panjang garis dapat mencapai 160 karakter dan semua baris harus sepanjang itu jika memungkinkan, tidak ada garis kosong antara impor, aturan pembungkus garis yang hanya berlaku untuk jenis tertentu kelas, banyak template yang harus kita gunakan, bahkan jika itu bukan cara terbaik untuk menyelesaikan masalah dll. dll.
Satu inti pengembang menghabiskan satu minggu menulis ulang bagian utama dari sistem untuk memenuhi standar pengkodean yang baru, membuang beberapa rangkaian tes dalam proses, karena penulisan ulang berarti mereka 'tidak valid'. Kami menghabiskan dua minggu untuk menulis ulang semua fungsi yang hilang, dan memperbaiki bug. Dia adalah pemimpin dev dan kata-katanya membawa bobot, jadi dia telah meyakinkan manajer proyek bahwa standar-standar ini diperlukan. Devs junior melakukan apa yang diperintahkan. Saya merasa bahwa manajer proyek memiliki perasaan disonansi kognitif yang kuat tentang semua ini, tetapi tetap menyetujuinya dengan keras ketika ia merasa tidak yakin harus berbuat apa lagi.
Hari ini saya mendapat masalah serius karena saya lupa menempatkan beberapa spasi setelah koma dalam argumen kata kunci. Saya benar-benar diteriaki oleh dua devs lain dan manajer proyek selama panggilan Skype. Secara pribadi saya pikir standar pengkodean itu penting tetapi juga berpikir bahwa kita membuang banyak waktu terobsesi dengan mereka, dan ketika saya mengucapkannya secara verbal itu memicu kemarahan. Saya dipandang sebagai pembuat onar dalam tim, tim yang mencari kambing hitam atas kegagalannya. Sejak diperkenalkannya standar pengkodean, produktivitas tim telah menurun secara drastis, namun ini hanya memperkuat obsesi, yaitu pemimpin dev hanya menyalahkan ketidakpatuhan kita pada standar karena kurangnya kemajuan. Dia percaya bahwa kita tidak dapat membaca kode satu sama lain jika kita tidak mematuhi konvensi.
Ini mulai berubah lengket. Sekarang saya mencoba untuk memodifikasi berbagai skrip, autopep8, pep8ify dan PythonTidy untuk mencoba mencocokkan konvensi. Kami juga menjalankan pep8 terhadap kode sumber tetapi ada begitu banyak amandemen tersirat pada standar kami sehingga sulit untuk melacak semuanya. Lead dev sederhana mengambil kesalahan bahwa script pep8 tidak mengambil dan berteriak pada kami dalam pertemuan stand-up berikutnya. Setiap minggu ada tambahan baru pada standar pengkodean yang memaksa kita untuk menulis ulang kode yang sudah ada, berfungsi, dan teruji. Syukurlah kita masih memiliki tes, (saya mengembalikan beberapa komitmen dan memperbaiki beberapa yang dia hapus).
Sementara itu ada peningkatan tekanan untuk memenuhi tenggat waktu.
Saya percaya masalah mendasar adalah bahwa pengembang utama dan pengembang inti lainnya menolak untuk mempercayai pengembang lain untuk melakukan pekerjaan mereka. Tetapi bagaimana cara menghadapinya? Kami tidak dapat melakukan pekerjaan kami karena kami terlalu sibuk menulis ulang semuanya.
Saya tidak pernah menemukan dinamika ini dalam tim rekayasa perangkat lunak. Apakah saya salah mempertanyakan kepatuhan mereka pada standar pengkodean? Adakah orang lain yang mengalami situasi yang serupa dan bagaimana mereka berhasil mengatasinya? (Saya tidak mencari diskusi hanya solusi aktual yang ditemukan orang)