3. Tarihçe (1/2)
Kasım 1986
Mitre Corporation desteğiyle
Carnegie Mellon Üniversitesi
Yazılım Mühendisliği Enstitüsü’nde
(CMU-SEI) baĢladı.
1991 yılında
Mark C. PAULK ve Charles V.
WEBER tarafından yayınlandı.
4. Tarihçe (2/2)
YOM (CMM) yazılım süreç
iyileĢtirmede kullanılacak araç ve
olgunluk sorguları aracılığıyla
oluĢturulmuĢ bir model oldu.
5. Amaç
Yazılım sektöründe yıllarca kalite ve
verimlilik konularında yapılan
çalıĢmalar gösterdi ki, ana sorun:
YAZILIM GELĠġTĠRĠLEN SÜREÇ
Maliyeti:
ZAMAN
PARA
DURAĞANLIK
7. Neden?
Amatör Olgun
Ani Tepki Zaman çizelgesi
Anlık Kriz Maliyet tablosu
Çözümü Kalite hedefleri
Ölçülemeyen ÇalıĢan sistem
kalite
Denetlenen
ÇalıĢan personel üretim
Kaos MüĢteri
Subjektif memnuniyeti
denetleme Önlenebilen
Yeniden çözüm problem
8. Sonuç: YOM (CMM)
GeliĢtiricinin üretimini kontrol
edecek ve yükseltecek bir modelin
tanımlanması
Bu modele göre akreditasyon
yapılması
Hem müĢteri güveninin sağlanması,
hem de ürün kalitesi oluĢturulması
10. AĢamalar (2/7)
Düzey 1: GiriĢ
Düzenli yapı mevcut değildir
BaĢarılı sonuçlar alınabilir
Garantili değildir
Mühendislik uygulamaları mevcut
değildir
ġirket kahramanları vardır
11. AĢamalar (3/7)
Düzey 2: Tekrarlanabilir
Proje yürütme sistemi mevcuttur
“Benzer proje” kavramı
Planlama ve takip yapılmaktadır
“Proje yöneticisi” kavramı
12. AĢamalar (4/7)
Düzey 3: Tanımlı
“Standart süreç tanımı” yapılmıĢtır
Yazılım Mühendisliği ve yönetim
alanında tanımlamalar yapılmıĢtır
Etkin yönetim tanımlamaları
oluĢturulur
Süreç düzenlemelerinden sorumlu
ekip (SEPG)
Ölçülebilir süreç
13. AĢamalar (5/7)
Düzey 4: Yönetilebilir
Ölçülebilir kalite kıstasları
Düzenli olarak kalite ve üretkenlik
ölçümü
Ölçümlemeye bağlı kontrollü üretim
Tanımlı riskler ve süreç içinde
yorumlanması
Öngörüler yapılabilir
14. AĢamalar (6/7)
Düzey 5: GeliĢtirilebilir
Varolan sürecin iyileĢtirilmesi
Sürecin zayıf ve güçlü yanları sürekli
denenir
Hata analizi
Sürekli yeni teknoloji ve metod analizi
16. Sayısal Değerler (1/3)
Orjinal Çalışma
Yeniden Çalışma
Test ve Kalite Çalışması
Proje içindeki efor
yüzdesi
Düzey 1 Düzey 2 Düzey 3 Düzey 4
Kaynak: Raytheon Şirketi
17. Sayısal Değerler (2/3)
Kriter Düzey 1 → 2 Düzey 2 → 3 Düzey 3 → 4
Hata Azalması
Döngü Azalması
Masraf Azalması
Öngörü Uyumsuzluğu
Kaynak: Boeing Şirketi
18. Sayısal Değerler (3/3)
Düzeylere göre yazılım Ģirketleri
(2001)
Düzey 4
22 ABD
16 Hindistan
1 Ġsrail
1 Avustralya
Düzey 5
24 Hindistan
18 ABD
19. Alt Modeller
Yapabilirlik Olgunluğu Modelleri
Yazılım YOM (SW-CMM)
Ġnsan Kaynakları YOM (P-CMM)
Yazılım kazancı YOM (SA-CMM)
Sistem Mühendisliği YOM (SE-CMM)
BileĢik ürün geliĢtirme YOM (IPD-
CMM)
20. BitiriĢ
Yazılım satılabilir bir “MAL”dır
Yazılım satıcıları > Yazılım müĢterisi
Yazılım Kalitesi ...
Yazılımcı Kalitesi
DoD ...
Dünya çapında kabul edilebilirlik ...
Yazılım ihracatı
21. Kalitenin Önemi
Proje planının
gerisinde kalınca
kalite unutulur!!
DüĢük kalite
yeniden yapılacak
demektir!
Kaliteden ödün vermemelisiniz...
23. Yazılım Firmalarında Süreç
İyileştirme
Daha Kaliteli ISO 9001:2000
Müşterinin İsteği
Ürünler için Sertifikasyonu
Yazılım Modelleri
Süreç Tanımlama
İyileştirme
24. Yazılım Firmalarında Süreç
İyileştirme
Daha Kaliteli Ürünler ve Süreç Yaklaşımı
Bir ürünün kalitesi o ürünü geliştiren ve
iyileştiren süreç/süreçlerin kalitesine çok
yakından bağlıdır.
25. Yazılım Firmalarında Süreç
İyileştirme
ISO 9001:2000 Sertifikasyonu
Kalite Yönetimi Sistemini tanımlamak isteyen
yazılım firmalarının yapması gereken en
önemli işlerden biri de süreçlerini tanımlamak
ve iyileştirmektir.
26. Yazılım Firmalarında Süreç
İyileştirme
Müşteri İsteği Modeller
Büyük ve/veya kritik yazılım projelerinde, projenin
sahibi Müşteri (Savunma Sanayi)projeyi yapabilme
şartlarını tanımlar.
Bu şartlar ve ayrıca Projelerin sürekliliği ve bakımı
olduğu düşünüldüğünde projeyi geliştiren firmaların
uluslararası platformda tanımlı olan modelleri
(CMMI, SPICE, TickIT, Trillium) kullanması beklenir.
27. Süreç ve İyileştirme
Süreç Nedir?
• Süreç, girdileri çıktılara dönüştüren, birbiriyle ilişkili
etkinlikler kümesidir (IEEE/EIA 12207)
• Altsüreç, adım ve işlemlerden oluşur
• Tekrarlanabilir
28. Süreç ve İyileştirme
Süreç Tanımlama
• Yazılım firmalarında süreç tanımlama çok önemli bir
noktadır.
• Yazılım süreçleri konusunda Standart ve Modeller
bu konuda yol göstericidir.
• Süreçler tanımlandıktan sonra kurum içinde
zamanla olgunlaşırlar.
30. Süreç ve İyileştirme
Planlama
Etkinlik Sonuç
Seviye 2: Etkinliği
yapmadan önce Giriş
düşün
yaptıktan sonra Değerlendirme İyileştirme
doğru yapıp
yapmadığını düşün
31. Süreç ve İyileştirme
Planlama
Giriş
Standartlar Etkinlik Sonuç
Giriş
Giriş
Değerlendirme İyileştirme
Seviye 3: Öğrendiklerinizi kullanın
32. Süreç ve İyileştirme
Planlama Öngörü
Standartlar Etkinlik Sonuç
Giriş
Değerlendirme İyileştirme
Seviye 4: İstediğiniz Sonuçları tahmin edin
33. Süreç ve İyileştirme
Planlama Öngörü
Standartlar Etkinlik Sonuç
Giriş
İyileştirme Değerlendirme İyileştirme
Seviye 5: Öğrenilen Dersleri Standartlarda kullan
34. ISO 9001:2000 ile
Süreç İyileştirme
• Hedef: Yazılım Firmasının ISO
9001:2000 alması
• Aşama 1. ...
• Aşama 2. Süreçleri Tanımlama
• Aşama 3. Tanımlanan Süreçleri
İyileştirme
• Aşama 4. ...........
35. ISO 9001:2000 ile
Süreç İyileştirme
• Süreçleri Tanımlama:
ISO 9001:2000’de her firmaya her organizasyona
uyabilecek genel süreçlerle ilgili istekleri
bulabilmekteyiz.
Ancak yazılım firmalarına yazılım süreçlerini
tanımlamak konusunda özel bir rehberliği ISO
9001:2000’de bulamamaktayız.
Bir yazılım firması yazılım geliştirmenin kendine
özgü doğası ve de yazılım geliştirmenin bir
mühendislik olduğu gerçeğinden yola çıkıldığında
süreçleri tanımlama aşamasında yazılım
mühendisliği standartlarını ve modellerini de
rehber olarak almak uygundur.
36. ISO 9001:2000 ile
Süreç İyileştirme
Tanımlanan Süreçleri İyileştirme:
ISO’da süreç iyileştirme ile ilgili isterler
tanımlıdır. Ancak yazılım süreçlerin
iyileştirmesi ile ilgili tecrübelerle
oluşturulmuş modeller firmaların daha
başarılı ve tutarlı ilerlemelerini
sağlayacaktır.
37. ISO 9001:2000 ile
Süreç İyileştirme
Tanımlanan Süreçleri İyileştirme:
Bir organizasyon ürünlerinin kalitesini iyileştirmek için;
• Süreçlerinin mevcut durumunu değerlendirecek
ispatlanmış, tutarlı ve güvenilir bir metoda,
• Değerlendirme sonuçlarını tutarlı bir iyileştirme
programının bir parçası olarak kullanabilme yoluna
ihtiyacı vardır.
38. ISO 9001:2000 ile
Süreç İyileştirme
Tanımlanan Süreçleri İyileştirme:
Yazılım firmalarının süreç iyileştirme için
kullanabileceği modeller:
• CMMI
• ISO 15504 (SPICE)
• Trillıum ...
39. ISO 9001:2000 ile
Süreç İyileştirme
Süreç
tarafından yeteneğini ve
değişiklikleri incelenir risklerini
belirler
belirler
Süreç
Değerlendirme
öncülük öncülük
eder eder
Süreç Yetenek
İyileştirme motive eder Belirleme
Süreç Değerlendirme Ortamı
40. Süreç Değerlendirme Ortamı
Değerlendirme girdileri
•Sponsor
•Amacı
Süreç İyileştirme veya •Kapsamı Değerlendirme faaliyetleri
süreç yetenek belirleme •Kısıtlar •Planlama
•Model •Veri toplama
•Sorumluluklar •Veri sağlama
•Ek bilgiler •Not verme
•Raporlama
Süreç Değerlendirme
Uyumlu
Değerlendirme
Modeli
Değerlendirme Çıktısı Süreç iyileştirme veya
•Değerlendirme kaydı süreç yetenek belirleme
41. Süreç İyileştirme Rehberleri
Tarihsel Gelişmeler
• 1984 ABD DoD girişimi ve SEI kuruluşu
(Carnegie Mellon Univ. Software Engineering Institute)
• Watts Humphrey ve Yetenek Olgunluk Modeli
(Capability Maturity Model, CMM )
• ISO 9001, ISO 9000-3, TickIT modelleri
• Diğer modeller : Bootstrap (UK), Trillium (Kanada) vb.
• SPICE modeli (ISO 15504 taslak standardı) ve ESI
42. Süreç İyileştirme Rehberleri
CMM Nedir?
Yapabilirlik Olgunluk Modeli
Capability Maturity Model® Integration
Yazılım süreç iyileştirmesi,
organizasyonun stratejik planları ve
iş hedefleri, yapısı, kullandığı
teknoloji ve sosyal kültürü ile
bağlantılıdır.
43. Süreç İyileştirme Rehberleri
Ortak Kullanılan CMMler
Yazılım CMM staged yazılım geliştirme
Sistem Müh. CMM continuous sistem
mühendisliği
Yazılım Edinme CMM staged yazılım edinme
Sistem Güvenlik Müh. CMM continuous güvenlik
mühendisliği
Personal Software Process staged bireysel yazılım
geliştirme
IPD-CMM hybrid tümleşik ürün
geliştirme
People CMM staged iş gücü
44. Süreç İyileştirme Rehberleri
İkinci olgunluk seviyesine ulaşmak için
yönetim kendi süreçleri üzerine
odaklaşır ve bunlara uyarak liderlik
yapar.
Üçüncü seviye, proje yönetimi süreci
üzerine, bütün yazılım süreci tanımları
entegre edilerek ve dokümante
edilerek, inşa edilir.
Dördüncü seviyenin en önemli
sorumluluğu ve ortak noktası süreç
kontrolüdür.
45. Süreç İyileştirme Rehberleri
Modeller
CMMI’a Geçiş?
• Capability Maturity Model
for Software V2, draft C
(SW-CMM V2C)
• EIA Interim Standard 731,
System Engineering
Capability Model (SECM)
• Integrated Product
Development Capability
Maturity Model, draft
V0.98 (IPD-CMM)
46. Süreç ĠyileĢtirme
Rehberleri
SPICE;
Sürekli iyileştirme (içe dönük)
Yetenek belirleme (içe ve dışa dönük)
için geliştirilmiş bir yazılım süreç değerlendirme
modelidir.
47. Süreç İyileştirme Rehberleri
SPICE’ın Özellikleri:
•Ortak, modellerüstü, uluslararası kapsamlı bir
çerçeve olma
• Diğer modelleri destekleme, uyum sağlayabilme
• Her organizasyona, endüstriye, duruma uyabilme
• Büyük, küçük projelere, gruplara, firmalara
uygulanabilme
• İyileşmeyi, gelişmeyi ölçebilme