Sunday, January 9, 2011

CMMI

CMMI for Development, Versiyon 1.3

CMMI® (Capability Maturity Model® Integration) modelleri, organizasyonların süreçlerini geliştirmeye yardımcı olan en iyi pratikler kolleksiyonudur. Bu modeller, endüstri, hükümet ve Carnegie Mellon Yazılım Mühendisliği enstitüsünden (Carnegie Mellon® Software Engineering Institute SEI) üyelerle oluşturulan ürün takımları tarafından geliştirmiştir.
CMMI for Development (CMMI-DEV) olarak adlandırılan bu model, ürün ve servis geliştirme için derinlikli ve entegre bir rehber set sağlar.
Son güncellemesi 29 Kasım 2010’da yapılmıştır [1].
CMMI
CMMI, Capability Maturity Model Integration ifadesinin kısaltmasıdır. “CMMI, organizasyonların performansını arttıran etkin süreçlerin temel ögeleri ile destekleyen bir süreç geliştirme yaklaşımıdır. CMMI bir proje sürecinde, bir departmanda veya bütün bir organizasyonda süreçlerin geliştirilmesine yol gösteren bir klavuz olarak kullanılabilir. Geleneksel olarak ayrı organizasyonel fonsiyonların entegre edilmesine, süreç geliştirme hedefleri ve öncelikleri belirlenmesinde, mevcut süreçlerin değerlendirilmesinde referans noktası sağlama konularında yardımcı olur [2].
CMMI Modelinin Kilometre Taşları
CMMI Modelinin gelişmesini aşağıda yer alan Tablo 3.1’de kilometre taşlarını inceleyerek daha iyi anlamak mümkündür.
Tablo 3.1. CMMI kilometre taşları.
Yıl Gelişme
1997 CMMI Amerikan Savunma Bakanlığı ve NDIA tarafından başlatıldı.
1998 İlk takım buluşması yapıldı.
1999 Operasyonların kavramı yayınlandı.
İlk deneme tamamlandı.
2000 Ek denemeler tamamlandı.
CMMI-SE/SW versiyon 1.0 başlangıç amaçlı olarak yayınlandı.
CMMI-SE/SW/IPPD versiyon 1.0 başlangıç amaçlı olarak yayınlandı.
CMMI-SE/SW/IPPD/SS test amaçlı olarak yayınlandı.
2002 CMMI-SE/SW versiyon 1.1 yayınlandı.
CMMI-SE/SW/IPPD versiyon 1.1 yayınlandı.
CMMI-SE/SW/IPPD/SS versiyon 1.1 yayınlandı.
CMMI-SW versiyon 1.1 yayınlandı.
2006 CMMI-DEV versiyon 1.2 yayınlandı..
CMMI-DEV +IPPD versiyon 1.2 yayınlandı.
2007 CMMI-ACQ versiyon 1.2 yayınlandı.
2010 CMMI V1.3 son ve güncel versiyon olarak1 Kasım 2010’da yayınlandı.

