Yazılım Mühendisliğinde Yetenek Olgunluk Modeli (CMM)
⚡ Akıllı Özet
Yetkinlik Olgunluk Modeli (CMM), bir kuruluşun yazılım sürecinin ne kadar olgun olduğunu ölçmek için kullanılan bir kıyaslama ölçütüdür. Yazılım Mühendisliği Enstitüsü'nde geliştirilen bu model, ekipleri kaotik, plansız çalışmalardan sürekli, optimize edilmiş iyileştirmeye doğru yönlendiren beş seviye tanımlar.
CMM nedir?
Yetenek Olgunluk Modeli Bu, bir kuruluşun yazılım sürecinin olgunluğunu ölçmek için bir kıyaslama ölçütü olarak kullanılır.
CMM, 80'lerin sonlarında Yazılım Mühendisliği Enstitüsü'nde geliştirilmiştir. ABD Hava Kuvvetleri tarafından finanse edilen bir çalışmanın sonucu olarak, taşeronların çalışmalarını değerlendirmek amacıyla geliştirilmiştir.tracları. Later1991 yılında yazılım geliştirmenin olgunluğunu değerlendirmek amacıyla oluşturulan CMM-SW modeline dayanarak, CMM-I ile birlikte birçok başka model de entegre edilmiştir.
Yetenek Olgunluk Modeli (CMM) Seviyeleri Nedir?
Model, ilerleyen beş olgunluk seviyesini tanımlar:
- Ilk
- Tekrarlanabilir/Yönetilebilir
- Tanımlı
- Niceliksel Olarak Yönetilen
- Optimize
Farklı CMM seviyelerinde ne olur?
Aşağıdaki tabloda her seviyedeki faaliyetler ve faydalar ayrıntılı olarak gösterilmiştir.
| Düzeyleri | Aktiviteler | Faydalar |
|---|---|---|
| Seviye 1 Başlangıç |
|
Hiçbiri. Proje tam bir kaos. |
| 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ğunu görsel olarak göstermektedir:
CMM'nin Uygulanması Ne Kadar Sürer?
CMM, herhangi bir yazılım geliştirme şirketi için ürün kalitesini korumak adına en arzu edilen süreçtir, ancak uygulanması beklenenden biraz daha uzun sürer.
- CMM uygulaması bir gecede gerçekleşmez.
- Bu sadece "evrak işi" değil.
- Tipik uygulama süreleri şunlardır:
- 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 KPASeviye 1 hariç. Her KPA, birlikte gerçekleştirildiğinde yazılım yeteneğini geliştirmek için hayati önem taşıyan bir dizi hedefi gerçekleştiren ilgili faaliyetler kümesini tanımlar.
Farklı CMM seviyeleri için KPA setleri mevcuttur. Örneğin, CMM model-2 için KPA'lar şunlardır:
- REQM – Gereksinim Yönetimi
- PP – Proje Planlaması
- PMC – Proje İzleme ve Kontrolü
- SAM – Tedarikçi Anlaşması Yönetimi
- PPQA – Süreç ve Kalite Güvencesi
- CM – Yapılandırma Yönetimi
Benzer şekilde, diğer CMM modelleri için de belirli KPA'lar (Temel Performans Göstergeleri) mevcuttur. Bir KPA'nın uygulanmasının etkili, kalıcı ve tekrarlanabilir olup olmadığını anlamak için aşağıdaki esaslara göre haritalandırılır:
- Gerçekleştirme taahhüdü
- Gerçekleştirme kabiliyeti
- Gerçekleştirilen faaliyetler
- Ölçüm ve Analiz
- Uygulamanın doğrulanması
CMM Modellerinin Sınırlamaları
Modelin ayrıca çeşitli sınırlamaları da bulunmaktadır:
- CMM, bir sürecin nasıl uygulanması gerektiğinden ziyade, neyi ele alması gerektiğini belirler.
- Yazılım süreçlerinde yapılabilecek her türlü iyileştirme olasılığını açıklamaz.
- Yazılım sorunlarına odaklanıyor ancak stratejik iş planlaması, teknoloji benimseme, ürün yelpazesi oluşturma ve insan kaynakları yönetimi konularını ele almıyor.
- Bu, bir kuruluşun hangi tür iş kolunda faaliyet göstermesi gerektiği konusunda bilgi vermez.
- CMM, şu anda kriz yaşayan bir projede faydalı olmayacaktır.
Neden CMM Kullanmalı?
Günümüzde CMM, yazılım endüstrisinde bir tür "onay mührü" görevi görüyor. Yazılım kalitesini çeşitli şekillerde iyileştirmeye yardımcı oluyor.
- Tekrarlanabilir standart bir sürece yönlendirir ve bu nedenle işlerin nasıl yapılacağına dair öğrenme süresini azaltır.
- CMM uygulamak, geliştirme için standart bir protokol uygulamak anlamına gelir; bu da ekibin zamandan tasarruf etmesine yardımcı olmakla kalmaz, aynı zamanda ne yapılması ve ne beklenmesi gerektiği konusunda net bir bakış açısı sağlar.
- Kalite kontrol faaliyetleri, ayrı bir etkinlik olarak düşünülmek yerine, projeyle uyumlu bir şekilde bütünleşiyor.
- Proje ile ekip arasında iletişim aracı görevi görür.
- CMM'nin çabaları her zaman sürecin iyileştirilmesine yöneliktir.




