18 Ocak 2017 Çarşamba

SPICE (ISO 15504)

Software Process Improvement and Capability dEtermination
ISO/IEC JTC1/SC7 WG10 tarafından 1991’de çerçeve üst model oluşturma kararı alındı. Çalışmalar 1993’te başladı. İlk versiyon Haziran 1995’te, ikinci versiyon 1996 Kasımda yayınlandı.
Üçüncü versiyon Ocak 1998’de çıktı.
İki boyutlu bir modeldir. Birinci boyutta
    süreçler ikinci boyutta
    yetenek düzeyleri vardır.

SPICE Kapsamı : Yazılım satın alma, tedarik, geliştirme, işletim, bakım ve destek için:
    planlama, yönetim, icra, denetim ve iyileşme aracı.

Spice İlkeleri

 Ortak, modellerüstü, uluslararası kapsamlı çerçeve
- Diğer modelleri destekleyen, uyum sağlayabilen
- Her organizasyona, endüstriye, duruma uyabilen
- Büyük küçük projelere, gruplara, firmalara uygun
- İyileşmeyi, gelişmeyi ölçebilen
- Nesnel, tutarlı ve tekrarlanabilir
- Sertifikasyon amacı taşımayan
- Bir süreç standardı, ürün standardı değil. 

Spice Temel Model






SÜREÇ GRUPLARI

Müşteri-satıcı (customer-supplier) süreçleri
Mühendislik (engineering) süreçleri
Yönetim (management) süreçleri
Destek (support) süreçleri
Örgüt (organisation) süreçleri

YETENEK DÜZEYLERİ

0. Eksik (incomplete) düzey
1. Varolan (performed) düzey
2. Yönetilen (managed) düzey
3. Yerleşmiş (established) düzey
4. Kestirilebilir (predictable) düzey
5. Eniyileşen (optimizing) düzey

SPICE Belgeleri


Part 1 : Kavramlar ve Giriş
Part 2 : Referans Modeli (zorunlu model)
Part 3 : Değerlendirme İsterleri
Part 4 : Değerlendirme Rehberi
Part 5 : Uyumlu Model
Part 6 : Değerlendiricilerin Nitelikleri Rehberi
Part 7 : Süreç İyileştirme Rehberi
Part 8 : Yetenek Belirleme Rehberi
Part 9 : Sözlük

SPICE değerlendirmesi referans modeline göre değil, uyumlu bir modele göre yapılır. SPICE belgeleri kendi içinde uyumlu bir model vermiştir. Başka uyumlu modeller de vardır, veya olabilir. (uyumlu Bootstrap vb.)
Bir süreç değerlendirme modelinin uyumlu olabilmesi için :
- en az bir süreci kapsaması,
- en az iki yetenek düzeyini, 0’dan başlayarak ve kesintisiz,       kapsaması.
- referans modeline bire bir izdüşüm (mapping) bulunması,
- modelle referans modeli arasında not dönüştürme mekanizması olması.

Süreç Boyutu

Değerlendirme modelinde her sürecin eksiksiz tanımı şu bilgileri içerir:
sürecin amacının tanımı  (Referans Model ile aynı)
amacın tanımını güçlendirici açıklayıcı notlar
sürecin temel pratikler (base practices); sürecin amacına ulaşması için gerekli aktiviteler ve görevler
her süreç ile ilgili girdi/çıktı iş ürünleri (work products)
her iş ürününün karakteristikleri 

Süreç kategorileri ve süreçler


Müşteri-satıcı süreç kategorisi   
CUS.1    Yazılım edin    (acquire software)
CUS.2    Müşteri ihtiyaçlarını yönet
CUS.3    Yazılım sağla    (supply software)
CUS.4    Yazılımı işlet    (operate software)   
CUS.5    Müşteri hizmeti sağla


Süreç kategorileri ve süreçler

 Destek süreç kategorisi 
SUP.1    Dokümantasyon geliştir
SUP.2    Konfigürasyon yönetimi yap
SUP.3    Kalite güvencesi sağla
SUP.4    İş ürünlerini doğrula    (verify)   
SUP.5    iş ürünlerini sağla    (validate)
SUP.6    Ortak gözden geçirmeler yap
SUP.7    Denetimler yap
SUP.8    Problemleri çözümle   

Süreç kategorileri ve süreçler


 Mühendislik süreç kategorisi 
ENG.1    Sistem isterlerini ve tasarımını geliştir
ENG.2    Yazılım isterlerini geliştir
ENG.3    Yazılım tasarımını geliştir
ENG.4    Yazılım tasarımını uygula   
ENG.5    Yazılımın entegrasyonu ve testini yap
ENG.6    Sistem entegrasyonu ve testini yap
ENG.7    Sistemin ve yazılımın bakımını yap


Süreç kategorileri ve süreçler

Yönetim süreç kategorisi
Man.1    Projeyi yönet
Man.2    Kaliteyi yönet
Man.3    Risk yönetimi yap
Man.4    Taşaronları yönet

Süreç kategorileri ve süreçler

Organizasyon süreç kategorisi
ORG.1    İşin mühendisliğini yap    (engineer the business)
ORG.2    Süreci tanımla
ORG.3    Süreci iyileştir
ORG.4    Kaliteli iş gücü temin et
ORG.5    Yazılım mühendisliği altyapısı sağla   

Süreç Tanımları ve Temel Pratikler

ENG.2    Yazılım isterlerini geliştir
Sürecin amacı, sistemin yazılım bileşeni için isterlerin saptanmasıdır. Sürecin başarıyla uygulanması sonucu olarak:
Sistemin yazılım bileşenlerine ve arabirimlerine ayrılan (allocated) isterleri, müşterinin yazılı veya ima edilen ihtiyaçlarına uygun olarak, tanımlanacak
Analizi yapılmış, doğru ve test edilebilir yazılım isterleri geliştirilecek

