Yazılım geliştirilmesi sırasında karşılaşılan hataların çoğu, yazılımların gereksinimlerini yanlış belirlenmesindendir. Aşağıda istatiksel olarak yazılım hatalarının yaşam döngüsü içerisindeki oranları verilmiştir.
1.Tanımlama (~= 55?%)
2.Design (~= 25?%)
3.Code (~= 15%)
4.Other (~= 5%)