Tatizo linaweza kuwa kasoro yoyote iliyogunduliwa wakati wa kubuni, kuandika nambari, kupima, au kutekeleza.
Matatizo yanaweza kupatikana wakati wa awamu tofauti za mzunguko wa maisha ya maendeleo ya programu.