Süreç iyileştirme, süreç kültürüne sahip olmak isteyen her kuruluş için ilk adımdır. Bütün kuruluşlar değişim çabasındadır ve süreç iyileştirme çalışmaları mutlaka planlaması gereken ve temel bazı verilere dayandırılması gereken bir çalışmadır. Aksi halde başarısız olma olasılığı yüksektir. ISO 15504 standardı, ya da daha çok bilinen adı ile SPICE standardı, bu konudaki en kapsamlı süreç standartlarından biridir.
İngilizce Software Process Improvement and Capability Determination ifadesinin baş harflerinden oluşan SPICE, yazılım süreç geliştirme yetenek düzeyi belirlenmesi olarak tanımlanıyor. SPICE modelinin amacı, birbirinden farklı yazılım süreç değerlendirme modelleri ve yöntemleri için ortak bir prensip kurmaktadır. Bu şekilde değerlendirme sonuçları için ortak rapor elde edilmiş olur.
Oluşturulan referans model, kaliteli bir yazılım mühendisliği için gereken temel hedefleri en üst seviyede tanımlar. Bunun sonucunda da yazılım elde etme, geliştirme, işletme ve destek anlamında yeterlilik arayan her yazılım kuruluşuna uygulanır. Referans model, şirketin belli bir yapıda olmasını, belli bir yönetim felsefesine sahip olmasını aramaz ve belli bir yazılım teknolojisini veya geliştirme metodolojisini ya da yazılım yaşam döngüsü modelini esas almaz.
SPICE modeli, bilgi teknolojilerinde süreç değerlendirme olarak ifade edilebilir. Bu model Uluslararası Standartlar Organizasyonu (ISO) ve Uluslararası Elektroteknik Komisyonu (IEC) tarafından birlikte geliştirilen bir standarttır.
ISO 15504 Yazılım Süreç Değerlendirme Sistemi’nin iki boyutu bulunmaktadır. Bunlardan süreç boyutu, içe dönük süreç iyileştirme çalışmalarını, süreç yeterlilik boyutu ise dışa dönük yetenek belirleme çalışmalarını tanımlar. Yani birinci boyutta süreçler vardır, ikinci boyutta ise yetenek düzeyleri vardır.
Süreç boyutunda beş süreç söz konusudur:
- Müşteri ve tedarikçiyi doğrudan etkileyen süreçler (customer)
- Mühendislik süreçleri (engineering)
- Projeyi meydana getiren süreçler (management)
- Destek süreçleri (support)
- Organizasyon süreçleri (oganization)
Bu sayılan her bir süreç için bir yetenek düzeyi belirlenir. Bu yetenek düzeyleri ise şunlardır:
- 0: Eksik düzey (incomplete)
- 1: Yapılan düzey (performed)
- 2: Yönetilen düzey (managed)
- 3: Kurumsallaşmış düzey (established)
- 4: Öngörülebilen, ölçülen düzey (predictable)
- 5: Sürekli iyileşen düzey (optimizing)
Devlet Planlama Teşkilatı tarafından çıkarılan Kamu Bilgi ve İletişim Teknolojileri Projeleri Hazırlama Kılavuzu, resmi organların bilgi ve iletişim teknolojileri alanındaki yatırımlarında uyulması gereken genel ilke ve esasları belirlemek için çıkarılmıştır.
Hazırlanan bu kılavuz, bir taraftan resmi organların yazılım projelerindeki olası başarısızlıkların önüne geçmek, diğer taraftan da sektörde kalite sertifikasyonunu teşvik etmek ve uluslararası rekabet gücüne katkı sağlanmak amaçlanmıştır. Bunu sağlamak için de hazırlanan yazılım projelerinde, 2007 yılından itibaren, projenin tutarına ve kapsamına bağlı olarak, TS ISO/IEC 15504 standardı (SPICE) seviye 2 yazılım kalite modellerinin uygulanması öngörülmektedir.
ISO 15504 Yazılım Süreç Değerlendirme Sistemi standardı, 1995 yılında Uluslararası Standartlar Organizasyonu (ISO) ve Uluslararası Elektroteknik Komisyonu (IEC) tarafından birlikte geliştirilmiştir.
Yazılım geliştirme projelerinde yönetim, genel olarak geliştirme süreçlerinin iyi anlaşılmaması veya iyi bir planlama yapılmamış olması ya da projenin iyi yönetilmemesi gibi sorunlar yaşamaktadır. Bu sorunların yaşanmaması için daha disiplinli geliştirme süreçlerine ihtiyaç duyulmuştur ve bu yönde standartlar geliştirilmeye başlanmıştır. SPICE, geliştirilen bu standartlardan biridir.
SPICE, yazılım süreçlerini iyileştirmek ve süreç yeteneklerini belirlemek için hazırlanmıştır. SPICE, şu temel ilkelere sahiptir:
- Standartlaşma
- Değerlendirme, yetenek belirleme ve iyileştirme
- Diğer modellere uyum sağlama
- Gelişmeyi ölçme
- Tutarlı ve tekrarlanabilir olma
- Belgelendirme amacı taşımaz
Yukarıda ISO 15504 Yazılım Süreç Değerlendirme Sistemi’nin iki boyutu olduğundan bahsetmiştik: süreç boyutu ve yetenek seviyeleri.
Süreç boyutunun kıstasları şu şekildedir:
- Süreçler, iş yapma yöntemleridir.
- Süreçler genelde alt süreç ve işlemlerden meydana gelir.
- Süreçler, dokümante edilmiştir ve sürekli güncellenir.
- Süreçlerin girdi ve çıktıları vardır.
Örneğin, mühendislik süreçlerinin alt süreçleri, yazılım gereksinim analizinin yapılması, yazılım çalışmalarının tasarlanması, yazılımın gerçekleştirilmesi ve yazılımın test edilmesi, birer alt süreçtir.
Yazılımı süreçleri konusunda bir diğer model de Yetenek Olgunluk Model Entegrasyonu’dur (Capability Maturity Model Integration, CMMI). Bu süreç modeli, kuruluşların yazılım planlama, geliştirme, yapılandırma ve benzeri yazılım süreçlerinin olgunluğunu değerlendiren bir modelidir. 1986 yılında geliştirilmeye başlanmıştır.
Bu model daha çok yönetim süreçlerine ağırlık verirken, ISO/IEC 15504 standardı daha çok mühendislik süreçleri üzerinde durmaktadır.