Ini adalah pertanyaan yang agak rumit untuk dijawab karena seperti banyak hal itu benar-benar tergantung pada keadaan proyek, tingkat kontrol yang dimiliki perusahaan yang dikontrak, apakah perangkat lunak khusus telah dikelola oleh perusahaan yang dikontrak untuk seluruh siklus hidupnya, jumlah "gangguan" oleh orang lain dengan akses ke basis kode, sikap semua orang yang terlibat, kompleksitas proyek dan metodologi yang digunakan ... saya benar-benar bisa melanjutkan.
Semua sistem memiliki tingkat hutang teknis. Dalam beberapa kasus ini mungkin tidak terlalu terlihat karena upaya yang rajin dari pengembang yang berupaya untuk selalu menjaga basis kode yang bersih, namun tidak ada sistem yang sempurna dan perancangan ulang yang besar dapat membuat masalah yang tampaknya tidak bersalah namun sudah lama berdiri menjadi jelas. Jadi bagaimana perusahaan yang dikontrak menangani ini?
Dalam banyak kasus mereka tidak melakukannya. Seringkali perangkat lunak akan ditulis oleh satu perusahaan, kemudian dimodifikasi oleh yang lain, dan itu tidak biasa untuk melihat basis kode menjadi benar-benar kacau karena setiap perusahaan di bawah kontrak bekerja dengan tenggat waktu yang ketat dan tidak akan membenarkan waktu untuk menjaga kode tetap bersih ( dan kadang-kadang nyaris tidak diuji) jika itu berarti mereka mungkin berisiko melewati tenggat waktu.
Dalam kasus lain, Anda menemukan perusahaan yang tidak hanya mengelola proyek yang dikontraknya dengan baik, tetapi juga entah bagaimana menemukan waktu untuk meninggalkan basis kode yang ada dalam keadaan yang lebih baik daripada yang mereka temukan. Mereka sering melakukan hal ini dengan perencanaan yang cermat, mengidentifikasi sumber-sumber utang teknis - biasanya yang paling berdampak pada pekerjaan baru - dan mereka merancang strategi untuk menyediakan kasus uji dan modifikasi yang berkontribusi untuk mengelola utang teknis dan memasukkan semua ini ke dalam jadwal proyek mereka .
Apakah menjadi perangkat lunak khusus menjamin hutang teknis yang bertentangan dengan penulisan produk utama? Jawaban singkatnya adalah tidak, namun kemungkinan utang teknis akan bertambah jika tidak ditangani secara aktif. Ini sama dengan proyek perangkat lunak lainnya. Jika Anda mengendalikan proyek sepenuhnya sepanjang siklus hidupnya, maka Anda memiliki peluang yang lebih baik untuk berurusan dengan utang teknis. Jika tidak, maka Anda harus berurusan dengan utang teknis yang mungkin diperoleh dari kode yang ditinggalkan perusahaan sebelumnya.
Di sisi lain, jika pertanyaan Anda adalah apakah menulis perangkat lunak terlepas dari model bisnis Anda adalah jaminan hutang teknis. Jawabannya tentu saja. Pertanyaan sebenarnya adalah bagaimana perusahaan mana pun menangani utang teknis. Biarkan itu bertambah dan menanganinya pada waktu yang dijadwalkan, atau mengelola basis kode bersih secara berkelanjutan untuk melunasi hutang teknis sesegera mungkin? Jawaban itu datang ke prioritas individu perusahaan, dan apakah utang teknis yang dikeluarkan relevan secara finansial.