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

Yetenek Olgunluk Modeli (CMM) Seviyeleri Nedir?

  1. Ilk
  2. Tekrarlanabilir/Yönetilebilir
  3. Tanımlı
  4. Niceliksel Olarak Yönetilen
  5. Optimize

Yetenek Olgunluk Modeli (CMM) Seviyeleri

Farklı CMM seviyelerinde ne olur?

Düzeyleri Aktiviteler Faydalar
Seviye 1 Başlangıç
  • 1. seviyede süreç genellikle kaotik ve geçicidir.
  • Bir yetenek, organizasyona göre değil, bireylere göre karakterize edilir.
  • İlerleme ölçülmedi
  • Geliştirilen ürünler genellikle planlı ve bütçeyi aşar
  • Zamanlama, maliyet, işlevsellik ve kalite hedeflerinde geniş farklılıklar
Hiçbiri. Bir proje Tam Kaostur
Seviye 2 Yönetilen
  • Gereksinim Yönetimi
  • Maliyet, zamanlama ve işlevsellik gibi proje parametrelerini tahmin edin
  • Gerçek ilerlemeyi ölçün
  • Planları ve süreci geliştirin
  • Yazılım proje standartları tanımlandı
  • Ürünleri, sorun raporlarındaki değişiklikleri vb. tanımlayın ve kontrol edin.
  • Süreçler projeler arasında farklılık gösterebilir
  • Süreçlerin anlaşılması kolaylaşır
  • Yöneticiler ve ekip üyeleri işlerin nasıl yapıldığını açıklamaya daha az, uygulamaya daha fazla zaman harcıyorlar
  • Projeler daha iyi tahmin edilir, daha iyi planlanır ve daha esnektir
  • Kalite projelere entegre edilir
  • Maliyet başlangıçta yüksek olabilir ancak zamanla azalır
  • Daha fazla evrak ve belge isteyin
Seviye-3 Tanımlı
  • Müşteri gereksinimlerini netleştirin
  • Tasarım gereksinimlerini çözün, bir uygulama süreci geliştirin
  • Ürünün gereksinimleri ve kullanım amacını karşıladığından emin olur
  • Kararları sistematik olarak analiz edin
  • Potansiyel sorunları düzeltin ve kontrol edin
  • Süreç İyileştirme standart haline geliyor
  • Çözüm “kodlanmaktan” “mühendisliğe” doğru ilerliyor
  • Kalite kapıları, tüm ekibin sürece dahil olduğu proje çalışması boyunca ortaya çıkar
  • Riskler azaltılır ve ekibi şaşırtmaz
Seviye-4 Niceliksel Olarak Yönetilen
  • Projenin süreçlerini ve alt süreçlerini istatistiksel olarak yönetir
  • Süreç performansını anlayın, kuruluşun projesini niceliksel olarak yönetin
  • Kuruluş genelinde Süreç Performansını optimize eder
  • Bir kuruluşta Kantitatif Proje Yönetimini teşvik eder.
Seviye-5 Optimizasyonu
  • Kusurların nedenini erken tespit edin ve ortadan kaldırın
  • İhtiyaçları ve iş hedeflerini karşılamak için yeni araçları ve süreç iyileştirmelerini belirleyin ve uygulayın
  • Kurumsal Yenilik ve Dağıtımı Teşvik Eder
  • Nedensel Analiz ve Çözüme ivme kazandırır

Aşağıdaki diyagram, farklı CMM seviyelerinde neler olduğunun resimli bir gösterimini sunmaktadır

Farklı CMM Düzeyleri

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

  1. Gerçekleştirme taahhüdü
  2. Gerçekleştirme kabiliyeti
  3. Etkinliklerin gerçekleştirilmesi
  4. Ölçüm ve Analiz
  5. 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