Yetenek Olgunluk Modeli (CMM) ve Yazılım Mühendisliğindeki Seviyeleri
CMM nedir?
Yetenek Olgunluk Modeli, bir kuruluşun yazılım sürecinin olgunluğunu ölçmek için bir kıyaslama olarak kullanılır.
CMM, 80'lerin sonlarında Yazılım mühendisliği enstitüsünde geliştirildi. Taşeronların işlerini değerlendirmenin bir yolu olarak ABD Hava Kuvvetleri tarafından finanse edilen bir çalışma sonucunda geliştirildi. Later Yazılım geliştirmenin olgunluğunu değerlendirmek için 1991 yılında oluşturulan CMM-SW modelini temel alan diğer birçok model, CMM-I ile entegre edilmiştir.
Yetenek Olgunluk Modeli (CMM) Seviyeleri Nedir?
- Ilk
- Tekrarlanabilir/Yönetilebilir
- Tanımlı
- Niceliksel Olarak Yönetilen
- Optimize
Farklı CMM seviyelerinde ne olur?
Düzeyleri | Aktiviteler | Faydalar |
---|---|---|
Seviye 1 Başlangıç |
|
Hiçbiri. Bir proje Tam Kaostur |
Seviye 2 Yönetilen |
|
|
Seviye-3 Tanımlı |
|
|
Seviye-4 Niceliksel Olarak Yönetilen |
|
|
Seviye-5 Optimizasyonu |
|
|
Aşağıdaki diyagram, farklı CMM seviyelerinde neler olduğunun resimli bir gösterimini sunmaktadır
CMM'nin Uygulanması Ne Kadar Sürer?
CMM, herhangi bir yazılım geliştirme şirketi için ürünün kalitesini korumak için en çok arzu edilen süreçtir, ancak uygulanması beklenenden biraz daha uzun sürer.
- CMM uygulaması bir gecede gerçekleşmez
- Bu sadece bir “evrak işi” değil.
- Uygulama için tipik zamanlar
- 3-6 ay -> hazırlık için
- 6-12 ay -> Uygulama için
- -> değerlendirme hazırlığı için
- ->her yeni seviye için
CMM'nin İç Yapısı
CMM'deki her seviye şu şekilde tanımlanır: anahtar süreç alanı veya KPA1. seviye hariç. Her KPA, kolektif olarak gerçekleştirildiğinde yazılım kapasitesinin geliştirilmesi için hayati önem taşıyan bir dizi hedefe ulaşan ilgili faaliyetler kümesini tanımlar.
Farklı CMM seviyeleri için bir dizi KPA vardır; örneğin CMM model-2 için, KPA
- REQM- Gereksinim Yönetimi
- PP- Proje Planlama
- PMC- Proje İzleme ve Kontrol
- SAM- Tedarikçi Anlaşma Yönetimi
- PPQA-Süreç ve Kalite Güvencesi
- CM-Yapılandırma Yönetimi
Benzer şekilde, diğer CMM modelleri için belirli KPA'larınız vardır. Bir KPA'nın uygulanmasının etkili, kalıcı ve tekrarlanabilir olup olmadığını bilmek için aşağıdaki temelde haritalanır
- Gerçekleştirme taahhüdü
- Gerçekleştirme kabiliyeti
- Etkinliklerin gerçekleştirilmesi
- Ölçüm ve Analiz
- Uygulamanın doğrulanması
CMM Modellerinin Sınırlamaları
- CMM, bir sürecin nasıl uygulanması gerektiği yerine neyi ele alması gerektiğini belirler
- Yazılım sürecinin iyileştirilmesine yönelik her olasılığı açıklamaz
- Yazılım konularına yoğunlaşır ancak stratejik iş planlamayı, teknolojileri benimsemeyi, ürün hattı oluşturmayı ve insan kaynaklarını yönetmeyi dikkate almaz.
- Bir kuruluşun ne tür bir iş içinde olması gerektiğini söylemez
- Şu anda kriz yaşayan projede CMM'nin faydası olmayacak
Neden CMM Kullanmalı?
Bugün CMM, yazılım endüstrisinde bir “onay mührü” görevi görüyor. Yazılım kalitesinin iyileştirilmesine çeşitli şekillerde yardımcı olur.
- Tekrarlanabilir standart süreçlere rehberlik eder ve dolayısıyla işlerin nasıl yapılacağına ilişkin öğrenme süresini azaltır
- CMM uygulamak, geliştirme için standart protokolü uygulamak anlamına gelir; bu, yalnızca ekibin zamandan tasarruf etmesine yardımcı olmakla kalmaz, aynı zamanda ne yapılması ve ne beklenmesi gerektiği konusunda net bir görüş sağlar.
- Kaliteli faaliyetler ayrı bir etkinlik olarak düşünülmek yerine projeyle iyi uyum sağlar
- Proje ile ekip arasında gidip gelen kişi olarak görev yapar
- CMM çabaları her zaman sürecin iyileştirilmesine yöneliktir
ÖZET
CMM ilk kez 80'li yılların sonlarında ABD Hava Kuvvetleri'nde taşeronların işlerini değerlendirmek amacıyla kullanılmaya başlandı. Later Geliştirilmiş versiyonu ile yazılım geliştirme sisteminin kalitesinin takip edilebilmesi için uygulamaya alınmıştır.
CMM seviyesinin tamamı beş seviyeye ayrılmıştır.
- Seviye 1 (İlk ayar): Sistem gereksinimlerinin genellikle belirsiz, yanlış anlaşıldığı ve kontrolsüz olduğu durumlar. Süreç genellikle kaotik ve geçicidir.
- Seviye 2 (Yönetilen): Proje maliyetini, programını ve işlevselliğini tahmin edin. Yazılım standartları tanımlandı
- Seviye 3 (Tanımlanmış): Ürünün gereksinimleri ve kullanım amacını karşıladığından emin olunmasını sağlar
- Seviye 4 (Niceliksel Yönetilen): Projenin süreçlerini ve alt süreçlerini istatistiksel olarak yönetir
- Seviye 5 (Olgunluk): İhtiyaçları ve iş hedeflerini karşılamak için yeni araçları ve süreç iyileştirmelerini belirleyin ve uygulayın