1986'da Barry Boehm tarafından bahsedilmiştir.
Waterfall ve tekrarlı modelin kombinasyonudur.
Her bir aşama bir tasarım hedefi ile başlar ve müşterinin gelişimi gözlemlemesi ile sonlanır.
Spiral model ile geliştirme yapan takım öncelikle küçük bir gereksinim seti ile başlar ve bu gereksinimler için her bir geliştirme aşamasından geçer. Uygulama üretime hazır olana dek, giderek artan spirallerde ek gereksinimler için işlevsellik ekler.
Planning (Planlama): Yineleme için maaliyet, program ve kaynakların tahmini yapılır. Sistem gereksinimlerinin anlaşılmasını da içerir.
Risk Analysis (Risk Analizi): Potansiyel risk tanımlaması yapılırken, risk azaltma stratejisi planlanır.
Engineering (Mühendislik): Test, kodlama ve yazılımın dağıtımını içerir.
Evaluation (Değerlendirme): Yazılımın müşteri tarafından değerlendirilmesi yapılır ayrıca maliyet aşımı ve program kayması gibi risklerin tanımlanması, izlenmesini içerir.
Ne zaman Spiral Model Kullanmalıyız?
Proje büyük ise.
Sürümlerin sık olması gerektiğinde.
Bir prototip oluşturulması uygulanabilir olduğunda.
Risk ve maliyet değerlendirmesi önemli olduğunda.
Proje orta ve yüksek riskli ise.
Gereksinimler belirsiz ve karmaşık olduğunda.
Değişiklikler sürekli olarak istenebilecek durumda ise.
Ekonomik önceliklerdeki değişiklikler nedeniyle uzun vadeli proje taahhüdü mümkün olmadığında.
Avantaj: Ek işlevsellik veya değişiklikler daha sonraki bir aşamada yapılabilir.
Dezavantaj: Programın kayması veya bütçeyi aşma riski vardır.
Avantaj: Sürekli geliştirme sağlandığı için risk yönetimi kolaylaşır.
Dezavantaj: Düzgün çalışması için spiral model protokolüne kesinlikle uyulmalıdır.
Avantaj: Geliştirme hızlıdır ve özellikler sistematik bir şekilde eklenir.
Dezavantaj: Ara aşamalara sahip olduğu için dokümantasyon daha fazladır.