Penyebab umum kegagalan perangkat lunak (sebenarnya atau dirasakan) adalah kurangnya kompatibilitas dengan perangkat lunak aplikasi lain, sistem operasi (atau versi sistem operasi, lama atau baru), atau lingkungan target yang sangat berbeda dari aslinya (seperti aplikasi terminal atau GUI yang dimaksudkan untuk dijalankan di desktop sekarang diperlukan untuk menjadi aplikasi web, yang harus dirender dalam peramban web). Sebagai contoh, dalam kasus kurangnya kompatibilitas terbalik, hal ini dapat terjadi karena programmer mengembangkan dan menguji perangkat lunak hanya pada versi terbaru dari lingkungan target, yang tidak semua pengguna mungkin berjalan. Hal ini mengakibatkan konsekuensi yang tidak diharapkan bahwa pekerjaan terbaru mungkin tidak berfungsi pada versi awal dari lingkungan target, atau pada perangkat keras yang lebih tua yang versi sebelumnya dari lingkungan target mampu digunakan. Kadang-kadang masalah tersebut dapat diperbaiki oleh proaktif abstrakisasi sistem operasi fungsionalitas ke modul program atau perpustakaan terpisah.
Apa penyebab utama kegagalan perangkat lunak?
kurangnya kompatibilitas dengan perangkat lunak aplikasi lain