Saat berdiskusi, salah satu kolega saya mengatakan bahwa ia mengalami beberapa kesulitan dengan proyeknya saat ini ketika mencoba menyelesaikan bug. "Ketika saya memecahkan satu bug, sesuatu yang lain berhenti bekerja di tempat lain", katanya.
Saya mulai berpikir tentang bagaimana ini bisa terjadi, tetapi tidak bisa mengetahuinya.
- Saya kadang-kadang memiliki masalah yang sama ketika saya terlalu lelah / mengantuk untuk melakukan pekerjaan dengan benar dan memiliki pandangan keseluruhan dari bagian kode yang saya kerjakan. Di sini, masalahnya tampaknya selama beberapa hari atau minggu, dan tidak terkait dengan fokus kolega saya.
- Saya juga bisa membayangkan masalah ini muncul pada proyek yang sangat besar, dikelola dengan sangat buruk , di mana rekan satu tim tidak tahu siapa yang melakukan apa, dan apa efek pada pekerjaan orang lain dapat memiliki perubahan yang mereka lakukan. Ini bukan masalahnya di sini juga: itu adalah proyek yang agak kecil dengan hanya satu pengembang.
- Ini juga bisa menjadi masalah dengan basis kode lama, tidak terpelihara, dan tidak pernah didokumentasikan , di mana satu-satunya pengembang yang benar-benar dapat membayangkan konsekuensi dari perubahan telah meninggalkan perusahaan bertahun-tahun yang lalu. Di sini, proyek baru saja dimulai, dan pengembang tidak menggunakan basis kode siapa pun.
Jadi apa yang bisa menjadi penyebab masalah tersebut pada basis kode berukuran kecil dan segar yang ditulis oleh pengembang tunggal yang tetap fokus pada pekerjaannya ?
Apa yang bisa membantu?
- Tes unit (tidak ada)?
- Arsitektur yang tepat (saya cukup yakin bahwa basis kode tidak memiliki arsitektur sama sekali dan ditulis tanpa pemikiran awal), memerlukan seluruh refactoring?
- Pemrograman pasangan?
- Sesuatu yang lain