Bilgi teknolojisi
organizasyonlarında, yazılım süreçlerini iyileştirme amaçlı bir model olarak
Carnegie Melon Üniversitesi, Yazılım Mühendisliği Enstitüsü (SEI) tarafından
geliştirilmiştir. Organizasyonların; insan kaynaklarını, süreçlerini ve teknolojilerini
geliştirip daha iyi çalışır hale getirebilmelerini sağlayan uzun vadeye
yayılmış bir olgunlaştırma planıdır.
Yetenek Olgunluk Modelleri ilk olarak 1986 yılında Amerikan Savunma
Bakanlığı'nın (DOD) isteği ve yardımlarıyla birlikte, Yazılım Mühendisliği
Enstitüsü (SEI) bünyesinde Carnegie Melon Üniversitesi tarafından yürütülmeye
başlanmıştır.
CMM, yazılımı geliştirme alanında çalışan kuruluşların iş süreçleri olgunluğunu
belirleme ve
İyileştirmeyi amaçlar. Burada “olgunluk” sözcüğü, “Bu kez ne kadar iyi
yapılacak?” sorusunun
daha az sorulduğu (tahmin edilebilirliğin) ve bilinmeyenin (riskin) düşük
olduğu bir çevrenin
oluşturulması anlamında kullanılmıştır. Süreçlerde olgunluk düzeyinin
artması, belirsizliklerin
ve tahmin edilebilirlik düzeyinin azalması anlamına gelmektedir.
İlk olarak yazılım üzerine 1991 yılında yayınlanan model, daha sonra pek
çok konuda yapılan çalışmalarla geliştirilmiştir. 1997 yılında farklı alanlara
dağılmış olan olgunluk modellerinin tek bir çatı altında toplanmasına ve
böylece denetimin daha kolay yapılabileceğine karar verilmiştir. Bu durumu
sağlamak için SEI aşağıda belirtilen üç modeli Entegre Yetenek Olgunluk
Modeli (CMMI) adı altında birleştirmiştir:
·
Yazılım Yetenek Olgunluk Modeli (SW-CMM)
·
Sistem Mühendisliği Yetenek Olgunluk Modeli (SE-CMM)
·
Entegre Ürün Geliştirme Yetenek Olgunluk Modeli (IPD-CMM)
Yazılım Yetenek Olgunluk Modeli (SW-CMM)
Yazılım yetenek olgunluk modeli adından da anlaşılabileceği üzere
organizasyonlardaki yazılım süreçlerinde, bu organizasyonun yazılım konusunda
bulunduğu olgunluk seviyesi ve bu seviyeyi yukarı taşıyabilmek için bu
organizasyonların sahip olması gereken temel unsurları belirten modeldir.
Yazılım olgunluk modelinin genel olarak beş seviyesi bulunmaktadır:
· Başlangıç (Initial)
Başarının bireysel gayretlere dayandığı, çok az sayıda sürecin tanımlı olduğu seviyedir. Bu seviye hariç diğer bütün seviyelerde o seviyelerin ilgilendiği belirli konular olmasına rağmen bu seviyede yoktur.
Başarının bireysel gayretlere dayandığı, çok az sayıda sürecin tanımlı olduğu seviyedir. Bu seviye hariç diğer bütün seviyelerde o seviyelerin ilgilendiği belirli konular olmasına rağmen bu seviyede yoktur.
· Tekrarlanabilir (Repeatable)
Bu seviyede, ilk olarak yazılım gereksinimleri yönetilir ve bu gereksinimler ile ilgili ürünler oluşturulur. Daha önceden hizmet verilen organizasyona karşı verilen taahhütler, bu seviyede yine bu organizasyonun istek ve revizyonlarına uygun şekilde tesis edilir, iki taraf arasında gözden geçirilip kontrol edilir.
Bu seviyede, ilk olarak yazılım gereksinimleri yönetilir ve bu gereksinimler ile ilgili ürünler oluşturulur. Daha önceden hizmet verilen organizasyona karşı verilen taahhütler, bu seviyede yine bu organizasyonun istek ve revizyonlarına uygun şekilde tesis edilir, iki taraf arasında gözden geçirilip kontrol edilir.
· Tanımlanmış (Defined)
Bu seviyede, isminden de anlaşılacağı üzere tüm süreçler, artık iyice tanımlanmış standartlar, prosedürler, araçlar ve metotlar ile anlatılmıştır. Ayrıca yazılım ile ilgili olan tüm projelerde tam anlamıyla CMMI standartları uygulanmaya başlanır. Bu seviyedeki tüm süreçler, 2. seviyeye göre daha kapsamlı ve detaylı olarak tanımlanmıştır.
Bu seviyede, isminden de anlaşılacağı üzere tüm süreçler, artık iyice tanımlanmış standartlar, prosedürler, araçlar ve metotlar ile anlatılmıştır. Ayrıca yazılım ile ilgili olan tüm projelerde tam anlamıyla CMMI standartları uygulanmaya başlanır. Bu seviyedeki tüm süreçler, 2. seviyeye göre daha kapsamlı ve detaylı olarak tanımlanmıştır.
· Yönetilen (Managed)
Bu seviye yazılım süreçlerinin, iyileştirmeler öncesi son şeklini almadan, tam anlamıyla yönetildiği ve tamamlandığı yerdir. Bu seviyede çeşitli istatistiksel ve nicel ölçüm teknikleri kullanılarak süreçlerin performansları kontrol edilir ve bu süreçlerin ileri zamanlardaki performansları öngörülebilir. Bu olay 4. seviyeyi 3. seviyeden ayıran en önemli unsurdur.
Bu seviye yazılım süreçlerinin, iyileştirmeler öncesi son şeklini almadan, tam anlamıyla yönetildiği ve tamamlandığı yerdir. Bu seviyede çeşitli istatistiksel ve nicel ölçüm teknikleri kullanılarak süreçlerin performansları kontrol edilir ve bu süreçlerin ileri zamanlardaki performansları öngörülebilir. Bu olay 4. seviyeyi 3. seviyeden ayıran en önemli unsurdur.
· Optimize Edilen (Optimizing)
4. seviyede elde edilen veriler ve projelerin tamamlandığı süreçte gelişen teknoloji ile bu seviyede sonuçlandırılan tüm projeleri iyileştirmeye ve projelerden maksimum fayda sağlamaya çalışılır. Bu süreçte tüm organizasyon projeleri iyileştirmeye odaklanmıştır.
4. seviyede elde edilen veriler ve projelerin tamamlandığı süreçte gelişen teknoloji ile bu seviyede sonuçlandırılan tüm projeleri iyileştirmeye ve projelerden maksimum fayda sağlamaya çalışılır. Bu süreçte tüm organizasyon projeleri iyileştirmeye odaklanmıştır.
Kaynaklar:
☞
http://bidb.itu.edu.tr/seyir-defteri/blog/2013/09/08/entegre-yetenek-olgunluk-modeli-(cmmi)
☞
http://www.emo.org.tr/ekler/b927d5224306de1_ek.pdf
☞
http://securitynotes.org/software-capability-maturity-model
☞
http://arihantonlineacademy.com/cmm-model-capability-maturity-model-levels-of-cmm-kpas-software-engineering