Yetenek Olgunluk Modeli (CMM) & Yazılım Mühendisliği Düzeyleri

İçindekiler:

Anonim

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 sonunda Yazılım mühendisliği enstitüsünde geliştirildi. Taşeronların çalışmalarını değerlendirmenin bir yolu olarak ABD Hava Kuvvetleri tarafından finanse edilen bir çalışma sonucunda geliştirilmiştir. Daha sonra yazılım geliştirmenin olgunluğunu değerlendirmek için 1991 yılında oluşturulan CMM-SW modeline dayanarak, birden fazla başka model CMM-I ile entegre edilmiştir.

Bu eğitimde öğreneceğiz,

  • Yetenek Olgunluk Modeli (CMM) Seviyeleri nedir?
  • Farklı CMM seviyelerinde ne olur?
  • CMM'nin Uygulanması Ne Kadar Sürer?
  • CMM'nin İç Yapısı
  • CMM Modellerinin Sınırlamaları
  • Neden CMM Kullanılır?

Yetenek Olgunluk Modeli (CMM) Seviyeleri nedir?

  1. İlk
  2. Tekrarlanabilir / Yönetilebilir
  3. Tanımlı
  4. Nicel Olarak Yönetilen
  5. Optimizasyon

Farklı CMM seviyelerinde ne olur?

Seviyeler Aktiviteler Faydaları
Seviye 1 Başlangıç
  • 1. seviyede süreç genellikle kaotik ve anlıktır
  • Yetenek, organizasyona değil, bireylere göre karakterize edilir.
  • İlerleme ölçülmedi
  • Geliştirilen ürünler genellikle programlıdır ve bütçeyi aşar
  • Program, maliyet, işlevsellik ve kalite hedeflerinde geniş varyasyonlar
Yok. Bir proje Total Chaos'dur
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üreç geliştirin
  • Yazılım proje standartları tanımlanır
  • Ürünleri, sorun raporları değişikliklerini vb. Tanımlayın ve kontrol edin.
  • Süreçler projeler arasında farklılık gösterebilir
  • Süreçler daha kolay anlaşılır hale geliyor
  • Yöneticiler ve ekip üyeleri, işlerin nasıl yapıldığını açıklamak için daha az zaman harcarlar ve bunu uygulamak için daha fazla zaman harcarlar.
  • Projeler daha iyi tahmin edilir, daha iyi planlanır ve daha esnektir
  • Kalite projelere entegre edilmiştir
  • Maliyet başlangıçta yüksek olabilir ancak fazla mesai yapmaz
  • 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
  • Olası sorunları giderin ve kontrol edin
  • Süreç İyileştirme standart hale geliyor
  • Çözüm, "kodlanmış" durumdan "tasarlanmış" duruma geçiyor
  • Sürece dahil olan tüm ekip ile proje çalışması boyunca kalite kapıları görünür
  • Riskler hafifletilir ve ekibi şaşırtmayın
Seviye-4 Niceliksel Olarak Yönetilir
  • Projenin süreçlerini ve alt süreçlerini istatistiksel olarak yönetir
  • Süreç performansını anlayın, organizasyonun projesini nicel olarak yönetin
  • Kuruluş genelinde Süreç Performansını Optimize Eder
  • Bir organizasyonda Niceliksel Proje Yönetimini teşvik eder.
Seviye-5 Optimizasyon
  • 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
  • Organizasyonel İnovasyonu ve Dağıtımı Teşvik Eder
  • Nedensel Analiz ve Çözüme ivme kazandırır

Aşağıdaki şema, farklı CMM seviyesinde olanların resimli bir temsilini verir.

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
    • 3 ay -> değerlendirme hazırlığı için
    • 12 ay -> her yeni seviye için

CMM'nin İç Yapısı

CMM'deki her seviye, seviye-1 hariç, anahtar süreç alanı veya KPA olarak tanımlanır . Her KPA, toplu olarak gerçekleştirildiğinde yazılım kabiliyetini geliştirmek için hayati kabul edilen bir dizi hedefe ulaşan bir ilgili faaliyetler kümesini tanımlar

Farklı CMM seviyeleri için, örneğin CMM model-2 için KPA'lar vardır, KPA'lar

  • REQM- Gereksinim Yönetimi
  • PP- Proje Planlama
  • PMC- Proje İzleme ve Kontrol
  • SAM- Tedarikçi Sözleşme Yönetimi
  • PPQA-Süreci ve Kalite Güvencesi
  • CM-Konfigürasyon Yönetimi

Benzer şekilde, diğer CMM modelleri için belirli KPA'larınız vardır. Bir KPA uygulamasının etkili, kalıcı ve tekrarlanabilir olup olmadığını bilmek için aşağıdaki temelde haritalanır

  1. Performans taahhüdü
  2. Gerçekleştirme kabiliyeti
  3. Faaliyetler gerçekleştirmek
  4. Ölçüm ve Analiz
  5. Uygulama doğrulanıyor

CMM Modellerinin Sınırlamaları

  • CMM, bir sürecin nasıl uygulanması gerektiğini değil, neyi ele alması gerektiğini belirler
  • Yazılım süreci iyileştirmenin her olasılığını açıklamıyor
  • Yazılım konularına odaklanır, ancak stratejik iş planlamasını, teknolojileri benimsemeyi, ürün hattını kurmayı ve insan kaynaklarını yönetmeyi dikkate almaz.
  • Bir kuruluşun ne tür bir işte olması gerektiğini söylemez
  • CMM şu anda kriz yaşayan projede işe yaramayacak

Neden CMM Kullanılır?

Bugün CMM, yazılım endüstrisinde bir "onay mührü" olarak hareket etmektedir. Yazılım kalitesini iyileştirmek için çeşitli şekillerde yardımcı olur.

  • Tekrarlanabilir standart sürece rehberlik eder ve böylece işlerin nasıl yapılacağına dair öğrenme süresini azaltır
  • CMM'yi 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 yapması ve ne beklemesi gerektiği konusunda net bir görünüm sağlar.
  • Kalite aktiviteleri, ayrı bir olay olarak düşünülmek yerine projeyle iyi kaynaşıyor
  • Proje ve ekip arasında bir ulaşım aracı görevi görür
  • CMM çabaları her zaman sürecin iyileştirilmesine yöneliktir

Özet

CMM, taşeronların çalışmalarını değerlendirmek için ilk olarak 80'lerin sonlarında ABD Hava Kuvvetlerinde tanıtıldı. Daha sonra geliştirilmiş versiyonu ile yazılım geliştirme sisteminin kalitesini takip etmek için hayata geçirildi.

CMM seviyesinin tamamı beş seviyeye bölünmüştür.

  • Seviye 1 (Başlangıç): Sistem gereksinimleri genellikle belirsiz, yanlış anlaşılmış ve kontrolsüz olduğunda. Süreç genellikle kaotik ve anlıktır.
  • Seviye 2 (Yönetilen): Proje maliyetini, programını ve işlevselliğini tahmin edin. Yazılım standartları tanımlanmıştır
  • Seviye 3 (Tanımlı): Ürünün gereksinimleri ve kullanım amacını karşıladığından emin olur
  • Seviye 4 (Niceliksel Olarak 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