Memroduksi piranti lunak yang memiliki tingkat kehandalan tinggi yang dapat diterima, pada suatu kerangka jadwal dan anggaran yang dapat diprediksi, telah terbukti secara sejarah merupakan suatu tantangan besar, para akademisi dan professional bidang perekayasaan piranti lunak berkonsentrasi secara khusus dalam masalah ini.
Producing software with an acceptably high reliability on a predictable schedule and budget has proved historically to be a great challenge; the academic and professional discipline of software engineering concentrates specifically on this problem