ProgrammerZamanNow / qna

Q&A Bareng Programmer Zaman Now, Orang Ganteng dan Intelek
259 stars 7 forks source link

Kenapa Code Quality dari Software House/Vendor cenderung buruk? #576

Open bagastri07 opened 1 year ago

bagastri07 commented 1 year ago

Hi Mas Eko, semoga selalu sehat mas Eko sekeluarga.

Saya seorang Backend Engineer, dari sebuah start up di Indonesia. Sekitar 2 minggu ini saya pindah tim dan harus memaintaince dan develop aplikasi lain, yang mana aplikasi tersebut tidak dibangun dari awal dari perusahaan ini, melainkan aplikasi yang telah dikerjakan dari vendor/software house. (Aplikasi tersebut menggunakan Go untuk BEnya)

Ketika saya melihat struktur codenya, code yang dibangun sangat2 kurang bagus. Seperti code yang tidak testable (tidak ada interface), tidak ada depenccy injector (selalu initiate ulang layer repo di dalam method service berkali2), banyak coupling dimana2 (kurang DRY) sehingga saat mau refactor cukup sulit, dan yang uniknya banyak code yang tidak terpakai tapi ada disitu:".

Saat ini saya cukup kesulitan mempelajari code dari aplikasi yang dibangun, karena selain code quality, dokumentasi yang disediakan. Apakah ada tips dari mas Eko untuk mengatasi hal ini mas? Karena jika rewrite lagi dari awal akan sangat rugi waktu, tetapi jika melanjutkan development dengan code terebut juga cukup sulit.

bymunajat commented 1 year ago

Hi Mas Eko, semoga selalu sehat mas Eko sekeluarga.

Saya seorang Backend Engineer, dari sebuah start up di Indonesia. Sekitar 2 minggu ini saya pindah tim dan harus memaintaince dan develop aplikasi lain, yang mana aplikasi tersebut tidak dibangun dari awal dari perusahaan ini, melainkan aplikasi yang telah dikerjakan dari vendor/software house. (Aplikasi tersebut menggunakan Go untuk BEnya)

Ketika saya melihat struktur codenya, code yang dibangun sangat2 kurang bagus. Seperti code yang tidak testable (tidak ada interface), tidak ada depenccy injector (selalu initiate ulang layer repo di dalam method service berkali2), banyak coupling dimana2 (kurang DRY) sehingga saat mau refactor cukup sulit, dan yang uniknya banyak code yang tidak terpakai tapi ada disitu:".

Saat ini saya cukup kesulitan mempelajari code dari aplikasi yang dibangun, karena selain code quality, dokumentasi yang disediakan. Apakah ada tips dari mas Eko untuk mengatasi hal ini mas? Karena jika rewrite lagi dari awal akan sangat rugi waktu, tetapi jika melanjutkan development dengan code terebut juga cukup sulit.

Ada beberapa alasan mengapa code quality dari Software House atau Vendor dapat cenderung buruk. Berikut beberapa faktor yang dapat mempengaruhinya:

Keterbatasan Waktu: Salah satu alasan utama adalah tekanan waktu yang tinggi. Perusahaan sering kali menghadapi tenggat waktu yang ketat dalam pengembangan perangkat lunak, dan ini dapat mengarah pada pengorbanan kualitas kode. Para pengembang mungkin terburu-buru untuk menyelesaikan tugas-tugas mereka, dan ini dapat menyebabkan kode yang buruk atau tidak terdokumentasi dengan baik.

Kurangnya Sumber Daya dan Keterampilan: Software House atau Vendor mungkin mengalami keterbatasan sumber daya manusia atau kurangnya keterampilan yang diperlukan. Mereka mungkin tidak memiliki tim pengembang yang berkualifikasi atau tidak memiliki jumlah yang cukup untuk menangani proyek dengan baik. Kurangnya pengetahuan dan pengalaman dalam praktik pengembangan perangkat lunak yang baik juga dapat berkontribusi terhadap buruknya code quality.

Kurangnya Fokus pada Kualitas: Beberapa organisasi mungkin lebih fokus pada menghasilkan produk yang cepat daripada memastikan kualitas yang tinggi. Tekanan untuk memenuhi tenggat waktu dan keuntungan bisnis dapat menyebabkan perusahaan mengabaikan pentingnya code quality dan tidak melibatkan praktik pengujian yang memadai.

Kurangnya Pemantauan dan Pengawasan: Jika tidak ada pengawasan yang memadai terhadap proses pengembangan, maka kualitas kode dapat menderita. Kurangnya pemantauan menyebabkan kurangnya akuntabilitas, dan tim pengembang mungkin tidak merasa bertanggung jawab untuk menghasilkan kode yang berkualitas.

Ketidaktahuan tentang Praktik Terbaik: Beberapa organisasi mungkin tidak memiliki pengetahuan yang cukup tentang praktik terbaik dalam pengembangan perangkat lunak. Mereka mungkin tidak menyadari pentingnya pengujian unit, pengelolaan kode sumber, atau standar penulisan kode yang baik. Akibatnya, code quality dapat terpengaruh secara negatif.

Penting untuk dicatat bahwa tidak semua Software House atau Vendor menghadapi masalah ini. Ada banyak perusahaan yang memberikan perhatian serius pada code quality dan mengikuti praktik pengembangan yang baik. Namun, faktor-faktor di atas dapat menjadi penyebab umum mengapa code quality dapat cenderung buruk dalam beberapa situasi.