Spiral model, yinelemeli geliştirme fikrini şelale modelinin sistematik, kontrollü yönleriyle birleştirir. Bu Spiral model, yinelemeli geliştirme süreci modeli ile sıralı doğrusal geliştirme modelinin, yani risk analizine çok önem veren şelale modelinin bir kombinasyonudur. Spiralin etrafındaki her yinelemede ürünün kademeli olarak serbest bırakılmasına veya kademeli olarak iyileştirilmesine olanak tanır.

Spiral Model – Tasarım

Spiral modelin dört aşaması vardır. Bir yazılım projesi, Spiral adı verilen yinelemelerle bu aşamalardan tekrar tekrar geçer.

Tanılama

Bu aşama, iş gereksinimlerinin temel sarmalda toplanmasıyla başlar. Sonraki sarmallarda ürün olgunlaştıkça sistem gereksinimlerinin, alt sistem gereksinimlerinin ve birim gereksinimlerinin belirlenmesi bu aşamada yapılır.

Bu aşama aynı zamanda müşteri ile sistem analisti arasındaki sürekli iletişim yoluyla sistem gereksinimlerinin anlaşılmasını da içerir. Spiralin sonunda ürün belirlenen pazara dağıtılır.

Tasarım

Tasarım aşaması, temel spiraldeki kavramsal tasarımla başlar ve mimari tasarımı, modüllerin mantıksal tasarımını, fiziksel ürün tasarımını ve sonraki spirallerdeki nihai tasarımı içerir.

İnşa Et veya İnşa Et

Oluşturma aşaması, her spiralde gerçek yazılım ürününün üretilmesini ifade eder. Temel sarmalda, ürün henüz düşünüldüğünde ve tasarım geliştirilirken, bu aşamada müşteri geri bildirimini almak için bir POC (Kavram Kanıtı) geliştirilir.

Daha sonra sonraki sarmallarda gereksinimler ve tasarım detayları konusunda daha net bir şekilde, yazılımın sürüm numarasıyla birlikte build adı verilen çalışma modeli üretilir. Bu yapılar geri bildirim için müşteriye gönderilir.

Değerlendirme ve Risk Analizi

Risk Analizi, program kayması ve maliyet aşımı gibi teknik fizibilite ve yönetim risklerinin tanımlanmasını, tahmin edilmesini ve izlenmesini içerir. Yapıyı test ettikten sonra, ilk yinelemenin sonunda müşteri yazılımı değerlendirir ve geri bildirimde bulunur.

Aşağıdaki çizim Spiral Modelin bir temsilidir ve her aşamadaki faaliyetleri listelemektedir.

Müşteri değerlendirmesine dayalı olarak yazılım geliştirme süreci bir sonraki iterasyona girer ve ardından müşteri tarafından önerilen geri bildirimi uygulamak için doğrusal yaklaşımı izler. Spiral boyunca yineleme süreci, yazılımın ömrü boyunca devam eder.

Spiral Model Uygulaması

Spiral Model, herhangi bir ürünün doğal gelişim süreciyle, yani hem müşteri hem de geliştirme firmaları için minimum risk içeren olgunlukla öğrenme ile senkronize olduğundan yazılım endüstrisinde yaygın olarak kullanılmaktadır.

Aşağıdaki işaretçiler Spiral Modelin tipik kullanımlarını açıklamaktadır –

  • Bütçe kısıtlaması olduğunda ve risk değerlendirmesi önemlidir.
  • Orta ve yüksek riskli projeler için.
  • Gereksinimlerin zamanla değişmesi nedeniyle ekonomik önceliklerdeki olası değişiklikler nedeniyle uzun vadeli proje taahhüdü.
  • Müşteri, genellikle olduğu gibi gereksinimlerinden emin değildir.
  • Gereksinimler karmaşıktır ve netlik elde etmek için değerlendirme yapılması gerekir.
  • Yeterli müşteri geri bildirimi alabilmek için aşamalı olarak piyasaya sürülmesi gereken yeni ürün grubu.
  • Geliştirme döngüsü sırasında üründe önemli değişiklikler bekleniyor.

Spiral Model – Artıları ve Eksileri

Spiral yaşam döngüsü modelinin avantajı, ürüne ait öğelerin mevcut olduklarında veya bilindiklerinde eklenmesine olanak sağlamasıdır. Bu, önceki gereksinimler ve tasarımla herhangi bir çelişki olmamasını sağlar.

Bu yöntem, bir bakım faaliyetine düzenli bir geçiş yapılmasına olanak tanıyan birden fazla yazılım yapısı ve sürümüne sahip yaklaşımlarla tutarlıdır. Bu yöntemin bir başka olumlu yönü de spiral modelin, kullanıcıyı sistem geliştirme çabasına erken katılmaya zorlamasıdır.

Öte yandan bu tür ürünlerin tamamlanması çok sıkı bir yönetim gerektirir ve sarmalın belirsiz bir döngüye girme riski vardır. Dolayısıyla değişim disiplini ve değişiklik taleplerinin alınma derecesi, ürünü başarılı bir şekilde geliştirmek ve dağıtmak için çok önemlidir.

Spiral SDLC Modelinin avantajları aşağıdaki gibidir –

  • Değişen gereksinimler karşılanabilir.
  • Prototiplerin kapsamlı kullanımına izin verir.
  • Gereksinimler daha doğru bir şekilde yakalanabilir.
  • Kullanıcılar sistemi erken görüyor.
  • Geliştirme daha küçük parçalara bölünebilir ve riskli parçalar daha erken geliştirilebilir, bu da daha iyi risk yönetimine yardımcı olur.

Spiral SDLC Modelinin dezavantajları aşağıdaki gibidir –

  • Yönetim daha karmaşıktır.
  • Projenin sonu erken bilinemeyebilir.
  • Küçük veya düşük riskli projeler için uygun değildir ve küçük projeler için pahalı olabilir.
  • Süreç karmaşık
  • Spiral süresiz olarak devam edebilir.
  • Çok sayıda ara aşama aşırı dokümantasyon gerektirir.