Secara empiris, perangkat lunak dengan metrik kompleksitas yang lebih tinggi, seperti kompleksitas siklomatik, lebih sulit dipertahankan. Ada penelitian yang mendukung hal ini sejak tahun 1970-an ("Kompleksitas Program dan Produktivitas Programmer", ET Chen) . Ada juga pekerjaan yang menunjukkan bahwa kepadatan kompleksitas, yang merupakan kompleksitas siklus atas ukuran sistem juga berhubungan dengan waktu pemeliharaan ("Kerapatan kompleksitas siklomatik dan produktivitas pemeliharaan perangkat lunak", GK Gill, CF Kemerer) , yang juga tersedia secara gratis di sini . Sayangnya, langganan IEEE diperlukan untuk makalah Chen, tetapi Anda dapat mencoba mencarinya di sumber lain jika Anda tertarik.
Dari perspektif kualitas, sering kali layak untuk meluangkan waktu refactoring, dengan asumsi Anda memiliki kerangka kerja pengujian untuk mencegah pengenalan cacat baru. Ini akan memungkinkan Anda untuk lebih mudah mengimplementasikan fitur-fitur baru ke sistem Anda, menambahkan tes tambahan, dan melatih pengembang baru untuk bekerja.
Namun, pada akhirnya, ada tekanan untuk memberikan fungsionalitas baru dan nilai tambah. Anda harus menyeimbangkan refactoring dengan penerapan fungsi baru dan perbaikan cacat.