Temel Pratikler ENG.2

ENG.2.1    Yazılım isterlerinin belirtimini yap
ENG.2.2    İşletim çevresinin etkilerini belirle
ENG.2.3    İsterleri müşteri ile değerlendir
ENG.2.4    Sürüm stratejisi belirle
ENG.2.5    Bir sonraki iterasyon için isterleri güncel yap
ENG.2.6    Yazılım isterlerini ilet   

Süreçler ve ilgili iş ürünleri

ENG.2  Yazılım isterlerini geliştir
Girdi ve Çıktılar
Müşteri İsterleri    Yazılım isterleri
Bakım isterleri        Analiz sonuçları
Müşteri isteği
Değişiklik isteği
Sistem tasarımı/yapısı
Problem raporları   
İletişim mekanizması

Yetenek Düzeyleri (YD)

    YD 0 : Eksik (incomplete)
    YD 1 : Varolan (performed)
    YD 2 : Yönetilen (managed)
    YD 3 : Yerleşmiş (established)
    YD 4 : Kestirilebilir (predictable)
    YD 5 : Eniyileşen (optimizing)

Yetenek Düzeyleri (YD)

- SPICE, yetenek düzeyini daha ayrıntılı, tekrarlanabilir ve nesnel notlama amacıyla, alt düzeyde, süreç nitelikleri (process attributes) tanımlamıştır.
- Yetenek Düzeyi boyutunda temel pratikler ve dokuz süreç niteliği vardır.
- Her yeni nitelik yükselen yetenek düzeyini gösterir.
- Süreç Yeteneği Düzeyi başarılan niteliklerle belirlenir.

 Süreç nitelikleri

Süreç nitelikleri, süreç yeteneğinin ölçümünü veren, ve bir başarı skalasında değerlendirilebilen, özelliklerdir.
Her süreç niteliği, sürecin amacına ulaşması için, o sürecin etkinliğini iyileştirme ve yönetme yeteneğinin bir yönünü tanımlar.
Bir yetenek seviyesi, bir süreci yerine getirme yeteneğinde önemli artış sağlayan, nitelikler kümesidir.

YD 1 : 1.1 Süreci Yerine Getirme (process performance)  niteliği
YD 2 : 2.1 Başarım Yönetim (performance management) niteliği
           2.2 İş ürünü Yönetim (work product management) niteliği
YD 3 : 3.1 Süreç Tanım (process definition) niteliği
           3.2 Süreç Kaynak (process resource) niteliği
YD 4 : 4.1 Süreç Ölçüm (process measurement) niteliği
            4.2 Süreç Denetim (process control) niteliği
YD 5 : 5.1 Süreç Değişim (process change) niteliği
            5.2 Sürekli İyileşme (continuous improvement) niteliği


Süreç nitelikleri Örnek- 2. seviyenin süreç niteliklerini

PA 2.1: Performans yönetimi niteliği
    Kendisinden beklenen ürünleri belirtilen zaman ve kaynak gereksinimleri dahilinde verebilmesi için sürecin, ne ölçüde iyi yönetildiği
PA 2.2: İş ürünü yönetimi niteliği
    Ortaya çıkardığı iş ürünlerinin dokümante edilmiş, kontrol altında, işlevsel isterlerini karşılayan, istenen kalitede olması için, süreç ne ölçüde iyi yönetildiği   

Yönetim pratikleri

Her süreç niteliği için, yeterli düzeyde yerine getirildikleri zaman, o niteliğin karakteristiklerini başaran, bir dizi yönetim pratikleri tanımlanmıştır.
Yönetim pratikleri genel amaçlı yönetim aktivitleridir ve tüm süreçlere uygulanabilir olmaları amaçlanmıştır.
Yönetim pratikleri, planlama, örgütleme, kaynak sağlama ve kontrol etme gibi temel yönetim işlevlerinin başarılması etrafında tasarlanmışlardır.
Her süreç niteliği için genel olarak dört yönetim pratiği vardır.

2. seviyenin yönetim pratikleri 

performans yönetimi       
2.1.1    süreci planlamak ve izlemek için kaynak gereksinimlerini belirle
2.1.2    süreç aktivitelerini belirleyerek, ayrılan kaynaklarla sürecin icrasını planla
2.1.3    sürecin amacına ulaşması için, tanımlanan aktiviteleri     uygula
2.1.4    belirtilen zaman ve kaynak gereksinimleri içinde iş ürünlerini çıkarmak için, aktivitelerin icrasını yönet
    
2. seviyenin yönetim pratikleri

iş ürünü yönetimi       
2.2.1    iş ürünlerinin kalitesi ve bütünlüğü için isterleri belirle
2.2.2    iş ürünlerinin kalite ve bütünlük isterlerini başarmak için gerekli aktiviteleri belirle
2.2.3    bütünlüklerini güvenceye almak için iş ürünlerin konfigürasyonunu yönet
2.2.4    İşlevsel ve diğer isterleri karşıladıklarını güvenceye almak için ürünlerin kalitesini yönet    

Spice Notlama dört not üstünden yapılır

    N : (not achieved)        yapılmıyor.
    P : (partly achieved)   kısmen yapılıyor.
    L : (largely achieved) büyük oranda yapılıyor.
    F : (fully achieved)        tam yapılıyor.

Değerlendirme sonucu bir profildir. Tek bir not değildir.
Profilin yatay ekseni değerlendirilen süreçleri, dikey ekseni de değerlendirme sonucunu, verilen notları, gösterir.