CMMI Modelinin Detayları
Bir kurum içinde kullanılan süreçler çalışma alanı, kurum yapısı, büyüklüğü gibi çeşitli değişkenlere bağlıdır. CMMI modelleri birer süreç ya da süreç tanımı değildir. Süreçlerin gerçekleştirilmesinde birer yol göstericidir.CMMI modelleri süreç alanlarından oluşur. Bu süreç alanlarının her biri kurum içinde var olan ya da kullanılan, ve birbirleriyle organik bağı olan süreçlerin bir araya getirilmesinden oluşmaktadır. Süreç alanları birbirlerinden bağımsız olarak tanımlanmış olsa da kurumsal yapı içerisindeki etkileşimlerin herhangi bir süreç iyileştirme çalışmasındaki sonuçları mutlaka gözönünde tutulmalıdır.
CMMI modeli içinde 25 süreç alanı vardır. Bu süreç alanları Sistem Mühendisliği, Yazılım Mühendisliği, Bütünleşik Ürün ve Süreç Geliştirme ve Tedarikçi Kontrolü (SGTK) olmak üzere 4 ana disiplin altında toplanabilir. CMMI modeli değişik süreç iyileştirme modellerini bir araya getirme ve bu modellerden kolay bir dönüşüm sağlama hedefleri dolayısıyla birbirine denk sonuçlar veren iki farklı gösterime sahiptir. Bu gösterimlerden ilki “Sürekli Gösterim” olarak adlandırılır ve herhangi bir süreç alanında bir yetenek olgunluk seviyesi ile belirlenir. Bu gösterim sayesinde kurumunuzda istediğiniz süreç alanlarında istediğiniz yetenek olgunluk seviyesinde çalışmalar yapabilirsiniz.
Bir diğer gösterim de “Etaplı Gösterim” olarak adlandırılır. “Sürekli Gösterim”den farklı olarak bu gösterimde belirli süreç alan gruplarında çeşitli etaplar halinde iyileştirmeler sağlanır. Böylece süreç iyileştirme çalışmalarına yeni başlayan kurumlar önlerinde kesin olarak tanımlanmış bir yol görebilirler.
Yetenek olgunluk modelleri süreçleri 5 seviyede değerlendirirler. Bu seviyeler şunlardır:
1. Seviye: Süreçler önceden tahmin edilemez, kontrolleri zayıftır ve tepkiseldirler. Anlık çözümler geliştirilir ve acil durumlarda süreçler tamamen bir kenara bırakılır.
2. Seviye (Yönetilebilir): Süreçler proje bazında tanımlanır ve yönetilir.
3. Seviye (Tanımlanmış): Süreçler kurum bazında tanımlanır ve yönetilir. Kurumun süreçleri bir havuzda toplanır ve tüm projelerde bu süreçler kullanılır.
4. Seviye (Nicel olarak yönetilebilir): Süreçler nicel olarak ölçülmekte ve kontrol edilmektedir.
5. Seviye (Eniyilenir): Süreçler ve süreç iyileştirme odak noktasıdır.
CMMI’ın Amaçları
İşle ilişkili bir çok faydasının olması yanında CMMI, proje sponsorları tarafından, daha verimli ve etkin süreç modellerinin geliştirilmesi gibi bir yönü vardır. Başlangıç ve uzun dönem amaçları vardır. Başlangıç amacı, yazılım, sistem mühendisliği ve entegre ürün ve süreç geliştirme omak üzere üç spesifik süreç geliştirme modeleninin entegrasyonuydu. Bu entegrasyon, çok disiplinli model tabanlı süreç geliştirmenin maliyetlerini azaltmak için aşağıdaki görevleri başarmaktı:
• Uyumsuzlukları elimine etmek.
• Tekrarları azaltmak.
• Açıklığı ve anlaşılabilirliği arttırmak.
• Ortak bir terminoloji sağlamak.
• Kalıcı bir sitil sağlamak.
• Standart yapılaşmayı sağlamak.
• Ortak bileşenleri sürdürmek
• ISO/IEC 15504 ile uyumluluğu temin etmek.
CMMI versiyon 1.2 güncellemesinde, CMMI takımının amaçlardan biri de mühendisli geliştirmeaktivitelerinin modelini geliştirmek ve basitleştirmekti. İkinci amaç ise servislerin belirlenmesi ve sunulmasının geliştirme dünyasına uygulanarak modelin kapsamının genişletilmesi idi. Şekil 3.4.’de bu amaçlar ve CMMI takımı tarafından geliştirilen ürün hattı yaklaşımı gösterilmektedir. Görülebileceği gibi hala gelecekte diğer disiplinler ve yeni fikirlerin CMMI ürün grubuna eklenmesi söz konusu olabilecektir.
Hem mevcut hem de gelecek model entegrasyonunu kolaylaştırmak ve olanaklı kılmak için CMMI takımı, otomatik olarak genişletilebilir bir iskelet kurarak model bileşenleri, eğitim materyalleri bileşenleri ve değerlendirme materyallerini içine alabilecek duruma getirmiştir. Belirlenmiş kurallar, daha fazla disiplinlerin bu iskelete muhtemel eklentilerini yönetecek şekilde yönetir.

Şekil 3.4. CMMI kavramı

En başından beri CMMI projesi, rekabetçi gerekliliklerin ile değişiklik arasında oluşturulacak kabul edilebir dengeyi kurmak durumundadır. Her bir orijinal yegane disiplin modelinden yapısı itibariyle değişiklik gerektiren entegrasyon görevinin anlamı tüm model kullanıcılarının CMMI ortamında gerekli olacak süreç geliştirme üzerinde yeni düşünüş yollarının beklemesi söz konusudur [3].

Kaynaklar
1. http://www.sei.cmu.edu/library/abstracts/reports/10tr033.cfm
2. CMMI ana sayfası: http://www.sei.cmu.edu/cmmi, 2010.
3. D. M. Ahern, A. Clouse, R. Turner, “CMMI® Distilled: A Practical Introduction to Integrated Process Improvement”, Third Edition, Addison Wesley Professional, Mayıs, 2008