Yazılım test süreci olgunluk modelleri. Yazılım geliştirme: kalite standartları SMM modelinin yapısal bir unsurudur

05.04.2007 Vyaçeslav Pankratov

Bugün kalite hakkında çok fazla konuşma var yazılım Ve bilgi sistemi Otomatik iş süreçlerinin kalitesi ve verimliliği arasındaki ilişkiyi ortaya koymak için araştırmalar yapılıyor. Yazılım kalitesi, soyut ve soyut bir kavramdan, bir yazılım çözümünü, uygulama projesini, oluşturma sürecini ve genel olarak bilgi sistemlerinin kullanım düzeyini değerlendirmek için kapsamlı bir ölçüme dönüştürülür. Programların kalitesi neye bağlıdır ve onu nasıl etkileyebilirsiniz?

Günümüzde yazılım ve bilgi sistemlerinin kalitesi hakkında çok fazla konuşulmakta ve otomatikleştirilmiş iş süreçlerinin kalitesi ile verimliliği arasındaki ilişkiyi ortaya koyan çalışmalar yapılmaktadır. Yazılım kalitesi, soyut ve soyut bir kavramdan, bir yazılım çözümünü, uygulama projesini, oluşturma sürecini ve genel olarak bilgi sistemlerinin kullanım düzeyini değerlendirmek için kapsamlı bir ölçüme dönüştürülür. Programların kalitesi neye bağlıdır ve onu nasıl etkileyebilirsiniz?

Yazılımın kalitesinin doğrudan üretim sürecinin kalitesine bağlı olduğu açıktır. Üretim sürecini yöneterek ve tüm teknolojik aşamaların verimlilik göstergelerini izleyerek üretilen ürünün kalitesini etkileyebilirsiniz. Programların özelliklerinden bahsetmişken, program kodunun kalitesiyle (kodun siklomatik karmaşıklığı - modül yapısının karmaşıklığı, örneğin bağımsız rotaların sayısı) ilgili, anlaşılması ve analiz edilmesi kolay niceliksel metrikleri vurgulayabiliriz. içinde); proje havuzunun yapay öğeleri olarak sınıflandırılan kod satırı sayısı vb.; testler (test komut dosyalarıyla birlikte kod dallarının ve modüllerin kapsamı, ürünün piyasaya sürülmesinden önce ve sonra bulunan hata sayısının oranı, hata tespit dinamikleri vb.); uygulama arayüzleri ve işletim platformlarına yönelik önerilere uyum gerekliliklerini kapsar. Ancak geliştirilen programların kalitesinin sağlanması süreç aşamasına geçildiğinde bu sürecin kalitesinin anlaşılmasında bazı zorluklar ortaya çıkmaktadır. Aslında, örneğin, iki özdeş yazılım sistemini geliştirmek için pratikte hiçbir proje yoksa ve dahası, deneyim ve beceriler açısından aynı iki geliştirme ekibi yoksa, belirli bir geliştirme yönteminin etkililiği nasıl değerlendirilebilir ve ölçülebilir? Nihai sonuca göre karar vermek mümkün değildir: yazılım üretiminin süreç koşullarına (kullanılan metodoloji, proje ekibinin yapısı, müşteriyle iletişim yöntemleri) ek olarak, proje koşulları (son teslim tarihleri, maliyetler ve hacimler) kaynaklar) genellikle büyük ölçüde farklılık gösterir. Üretim sürecinin teknolojik bileşeni olan yazılım test sürecinin daha ayrıntılı bir şekilde incelenmesi, test verimliliği ölçütlerinin seçilmesi sorununu ortaya çıkarır.

Belirli bir sürecin mevcut verimlilik düzeyini doğrudan değerlendirmenin yanı sıra, daha ilginç bir görev daha vardır - verimlilik düzeyini artırmak veya dedikleri gibi, olgunluk seviyesi süreçler. Yazılım geliştirme süreciyle entegre olarak test çalışmasının planlanması ve yürütülmesine ilişkin temel sorunlar çözüldüğünde, işi gerçekleştirmek için en uygun organizasyonel ve prosedürel şemaları bulma görevi ortaya çıkar. “Kim” ve “ne zaman” sorularına cevap verdikten sonra “nasıl, nasıl”, “sonuçların nasıl ölçüleceği”, “nasıl kontrol edileceği”, “nasıl daha verimli çalışılacağı” sorularına da cevap aramalıyız. “Elde edilen verilere ve deneyimlere dayalı olarak süreç nasıl yönetilir ve geliştirilir?”

Günlük uygulamada - belirli araçlarla çalışırken - BT uzmanları ve proje yöneticileri, yazılımın kalitesiyle ve geliştirme sürecinin ulaşılan olgunluk düzeyleriyle ilgili tüm sorunların teknolojik doğası hakkında güçlü bir görüş geliştirirler. Sonuç olarak güce olan inanç yazılım Uygulamada kalitenin iyileştirilmesi, belirli yazılım çözümlerinin uygulanmasından başlayarak, metodolojilerin getirilmesi veya geliştirme süreçlerinin otomasyonu ile ilgili temelsiz kararların temeli haline gelir. Bununla birlikte, geliştirme süreçlerini otomatikleştirmenin modern araçları o kadar esnek ve özelleştirilebilir platformlardır ki, süreç bileşeninin derinlemesine ön incelemesini ve ardından uygulama ve belirli üretim koşullarına uyarlamayı gerektirirler.

1980 yılında Carnegie Mellon Üniversitesi Yazılım Mühendisliği Enstitüsü tarafından geliştirilen yazılım geliştirme süreci olgunluk modeli(Yazılım için Yetenek Olgunluk Modeli, CMM), daha sonra yazılım endüstrisinde tanınan geliştirme süreci olgunluğunun fiili sertifikası olan CMMI'ya (Yetenek Olgunluk Modeli Entegrasyonu) geliştirildi. Yazılım geliştirme dünyasına ve süreçlerinin mevcut olgunluk modellerine benzetme yaparak, test sürecinin olgunluk modellerine bakalım.

Olgunluk modelinin test edilmesi

Yazılım Testi Olgunluk Modeli Etkili süreçlerin unsurlarından oluşan bir sistem ve belirli süreç hedeflerine ulaşmanın yollarını sunan, test sürecinin geliştirilmesine yönelik sistematik bir yaklaşımdır. Olgunluk modeline dayanarak süreç geliştirmenin iki ana görevini çözmek mümkündür: mevcut test sürecini anlamak ve kaydetmek ve iyileştirme gerektiren alanları belirlemek. Uygulama, süreç değişikliklerinin yalnızca yönetimin bu tür değişiklikleri (herhangi bir yapısal veya yapısal) yapma ihtiyacının net bir şekilde anlaşılması temelinde mümkün olduğunu göstermektedir. usul değişiklikleri liderliğin siyasi iradesi olmadan imkansızdır. Yönetim desteği ve gerekli kaynakları almanın yanı sıra, test sürecinde değişiklik yapmak da diğer proje faaliyetleri gibi dikkatli planlama gerektirir.

Test danışmanı Terry Wetherill, 2001 yılında mevcut test olgunluk modellerini karşılaştıran ilk kişilerden biriydi ve altı model belirledi:

    Test Edilebilirlik Olgunluk Modeli (TMM);

    Yazılım Test Olgunluk Modeli (TMMSW);

    Test Süreci İyileştirmesi (TPI);

    Test Organizasyonu Olgunluğu (TOM);

    Test Değerlendirme Programı (TAM);

    SW-CMM Anahtar Süreç Alanlarının (SW-CMM KPA) Önerilen Değerlendirmesi ve Testi.

Daha sonra bazı modellerde köklü değişiklikler yapıldı; Bu nedenle, TOM modeli (Gerrard Consulting tarafından oluşturulan ve geliştirilen), toplanan ve analiz edilen, test sürecinin kendisini (test yinelemelerinin süresi, test senaryolarının oranı ve işlevsel gereksinimler vb.) tanımlayan güncellenmiş bir ölçüm seti sunar. Mevcut sürecin tanımlanması aşamasında.

Uygulayıcılar ve danışmanlar, altı yazılım testi olgunluk modeli arasında ikisini öne çıkarıyor: Illinois Teknoloji Enstitüsü'nde geliştirilen TMMSW ve Sogeti'de önerilen TPI. Her iki model de öncelikle basit olmaları ve önerilen uygulamalar nedeniyle yaygınlaşmıştır. iç denetimler Süreç iyileştirme yolunu seçmiş bir şirketin uzmanları tarafından üretilebilen. Örnek olarak TMM modelini kullanarak yazılım test olgunluk modellerinin yapısını ele alalım.

Yazılım testi alanının önde gelen danışmanlarından Thomas Staab tarafından seçilen TMMSW modeli, kullanımı en ilgi çekici olanıdır çünkü uygulamaların anlaşılması ve kullanılmasının kolaylığının yanı sıra, kuruluşların kendi başlarına değerlendirme yapmalarına ve değerlendirme yapmalarına olanak tanır. ara sonuçları izleyerek yavaş yavaş gelişim hedeflerine yaklaşırlar. Çalışmamızda, yerli BT şirketleri arasında üçüncü taraf yetkinliğini çekme uygulamasının popüler olmaması nedeniyle (şirketler tasarruf etmeye çalışıyor) bu modeli seçtik. yatırım projeleri(esasen danışmanlık projeleri ve süreç değişikliklerini de içeren dolaylı fayda sağlayan projeler) ve sizi, şirketlerin kendi uzmanlarını kullanarak iç değişiklikleri bağımsız olarak gerçekleştirmeye hazır olduklarını gösteren deneyimimizi tanımaya davet ediyoruz. Yinelemeli yaklaşım, birçok şirket için şu veya bu olgunluk modelini seçerken kilit noktadır çünkü süreç değişikliklerini uygulamak için projenin zamanlamasını kontrol etmenize olanak tanır.

TMMSW modeli, 1996 yılında Ilene Barnstein liderliğindeki bir grup uzman tarafından SW-CMM modelinin bir uzantısı ve eklentisi olarak geliştirildi. Avantajları arasında yazılım test süreçlerinin olgunluk seviyeleri ile SW-CMM modelindeki geliştirme süreçlerinin olgunluk seviyeleri arasındaki yazışma yer alır. Ayrıca TMMSW modeli CMMI, ISO-9001 önerileri ve ISO/IEC Std 12207 standardı ile entegre olarak kullanılabilir; bu da resmi sertifikasyona girmenize ve denetimler ve yeniden sertifikasyonlar şeklinde sürekli izlemeyle belirli bir seviyede kalmanıza olanak tanır. kalite seviyesi. Bir yandan, TMMSW'nin bu özelliği, süreç değişikliklerinin yazılım test departmanında, CMMI'nin kuruluş genelinde uygulanmasından daha küçük ölçekli özel bir proje formatında uygulanmasına olanak tanır (bu, para tasarrufu sağlar ve şeffaflık sağlar); Öte yandan bu yaklaşım, çeşitli modellerin uyarlanması ve birleştirilmesi maliyetlerini de ortadan kaldırır. CMMI ile olan tuhaf ilişkiden bahsetmişken, bu modelin BT dünyasında oldukça yaygın olduğunu ve yüksek derecede güven kazandığını, bunun da yönetimi süreç değişikliklerini uygulamak için bir projeye harcama yapmaya motive etmeyi çok daha kolay hale getirdiğini vurgulamak isterim.

TMMSW modeli iyileştirme sürecinin daha kolay planlanmasını, uygulanmasını ve izlenmesini sağlar. Modelin dezavantajları arasında sınırlı literatüre dikkat çekilebilir: Springer Professional Computing tarafından yayınlanan Pratik Yazılım Testi: Süreç Odaklı Bir Yaklaşım kitabı belki de bu konuyla ilgili tek önemli çalışmadır.

TMMSW modeli, CMM gibi beş olgunluk düzeyi sağlar.

Seviye 1 kaotiktir. Yazılım test süreci kaotiktir ve bu, çoğu yeni kurulan şirket için tipiktir. Test süreci özel bir etkinlik olarak tanımlanmamıştır ve kod hata ayıklama sürecinden ayrı değildir. Test, kod oluşturulduktan ve sistem oluşturulduktan veya monte edildikten sonra gerçekleştirilir. Testin amacı uygulamanın çalıştığını göstermektir. Bu seviye, eğitimsiz personel, kaynak ve araç eksikliği ile karakterize edilir. Yazılım, test uzmanlarının resmi izni olmadan yayınlanır. Seviye hedefleri tanımlanmamıştır.

Seviye 2 – geliştirme aşaması. Yazılım testi kodlamadan ayrılır ve bir sonraki aşama olarak öne çıkar. Testin temel amacı uygulamanın gereksinimleri karşıladığını göstermektir. Temel test yaklaşımları ve uygulamaları vardır. Seviye hedefleri: Geliştirme ve test görevlerini tanımlayın, uygun prosedürleri oluşturun, test planlama sürecini başlatın, temel test prosedürlerini ve tekniklerini kaydedin ve açıklayın.

Seviye 3 - entegre. Test süreci yazılım geliştirme yaşam döngüsüne entegre edilmiştir. Test hedefleri gereksinimlere dayanmaktadır. Bir test organizasyonu mevcuttur ve testin kendisi şu kişilere tahsis edilmiştir: profesyonel aktivite. Seviye hedefleri: testleri vurgulayın ayrı grup ve bir teknik eğitim programı tanımlayın, test sürecini geliştirme yaşam döngüsüne entegre edin ve test sürecinin kendisini denetleyin.

Seviye 4 - kontrol ve ölçüm. Test, ölçülen ve kontrol edilen bir süreçtir. Kritik süreçler muayeneler Proje eserlerinin (incelenmesi) (test planları ve komut dosyaları, hata mesajları, sürümün durumuna ilişkin nihai raporlar vb.) test faaliyetlerine atıfta bulunur. Ürünün güvenilirlik, kullanılabilirlik ve bakım kolaylığı gibi kalite ölçütlerine uygunluğu test edilmiştir. Test senaryoları kaydedilir, bir test yönetim sisteminde saklanır ve test veri kümeleriyle birlikte yeniden kullanılabilir. Tespit edilen kusurlar yalnızca kaydedilmekle kalmaz, aynı zamanda resmi kriterlere göre de analiz edilir: kritiklik, kusurun “ağırlığı”, önemi, ömrü vb. Seviye Hedefleri: Ölçülü bir test programıyla birlikte kuruluş çapında/bölümsel kritik inceleme ve denetim programlarını uygulamak. Yazılım ürünlerinin kalitesi değerlendirilir.

Seviye 5 - süreç optimizasyonu, hata önleme ve kalite kontrolü. Test, tanımlanmış ve kontrollü bir süreçtir. Performans göstergeleri ile birlikte testin maliyeti belirlenebilir. Bir süreç olarak test etme, üzerinde açıkça olumlu etkisi olan değişikliklere uygundur. Hata önleme ve kalite kontrol uygulamaları uygulanmakta ve kullanılmaktadır. Otomatik test ana test yaklaşımı olarak kullanılır. Test tasarımı, elde edilen sonuçların analizi, hata tanımlarının işlenmesi ve teste ilişkin metrikler uygun araçlar kullanılarak gerçekleştirilir. Süreç uygulamalarının yeniden kullanılması yaklaşımı yaygındır. Seviye hedefleri: test sürecinin optimizasyonu, hata önleme ve kalite kontrolü.

Listelenen olgunluk seviyelerinin tümü, birincisi hariç, geliştirme hedeflerini içerir ve bu hedefler de alt hedefler içerir, yani yalnızca yazılım geliştirme sürecinin kalite yönetiminin üst düzey görevleriyle değil, aynı zamanda Projedeki tüm sanatçılar için operasyonel görevleri formüle edin. Görev uygulamasının izlenmesi ve analizi, ATR matrisleri (Faaliyetler - Görevler - Sorumluluklar) adı verilen ve proje katılımcılarının önceden hazırlık veya uzun bir eğitim gerektirmeden üzerinde çalışabilecekleri proje düzeyindeki eserler kapsanarak gerçekleştirilir. ATR matrisleri, model uygulamasının her özel aşamasında tamamlanması gereken faaliyetleri ve görevleri tanımlar ve değişiklik uygulama süreci için hem bir "yol haritası" hem de bir tür "kontrol listesi" görevi görür. Modelin kendisi tarafından önerilen tasarım eserlerinin varlığı, genellikle modeli uyarlama ve uygulama projesinin başarısı için temel bir kriterdir. ATR matrisindeki her etkinliğe, yöneticiler, geliştiriciler/testçiler veya istemciler/kullanıcılar tarafından gerçekleştirilen bir kontrol görevi atanır. Değişiklik yapmak için proje üzerindeki kontrolün projedeki özel bir gruba veya belirli bir kişiye verilmediğini, her seviyedeki proje katılımcılarının ilgilendiği genel bir proje işlevi olduğunu özellikle belirtiyoruz.

Yazılım test süreçlerinin beşinci olgunluk düzeyine kadar, gereksinimlerin toplanması ve analiz edilmesi ve sürüm kontrolüne yönelik araçların kullanıldığı geliştirme süreçlerinin olgunluğunun aksine, herhangi bir özel aracın veya entegre çözümün kullanılması gerekmez. gerekli bir durum Bir bütün olarak kalkınma sürecinin belirli bir olgunluk düzeyine ulaşması. TMMSW modelinin beşinci seviyesinde belirli araçların kullanılması mümkündür. istatistiksel analiz Bu olgunluk düzeyinin hedef görevlerinden birini çözmenize olanak tanıyan kod - kaynak serbest bırakma operatörlerinin yokluğunda mantıksal hatalar içeren kod bölümlerini tanımlayarak veya kullanılmayan değişkenleri veya bellek dizilerini arayarak hataları önleme. Ancak bu seviyede dahi özel bir aletin kullanılması zorunlu değildir; örneğin, kodlayıcı başına iki test uzmanının olduğu ve bunlardan birinin daha fazla geliştirici olduğu bir yaklaşım yüksek seviye- aynı zamanda hata önleme sorununu çözmemize de olanak tanıyan kritik kod inceleme görevleriyle meşgul olmak.

Belirli metodolojileri uygulamak veya seçilen metodolojilerden (RUP, MSF veya Scrum) herhangi birini takip etmek, yazılım geliştirme metodolojisi yalnızca belirli bir proje türü için işe yaradığından, ürün kalitesine veya proje başarısına ulaşılmasını da garanti etmez. Benzer şekilde yazılım test sürecinde de belirli bir projenin koşullarına uyarlanmayan hiçbir metodoloji garantili sonuç vermez. Süreç olgunluk modeli, belirli düzeydeki süreç kalitesine ulaşma uygulamasını uygulamayı ilginç kılan şeydir; bu, hedeflere ulaşmaya yönelik bir hedefler ve yaklaşımlar yapısını temsil eder ve neredeyse keyfi bir geliştirme metodolojisinin (uygun adaptasyonla) "içeride" kullanılmasına izin verir. ) ve bir dizi araç. Model "ne ve nasıl" yapılacağını açıklıyor ancak "neyi ve hangi sırayla" yapılacağını açıklamıyor.

Pratik

Süreç olgunluk modellerinin test edilmesi önerilerini uygulamaya koyan bir şirket, yalnızca toplanan ölçümlerin biçimindeki ilerlemeyi görmekle kalmaz, aynı zamanda çalışma modunun kendisindeki niteliksel değişiklikleri de gerçekten hissedebilir. Hem yönetim ve ekip üyeleri hem de geliştirilmekte olan ürünün müşterileri ve tüketicileri tarafından hissedilen süreç değişikliklerinin çeşitli işaretleri vardır.

    Belirli bir kalite düzeyine sahip sürümlerin piyasaya sürülmesi için zaman kontrollü bir süreç. Bu, piyasaya sürülen ürünün ideal kalitesi veya kusurların tamamen yokluğu ile ilgili değil - hem proje ekibi hem de test grubu açısından piyasaya sürülen sürümün durumuna olan güvenden bahsediyoruz.

    Projenin tüm aşamalarının düzenliliği ve öngörülebilir tekrarlanabilirliği. Yazılım test süreçlerinin başlangıç ​​seviyesindeki olgunluk koşullarında, test faaliyetleri işin son aşaması olarak takip edilir ve sınırlı son tarihler ve kaynak eksikliği nedeniyle sıklıkla "zarar görür", bu da yayınlanan sürümlerin istikrarını ve kalitesini doğrudan etkiler. Test süreci olgunluk modelinin daha yüksek seviyelerine ilerledikçe, test faaliyetleri ürün versiyonlarının geliştirme ve yayınlama sürecine giderek daha fazla entegre edilir ve bu da işin tamamlanması için gerekli kaynakların ve zamanın tahsisi üzerinde olumlu bir etkiye sahiptir.

    Yazılım geliştirme ve yayınlama sürecini karakterize eden böyle niteliksel bir göstergedeki değişiklik, bir ürün versiyonunun yayınlanmasından sonra keşfedilen kusurların sayısı olarak deneyimli veya hatta üretim operasyonu. Bu gösterge yönetim ve hizmetler için çok önemlidir teknik Destek Müşterilerden veya kullanıcılardan gelen kayıtlı taleplerin niceliksel ve niteliksel bir analizini yaparak yazılım kalitesi düzeyini artırmanın olumlu dinamiklerini gerçeklerle doğrulayabilen. Tahminlerimize göre olumlu yönler, testin planlanması ve kontrolü aşamasındaki pratik iyileştirmelerle ilişkilidir, çünkü çoğu zaman gözden kaçan kusurlar, yapılan test çalışmasının planlanması ve kontrolü için zaman eksikliğinden kaynaklanmaktadır.

Edebiyat

    Terry Weatherill, Olgunluk Modeli Labirentinin Test Edilmesinde. Yazılım Test Uzmanları Dergisi, 2001.

    Thomas Staab, Test Sürecini İyileştirmek için SW-TMM'yi Kullanma. Rüzgar Ridge Uluslararası.

Vyaçeslav Pankratov ([e-posta korumalı] ) - CEO QAExpert şirketi (Kiev, Ukrayna).



Yazılım ürünlerinin kalitesi belki de yazılım sektöründeki en ciddi sorunlardan biridir. Kalite, hataların yokluğundan çok daha fazlasıdır. Bir dizi farklı özelliği varsayar: güvenilirlik, bilgisayar korsanlığına karşı direnç, uyarlanabilirlik, uyumluluk, sürdürülebilirlik, taşınabilirlik, verimlilik vb. Yazılım endüstrisinde bu kadar çeşitli kalite standartlarının olması şaşırtıcı değildir.

Kaliteyi ölçmek kolaydı: Ya paramızı aldık ya da almadık.
Dean Leffingwell, Don Widrig.
Yazılım Gereksinimleri Yönetimi

CMM/CMMI

Muhtemelen en ünlü kalite standardı, geliştirme süreçlerinin olgunluk düzeyini türevleriyle birlikte değerlendiren bir model olan Yetenek Olgunluk Modeli (CMM) olarak düşünülmelidir. ABD Savunma Bakanlığı tarafından finanse edilen ve Carnegie Mellon Üniversitesi'nin yapısal bir birimi olan SEI (Yazılım Mühendisliği Enstitüsü) tarafından oluşturulmuştur. Standardın ilk resmi versiyonu 1993 yılında yayınlandı, ancak üzerinde çalışmalar çok daha erken başladı - ana hükümleri 1986'da yayınlandı.

CMM'nin başarısı çeşitli faktörler tarafından belirlendi. Bu standart, başlangıçta yazılım oluşturmanın özelliklerini dikkate alan ilk standartlardan biriydi. Hem anlama hem de kullanım açısından oldukça basit ve şeffaf olduğu, "nasıl" değil "ne" yapılacağını düzenlediği, dolayısıyla çeşitli geliştirme metodolojilerine uygun olduğu ve belgeleme standartları, araçlar, ortam üzerinde herhangi bir kısıtlama getirmediği ortaya çıktı. ve projelerde kullanılan diller. Ve belki de CMM'nin popülaritesini önceden belirleyen ana faktör, SEI'nin ABD Savunma Bakanlığı ile olan işbirliğiydi; bu, fiili olarak bu departmanın görevlendirdiği projeleri uygularken standardın kullanılması anlamına geliyordu.

CMM modeli (Tablo 1), her biri belirli temel süreç alanlarına (Anahtar Süreç Alanları, KPA) karşılık gelen beş olgunluk düzeyi sağlar.

Tablo 1. CMM modelinin seviyeleri
Seviye No. Seviye adı Anahtar Süreç Alanları
1 İlköğretim Eğer organizasyon bu seviyedeyse, o zaman onun için anahtar süreç alanları yoktur.
2 Tekrarlayan Yazılım konfigürasyon yönetimi. Yazılım ürünlerinin kalitesinin sağlanması. Yüklenici sözleşmelerinin yönetilmesi. Yazılım projelerinin planlanması.
3 kesin Uzman değerlendirmeleri Proje ekipleri arasındaki etkileşimlerin koordinasyonu. yazılım ürünü.Entegre yazılım yönetimi. Organizasyon sürecinin tanımı.
4 Yönetilen Yazılım kalite yönetimi niceliksel yöntemlere dayalı süreç yönetimi.
5 Optimize edilebilir Süreç değişikliği yönetimi. Kusur önleme.

Seviyelere bölmek ve her biri için KPA'ları tanımlamak, CMM'nin tutarlı bir şekilde uygulanmasına ve standardın, geliştirme sürecinin sürekli iyileştirilmesini sağlayabilecek bir rehber olarak kullanılmasına olanak tanır.

CMM standardının çok başarılı olduğu ortaya çıktı ve daha sonra buna dayanarak bir dizi standart oluşturuldu (Tablo 2). Dahası, oldukça geniş bir standart ailesindeki konumunu daha doğru bir şekilde yansıtan yeni bir isim aldı - SW-CMM (Yazılım için Yetenek Olgunluk Modeli).

Tablo 2. CMM standartlarının geliştirilmesi
Standart ad Tanım
Sistem Mühendisliği CMM (SE-CMM) Sistem mühendisliği konularına odaklanır - ürün geliştirme (gereksinim analizi, ürün sistem tasarımı ve entegrasyonu) ve bunların üretimi (üretim hattı planlama ve operasyon)
Güvenilir CMM (T-CMM) Yüksek yazılım kalite güvencesi gerektiren hassas ve özel yazılım sistemlerine hizmet vermek üzere tasarlanmıştır
Sistem Güvenliği Mühendisliği CMM (SSE-CMM) Yazılım mühendisliğinin güvenlik yönlerine odaklanır, ekip üyelerinin güvenliği de dahil olmak üzere güvenli bir geliştirme süreci sağlar
İnsanlar CMM (P-CMM) Yazılım kuruluşlarında personel gelişimi konularını dikkate alır
Yazılım Toplama CMM'si (SA-CMM) Yazılım ürünlerinin harici kuruluşlardan satın alınmasıyla ilgili konuları kapsar
Entegre Ürün Geliştirme CMM'si (IPD-CMM) Geliştirme çabalarını tüm aşamalara entegre etmek için bir araç görevi görür yaşam döngüsü ve şirketin her departmanından

Ancak CMM serisi standartlarının pratikte uygulanması, yazılım geliştirmede koşulsuz başarı sağlamadığını göstermiştir. Bu standartlar birbirleriyle iyi bir şekilde koordine edilmedi - CMM'deki çeşitli değişikliklerin eşzamanlı olarak uygulanması oldukça karmaşık bir görev olabilir ve bununla karşılaşan kuruluşların uzmanlarını şaşırtabilir.

Ayrıca CMM'nin önemli bir sorunu da tüm süreçleri "hizalama" ihtiyacıdır. Bir kuruluş belirli bir seviyede sertifika almak istiyorsa tüm süreçlerinin uygun seviyede olmasını sağlamalıdır. Spesifikasyonlar, metodoloji veya geliştirme özellikleri belirli süreçlerin uygulanmasına izin vermese bile sertifikasyon bunu gerektirir.

Bir diğer sorun ise CMM standartlarının modern yazılım endüstrisinde aldığı konumdan kaynaklanmaktadır. CMM'e göre üst düzeyde sertifikalandırılmış bir kuruluşun, yazılım ürünlerinin daha düşük düzeyde sertifikalandırılmış olanlara göre daha yüksek performans sunması gerektiğinden, standart, yazılım geliştirme ihalelerine veya dış kaynak projelerine katılım için bir seçim kriteri olarak kullanılmaya başlandı. Sertifikalı kuruluşlara olan talep, "hızlı ve zahmetsiz sertifikasyon" önerisini doğurdu.

Bu durum sertifikasyon sürecindeki eksiklikler nedeniyle mümkün olmuştur. Bir bütün olarak kuruluşun tamamı sertifikasyona tabi değildir, yalnızca belirli bir projeye tabidir. Bir kuruluşun, CMM standardının yüksek seviyelerinin tüm gerekliliklerini karşılayan bir “model” proje oluşturmasına, uygun seviyede sertifikasyon almasına ve tüm ürünlerinin bu standarda uyduğunu beyan etmesine engel olacak hiçbir şey yoktur.

CMM çoğu sorunu çözmek için tasarlanmıştır yeni standart SEI - Entegre Yetenek Olgunluk Modeli (CMMI) - Geliştirme süreçlerinin olgunluk düzeyini değerlendirmek için entegre model. CMMI standardı başlangıçta mevcut CMM seçeneklerini birleştirecek ve uygulamadaki çelişkileri ortadan kaldıracak şekilde oluşturuldu. pratik uygulama yüksek teknoloji şirketlerinin çeşitli faaliyet alanlarında.

Bir kuruluşun süreçlerini "hizalama" ve iş ihtiyaçlarına göre daha uygun hale getirme ihtiyacını ortadan kaldırmak ve tam tersini yapmamak için CMMI standardının iki sunum biçimi vardır: klasik, çok seviyeli, CMM'ye karşılık gelen ve yeni. , sürekli. Sürekli sunum biçiminde Olgunluk Düzeyleri dikkate alınmaz, bunun yerine bireysel Süreç Alanları (PA) için değerlendirilen Yetenek Düzeyleri dikkate alınır. Masada Şekil 3, CMM standardının olgunluk seviyelerinin yanı sıra CMMI çok seviyeli görünümün olgunluk seviyeleri ve CMMI sürekli görüntüleme yeteneği seviyeleri arasındaki uyumu gösterir.

SEI, CMM'den uzaklaşıyor ve bunun yerine CMMI'yi aktif olarak teşvik ediyor, sertifikasyon süreci üzerindeki kontrolü sıkılaştırma sözü veriyor, maliyetleri düşürmek için yeni sınıflar tanıtıyor ve onu daha küçük kuruluşlar için daha çekici hale getiriyor; ile uyumluluğun sağlanması ISO standartları. Ancak gerçek şu ki: modern koşullar Belirli bir düzeyde CMM/CMMI sertifikasının varlığı, birkaç yıl önce olduğu kadar önemli bir faktör değildir ve hükümet emriyle yürütülen projeler dışında ek sorgusuz sualsiz kabul edilmektedir.

Kasım 1986'da Yazılım Mühendisliği Enstitüsü (SEI) ve Mitre Corporation, iç süreçlerini iyileştirmeye yardımcı olmayı amaçlayan bir yazılım geliştirme süreci olgunluk anketi geliştirmeye başladı.

Bu incelemenin geliştirilmesi, ABD federal hükümetinin yazılım geliştirme alt yüklenicilerinin değerlendirilmesine yönelik bir yöntem sağlanması yönündeki talebi üzerine harekete geçirildi. Asıl sorun büyük projeleri yönetememekti. Pek çok şirkette projeler önemli ölçüde geç ve bütçenin üzerinde tamamlandı. Bu soruna bir çözüm bulmak gerekiyordu.

Eylül 1987'de SEI yayınlandı kısa inceleme olgunluk düzeylerini açıklayan yazılım geliştirme süreçlerinin yanı sıra şirkette iyileştirmeye ihtiyaç duyulan alanları belirlemek için tasarlanmış bir anket. Ancak çoğu şirket bu anketi hazır bir model olarak değerlendirdi ve bunun sonucunda 4 yıl sonra anket gerçek bir modele, Yazılım için Yetenek Olgunluk Modeli'ne (CMM) dönüştürüldü. 1991 yılında piyasaya sürülen CMM'nin ilk sürümü (Sürüm 1.0), 1992 yılında yaklaşık 200 yazılım uzmanı ve geliştirme topluluğu üyesinin katıldığı bir çalışma toplantısına katılanlar tarafından revize edildi.

  1. İlköğretim. Örgütün en ilkel durumu. Kuruluş yazılım geliştirme yeteneğine sahiptir. Organizasyonun açıkça bilinçli bir süreci yoktur ve ürünün kalitesi tamamen geliştiricilerin bireysel yeteneklerine göre belirlenir. Biri inisiyatif alır ve ekip onun talimatlarını takip eder. Bir projenin başarısı diğerinin başarısını garanti etmez. Proje tamamlandığında hiçbir işçilik, program veya kalite verisi kaydedilmez.
  2. Tekrarlanabilir. Süreç bir ölçüde izleniyor. İşgücü maliyetleri ve planlarına ilişkin kayıtlar tutulur. Her projenin işlevselliği şurada açıklanmıştır: yazı. 1999'un ortalarında kuruluşların yalnızca %20'si Düzey 2 veya üzeriydi.
  3. Kurulmuş. Kişilerden bağımsız, tanımlanmış, belgelenmiş ve yerleşik bir iş sürecine sahip olun. Yani üzerinde anlaşmaya varılan profesyonel standartlar ve geliştiriciler bunları uygular. Bu tür kuruluşlar, daha önce tamamlananlara benzer projelerin maliyetlerini oldukça güvenilir bir şekilde tahmin edebilmektedir.
  4. Yönetilen. İşin zamanlamasını ve maliyetini doğru bir şekilde tahmin edebilirler. Birikmiş ölçümlerden oluşan bir veri tabanı vardır. Ancak yeni teknolojilerin ve paradigmaların ortaya çıkmasıyla hiçbir değişiklik olmuyor.
  5. Optimize edildi. Yeni ve geliştirilmiş yöntem ve araçları araştırmak ve bunlara hakim olmak için sürekli işleyen bir prosedür vardır.

Gelişim

Modelin pratikte kullanılması, yazılım geliştirme süreçlerinde daha yüksek düzeyde organizasyon sağlanmasına yönelik yaklaşımlardaki belirsizliği ortaya çıkardı. Bu nedenle 2002 yılına gelindiğinde geliştirme sürecini iyileştirmeye yönelik öneriler geliştiriliyordu. CMMI (Yetenek Olgunluk Modeli Entegrasyonu). Şu anda CMMi'nin en son sürümü 1.3'tür (Kasım 2010'da yayınlandı).

Ayrıca bakınız

Bağlantılar

MIT Öğrenci Forumu > Ana bölüm > Testler > Kontrol sistemlerinin modellenmesi

Görüş tam versiyon: Kontrol Sistemleri Simülasyonu

Tüm modülleri çözdüm, her şeyi 4 ile geçtim ve sonuncuyu da 2 ile geçtim, şimdi üç gün sonra tekrar almaya çalışacağım, tek bir aynı soru yoktu. Son testi düzeltmeye çalıştım ama kontrol edin, doğruluğunu garanti edemem, sahip olduğum her şeyi sunuyorum, belki birisi benden daha iyi geçebilir. Birinin ikinci, üçüncü denemesi varsa, sakıncası yoksa disiplini ayarlayın, gerçekten çok zor.:eek:

Final sınavı 100 üzerinden 100

nihai sonuç her seferinde farklı mı oluyor?

Burada listelenmeyen ve aklıma gelen daha birçok soru var. Cevapları aramadım çünkü o olmadan 4 ile geçtim. Yaygara yapmak isteyenler, başkaları için cevapları buraya yüklesinler :)

Modül 1:
Bir iş sürecinin ayırt edici özelliği olarak ne dikkate alınmamalıdır?

Artan değer


Bir yanıt seçin:
Daha önce belirlenen hedefleri bünyesinde barındıran bir süreç ürünü


Bir yanıt seçin:

Finalde (4'te geçti.)

Yetenek Olgunluğu Modeli Nedir? (CMM)

Bu sorular + zaten forumda olanlar):
1. Doğru ifadeyi seçin.
Bir yanıt seçin:
Bölümlerin iş süreçleri çeşitli değer zincirlerinden oluşmaktadır (GÜVENSİZ)
Uçtan uca bir iş süreci iş süreçlerinden oluşur çeşitli kuruluşlar
Fonksiyonlar arası bir iş süreci genellikle departmanlara ait iş süreçlerinden oluşur.

2. Evrensel iş süreci yapı şemasının bir öğesi hangisi değildir?
Bir veya daha fazla yanıt seçin:
Süreç Kaynakları
Riskler
İş süreci yönetimi faaliyetleri
Faktörler dış ortam
Girdilerin çıktılara dönüştürülmesine yönelik faaliyetler

3. Süreçlerin temel unsuru olan maddi kaynaklar şunlardır:
Bir yanıt seçin:
Aktif faaliyet konuları birbirleriyle ve diğer kaynaklarla etkileşime giren sistemler halinde birleştirildi
Faaliyet konularının faaliyet nesnelerine yönlendirdiği kontrol etkileri, süreçlerin hedeflerini ve sonuçlarını belirleme
Süreçleri gerçekleştirmek için kullanılan pasif araç ve faaliyet nesneleri (Emin Değilim)

28.03.2014, 10:07

Modül 1:
Bir iş sürecinin ayırt edici özelliği olarak ne düşünülmemelidir? Bir veya daha fazla yanıt seçin:
Girişleri çıkışlara dönüştürme
Ürünün dış tüketicilere teslimi
Artan değer
Artı ve/veya kullanım değerinin oluşması

Süreçlerin temel unsurları olarak sonuçlar şunlardır:
Bir yanıt seçin:
Aktif faaliyet konuları birbirleriyle ve diğer kaynaklarla etkileşime giren sistemler halinde birleştirildi
Süreçleri gerçekleştirmek için kullanılan, önceden belirlenmiş hedefleri ve faaliyet nesnelerini kapsayan bir süreç ürünü.
Süreci tamamlamak için gerekli olan bir dizi malzeme, enerji ve bilgi nesnesi

Bir iş sürecinde geri bildirim nedir?
Bir yanıt seçin:
İstenilen sonucu sağlamak için tasarlanmış, süreç üzerinde amaçlı ve bilinçli etki
Süreç sonuçlarının önceden belirlenen hedeflerle analizi ve karşılaştırılması
Sistemin işleyişinde çeşitli sapma türlerinin kaynağı olan nesnelerin sistemi ve çevresel faktörler üzerindeki etkisi
Ben de buna cevap verdim! ama yine de 4 çıktı

Özetle - Bu sorular + zaten mevcut olanlar:
1 Tasarım-hedef yapıların dezavantajlarını listeden seçin.

2 Listeden komut kullanımı örneklerini seçin.
Kaliteli kupalar
Komiteler
Çalışma ekipleri

3 Organik organizasyon yapılarını kullanma koşullarını listeden seçin.
Çalışanlar karmaşık ihtiyaçlarla motive edilir
Hedefler belirsiz ve dinamik olarak değişiyor
Otorite sorgulanır ve test edilir, astların onayı gerekir

4 Listeden proje bazlı organizasyon yapılarının avantajlarını seçin.
Çalışanların doğrudan proje yöneticisine tabi kılınması ve böylece bu çalışanların çabaları doğrultusunda netliğin sağlanması

5 Destekleyici süreçler:
Temel süreçlerin verimli bir şekilde uygulanmasını sağlayın

Son puan 5
Soru 1
Listeden komut kullanımı örneklerini seçin.

Kaliteli kupalar
Komiteler
Çalışma ekipleri

soru 2
Fonksiyonel yapı içerisinde aracılar ne için kullanılıyor?

Çeşitli yapısal bölümlerin faaliyetlerini entegre etmek

Soru 3
SADT modelindeki ilişki türlerini adlandırın:
Kontrol
Çıkış mekanizması
Geri bildirim girişte

Soru 4
Aşağıdaki iş süreçlerinden hangisi en kısadır?
Birimin iş süreci

Soru 5
İş süreçlerinin bilgi modellerini oluşturmak için hangi yöntemler, metodolojiler ve araçlar kullanılabilir?

Kazanç-Sarson metodolojisi
Chen ve Barker Modelleme Dili

Soru 6
Hangi iş süreci temsili en düşük seviyeye (listelenenlerden) karşılık gelir?

İş Süreci Operasyonları

Soru 7
İş süreci uzunluğu:

Sübjektif bir özelliği temsil eder

Soru 8
Süreçlerin temel unsuru olan maddi kaynaklar şunlardır:

Süreçleri yürütmek için kullanılan pasif araçlar ve faaliyet nesneleri

Soru 9
Listeden proje bazlı organizasyon yapılarının avantajlarını seçin.

Çalışanların doğrudan proje yöneticisine tabi kılınması uygulanmakta ve böylece bu çalışanların çabalarının net bir şekilde odaklanması sağlanmaktadır.

Soru 10
Listeden matris organizasyon yapılarının avantajlarını seçin.

Organizasyon yapısını geniş bir yelpazede esnek bir şekilde "özelleştirmek" mümkün hale gelir: zayıftan güçlü matrise

Soru 11
İş sistemi yönetiminin ikinci döngüsü neleri içerir?

Operasyon kontrol alt sistemi
Geliştirme yönetimi alt sistemi

Soru 12
Bir iş sisteminin genel süreç modeli aşağıdaki unsurları içerir:

çıkış
işlem
Giriş
Rahatsızlık

Soru 13
Hangi IDEF standardı etkinlikleri, akışları ve nesnelerin durumunu modellemenize olanak tanır?

Soru 14
Güçlü bir matris yapıda Proje Yöneticisinin yetkileri nelerdir?

Orta ila yüksek

Soru 15
Yatırım ve finansal süreçlerin ana unsurları arasında neler sayılabilir?

Yatırımcılar
Alacaklılar

Soru 16
Listeden tasarım hedefli yapıların dezavantajlarını seçin.

Fonksiyonel alanlarda azaltılmış üretilebilirlik

Kontrol sistemleri.rar'ın modellenmesi (http://mti.prioz.ru/krfilesmanager.php?do=downloadfile&dlfileid=107)

SADT çizelgelerinde baskınlık sırası nedir?
Cevap: En baskın fonksiyonlar sol üst köşede yer almaktadır.

3 eğitimine yardım edin kimde var lütfen

1 dakika sonra eklendi
Kontrol Sistemleri Modellemesi olan 3 eğitim rica ediyorum

vBulletin® v3.8.7, Telif Hakkı 2000-2018, vBulletin Solutions, Inc.

Çeviri: zCarot

IS geliştirme metodolojisi. CMM/CMMI olgunluk modeli.

1991 yılında Üniversitenin Yazılım Mühendisliği Enstitüsü

Carnegie Mellon (Yazılım Mühendisliği Enstitüsü, SEI), yazılım ürünlerinin geliştirilmesi için Yetenek Olgunluk Modelini oluşturdu. Zamanla bütün bir model ailesi piyasaya sürüldü:

SW-CMM - yazılım ürünleri için, SE-CMM - sistem mühendisliği için, Acquisition CMM - satın alma için, People CMM - insan kaynakları yönetimi için, ICMM - ürün entegrasyonu için.

Çeşitli modellerin anlaşılması ve uygulanmasının oldukça karmaşık olduğu kanıtlanmıştır. Farklı uzman grupları tarafından oluşturuldukları için bu modellerin içerikleri her zaman birbirleriyle ve aynı zamanda tutarlı değildi.

uluslararası standartların gereklilikleri. Bu nedenle, 2002 yılında SEI, daha önce piyasaya sürülen modelleri birleştirerek gereksinimleri dikkate alan yeni bir CMMI (Yetenek Olgunluk Modeli Entegrasyonu) modeli yayınladı.

Uluslararası standartlar. CMMI, farklı boyut ve faaliyet türlerine sahip kuruluşlardaki süreçleri iyileştirmeye yönelik bir dizi modeldir (metodolojiler). CMMI, aşağıdaki iyileştirme alanları gruplarını ayırt eder: süreç yönetimi, proje yönetimi, mühendislik alanları, hizmet

alanlar. Bu durumda tüm alanlar, nasıl uygulanacağını değil, arayüz gereksinimlerini belirleyen gereksinimler şeklinde belirtilir. Bundan iki sonuç çıkıyor.

Sonuç 1. CMMI çeşitli uygulamalara izin verir ve MSF, Scrum, RUP vb. gibi bir yazılım geliştirme metodolojisi değildir. İkincisi, uygulanmasında kullanılabilir. Örneğin VSTS for CMMI'da MSF for CMMI adı verilen özel bir süreç şablonu vardır.

Sonuç 2: CMMI, şirketleri süreçlerinin olgunluğu açısından sertifikalandırmak için kullanılır. Başlangıçta, 80'lerin sonlarında ve 90'ların başında, CMM (o zamanlar CMMI değil) tam olarak bir sertifikasyon aracı olarak oluşturuldu

federal taşeronlar. Ve ancak daha sonra dünyada yaygınlaşarak kullanılmaya başlandı ve ardından süreçlerin iyileştirilmesine odaklanıldı. CMMI'nın bir önemli özelliğine daha dikkat çekelim. Sadece yazılım sistemlerinin geliştirilmesi için tasarlanmamıştır. Birçok büyük şirket yazılım üretmez ancak hedef ürünler Yazılımın ayrılmaz bir parça olarak dahil edildiği yer.

Örneğin havacılık ve uzay endüstrileri. Yani yazılım geliştirme

diğer mühendislik çalışmalarıyla birlikte ortaya çıkar. Ve sıklıkla bir projede ikiden fazla kişinin yer aldığı görülür. çeşitli türler mühendislik. CMMI'nın amacı bu tür projelere ve şirketlere geliştirme sürecini organize etmek için tek bir platform sağlamaktır.

Kesinlikle hiyerarşik olan ve süreçlerin yalnızca düzeyler arasında sıralı olarak iyileştirilmesine izin veren klasik CMM modelinin aksine, CMMI modelinin iki boyutu vardır - sıralı,

CMM'deki ile aynı ve sürekli olup, organizasyondaki süreçlerin keyfi bir düzende bir dereceye kadar iyileştirilmesine olanak sağlar. Burada sıralı modele odaklanacağız. 5 seviyesi var

süreç olgunluğu (Şekil 1).

İlk seviye(olgunluk seviyesi 1), tanım gereği herhangi bir şirketin bulunduğu seviyedir. Bu seviyede yazılım geliştirme az çok kaotiktir.

Kontrollü seviye(olgunluk düzeyi 2) - şirket düzeyinde onaylanan süreçlerin düzenlenmesine yönelik politikalar ve prosedürler zaten burada yer almaktadır. Ancak süreçler tam olarak yalnızca bireysel projeler çerçevesinde mevcuttur.

Belli bir seviye(olgunluk seviyesi 3) - burada bir bütün olarak tüm şirket düzeyinde standart bir süreç ortaya çıkar.

Yetenek Olgunluk Modeli (CMM) Nedir? CMM Seviyeleri Nelerdir?

Bu, büyük ve sürekli büyüyen bir süreç varlıkları kümesidir: belge şablonları,

yaşam döngüsü modelleri, yazılımlar, uygulamalar vb. herhangi bir spesifik proses bu standardın dışına çıkarılarak elde edilir.

Kantitatif olarak kontrol edilen seviye(olgunluk seviyesi 4), şirkette standart bir süreç temelinde gerçekleşen ve gelişimin niceliksel yönetimine olanak tanıyan bir ölçüm sisteminin ortaya çıkmasını ifade eder.

Optimize etme düzeyi(olgunluk seviyesi 5), geliştirme süreçlerinin hem kademeli, adım adım hem de devrim niteliğinde sürekli iyileştirilmesini ifade eder. Üstelik bu değişiklikler zorunlu değil, proaktif sorunlar ve zorluklardır. Süreç kendi kendine geliştirilmekte ve sürekli olarak uygun mekanizmalar uygulanmaktadır.

Birçok kişi CMMI kısaltmasını biliyor, birçoğu bunun bir model olduğunu biliyor, yani. Örneğin yazılım geliştirmeyle ilgili süreçlerin nasıl iyileştirilebileceğine dair bir dizi öneri. Ancak çok az kişi birkaç CMMI modelinin olduğunu biliyor. Bunlardan en ünlüsü, aslında büyük ölçüde geliştirme şirketlerinin (yani belirli bir yazılım ürününü veya diğer karmaşık yazılım ve donanım çözümünü geliştiren ve sunan şirket ve kuruluşlar) faaliyetleriyle ilgili olan CMMI for Development'dır (CMMI-DEV).

Peki ya ürün değil de hizmet sunanlar (örneğin, toplam işgücü maliyetlerinde geliştirme payı önemsiz olan veya hiç olmayan bir ürünün desteklenmesi)? Onlar için de bir dizi öneri var - Hizmetler için CMMI (CMMI-SVC) modeli. Örneğin BT departmanları için bu model (daha doğrusu önerileri), örneğin aynı ITIL önerilerinin bir tür "kutsal uygulama" değil normal bir süreç haline gelmesi için ne yapılması gerektiğini anlamaya yardımcı olabilir.

Yetenek Olgunluk Modeli (CMM)

Bu modelin önerilerinin oldukça evrensel olması ve yalnızca bilgi teknolojisiyle "sınırlı" olmaması ilginçtir. Bu modelin uygulamalarının pilot uygulaması ABD'deki hastanelerden birinde gerçekleşti (sonuçta tıbbi bakım da bir hizmettir).

Ancak yukarıda listelenen modellerden herhangi birini öğrenmek daha iyidir. Ve eğer BDT'nin tamamında CMMI-DEV modelinde eğitilmiş birkaç yüz kişi varsa (yaklaşık 250-300 kişi), o zaman BDT'de... CMMI-SVC modelinde eğitilmiş 6 kişi vardır. Eğitmenlerden değil, eğitimli insanlardan bahsediyoruz. Aralık 2011'e kadar asıl sorun tam olarak buydu: CMMI-DEV için tüm dünyada SEI Enstitüsü (CMMI modellerinin geliştiricisi) tarafından onaylanmış yalnızca bir Rusça konuşan eğitmen vardı ve diğer modeller için hiç yoktu! Artık CMMI-SVC modeline göre böyle bir eğitmen ortaya çıktı (dolayısıyla ilk 6 eğitimli). Bu eğitmen, söz konusu modeller ve resmi eğitimle ilgili her türlü soruyu yanıtlamaya hazır olan bu yayının yazarıdır. Sormak!

Bu materyal Club.CNews topluluğunun bir üyesi tarafından yazılan özel bir gönderidir.
CNews editörleri içeriğinden sorumlu değildir.

Yazılım ve sistem entegrasyonunun geliştirilmesi, teslimi, uygulanması ve bakımı alanında çalışan kuruluşlar, rekabet güçlerinin temelinin kalite, düşük maliyet ve üretimin üretilebilirliği olduğunu giderek daha fazla hissetmektedir.

Bu tür kuruluşların başkanları, şirketlerinin faaliyetlerinin teknolojisini iyileştirmek ve geliştirmek için her zaman bir strateji oluşturamaz; İşgücü piyasasında gerekli niteliklere sahip yeterli sayıda uzmanın bulunmadığı açıktır. Aynı zamanda yazılım geliştirme ve işletimine yönelik teknolojik süreçlerin iyileştirilmesi alanında uluslararası deneyim uzun yıllar yeterince genelleştirilmemiş ve resmileştirilmemiştir. Ancak 1990'ların başında, Amerikan Yazılım Mühendisliği Enstitüsü (SEI), CMM organizasyonlarının teknolojik olgunluğuna ilişkin bir model (Yetenek Olgunluk Modeli) oluşturdu ve teknolojik olgunluk düzeylerini ve bunların ayırt edici özelliklerini tanımladı. On yıl boyunca SMM birçok kuruluşta test edilmiş, etkinliği ve güvenilirliği sipariş veren kuruluşlar, yazılım tedarikçileri, özel yazılım geliştiren şirketler ve offshore programlama tarafından test edilmiştir.

Bugün Batı'da bir geliştirme şirketi, CMM'ye göre sertifikalandırılmamışsa sipariş almada pratikte büyük zorluklarla karşılaşıyor. Müşteriler, performans gösteren şirketin teknolojik etkinliğinin garantisini, yüklenicinin düşük kaliteli hizmet sağlayamayacağının garantisini talep eder.

Şirketlerin teknolojik olgunluğunu değerlendirmek için şunlar kullanılabilir:

· En iyi performans gösterenleri seçerken (örneğin bir ihalede) müşteri tarafından;

· yazılım imalat şirketlerinin teknolojik süreçlerinin durumunu sistematik olarak değerlendirmeleri ve geliştirilecek alanları seçmeleri;

· “felaketin boyutunu” değerlendirmek için sertifika almaya karar veren şirketler; şu anki durumunuz;

· standart belgelendirme prosedürünü belirleyecek ve gerekli değerlendirmeleri yapacak denetçiler;

· Şirketlerin yeniden yapılandırılmasında ve tedarikçi hizmetlerinde yer alan danışmanlık firmaları Bilişim Teknolojileri ve ilgili hizmetler.

Bir kuruluşun teknolojik olgunluğu arttıkça yazılım geliştirme ve bakım süreçleri daha standart ve tutarlı hale gelir. Aynı zamanda süreçlerin resmileştirilmesi, bunların uygulanmasından beklenen sonuçları standartlaştırmamıza ve proje sonuçlarının öngörülebilirliğini sağlamamıza olanak tanır.

Yazılım süreci olgunluğu- bu onların kontrol edilebilirliğinin, kontrol edilebilirliğinin ve verimliliğinin derecesidir. Artan teknolojik olgunluk, süreçlerin artan sürdürülebilirliğine yönelik potansiyeli ifade eder ve yazılım oluşturma ve bakım süreçlerinin kuruluş genelinde ne ölçüde etkili ve tutarlı kullanıldığını gösterir. Süreçlerin fiili kullanımı, bunları belgelemeden ve kuruluş personelinin dikkatine sunmadan, uygulamalarının sürekli izlenmesi ve iyileştirilmesi olmadan mümkün değildir. İyi tasarlanmış süreçlerin yetenekleri tam olarak tanımlanmıştır. Süreçlerin teknolojik olgunluğunun artması, sonuçlarının verimliliğinin ve kalitesinin sürekli olarak artması anlamına gelir.


Teknolojik olgunluğa ulaşmış kuruluşlarda yazılım oluşturma ve sürdürme süreçleri standart statüsüne bürünür ve kayıt altına alınır. Örgütsel yapılarüretim taktik ve stratejisini belirlemek. Bunların yasaya girmesi gerekli altyapının oluşturulması ve gerekli altyapının oluşturulması ihtiyacını gerektirmektedir. şirket kültürü Uygun yöntemlerin, operasyonların ve iş prosedürlerinin, onu yaratanların tamamı kuruluştan ayrıldıktan sonra bile sürdürülmesini sağlayan üretimler.

CMM modeli, kuruluşun kalite sistemi hakkında hükümler geliştirerek mükemmellik kriterlerini oluşturur - prensipte geliştirme organizasyonu tarafından elde edilebilecek beş teknolojik olgunluk seviyesi. En yüksek - dördüncü ve beşinci seviyeler - aslında yazılım oluşturma ve sürdürme süreçlerinin kapsamlı bir şekilde otomatikleştirildiği ve teknolojik olarak desteklendiği kolektif geliştirme yöntemlerinde uzmanlaşan kuruluşların bir özelliğidir.

1990 yılından bu yana SEI, ABD devlet kurumlarının ve yazılım geliştirme kuruluşlarının desteğiyle, yazılım oluşturma ve bakımı alanındaki en son gelişmeleri dikkate alarak bu modeli sürekli olarak geliştirmekte ve iyileştirmektedir.

SMM temsil eder metodolojik materyal Yazılımın oluşturulması ve bakımı için bir yönetim sisteminin oluşturulmasına ilişkin kuralları ve üretim kültürünün kademeli ve sürekli iyileştirilmesine yönelik yöntemleri tanımlayan kuralları tanımlar. SMM'nin amacı kalkınma organizasyonlarına aşağıdaki olanakları sağlamaktır: gerekli talimatlar teknolojik olgunluk derecelerini ve ürünlerin kalitesini en çok etkileyen faktörleri analiz ederek süreçlerin kalitesini iyileştirmeye yönelik bir strateji seçmeye ilişkindir. Kuruluş, az sayıdaki en kritik operasyonlara odaklanarak ve bunların uygulanmasının verimliliğini ve kalitesini sistematik olarak artırarak, yazılım oluşturma ve sürdürme kültüründe istikrarlı ve sürekli bir gelişme sağlayabilir.

CMM, bir kuruluşun hangi düzeyde teknolojik olgunluğa sahip olduğunu belirleyen temel (veya temel) nitelikleri tanımlaması anlamında tanımlayıcı bir modeldir. Tekniklerin ayrıntılı bir açıklamasının, ABD devlet kurumlarıyla yapılan sözleşmeler kapsamında değişen karmaşıklık ve sürelerdeki projeleri yürütmek için gereken organizasyon düzeyini belirlemesi anlamında normatif bir modeldir. SMM bir reçete değildir; bir organizasyonun nasıl gelişmesi gerektiğini belirlemez. CMM, bir seviyeden seviyeye nasıl geçileceğine dair herhangi bir talimat vermeden, her teknolojik olgunluk seviyesi için bir organizasyonun özelliklerini tanımlar. Bir organizasyonun birinci seviyeden ikinci seviyeye geçmesi birkaç yıl alabilir ve bir seviyeden diğerine geçmek çok az zaman alabilir. Yazılım oluşturma teknolojisini geliştirme süreci, kuruluşun stratejik planlarına, yapısına, kullanılan teknolojilere, genel sosyal kültüre ve yönetim sistemine yansır.

Her seviyede, yerine getirilmesi en önemli süreç göstergelerinin istikrarını sağlayan gereksinimler belirlenir. Teknolojik olgunluğun her düzeyine ulaşmak, yazılım oluşturma süreçlerinde belirli sayıda bileşenin ortaya çıkmasıyla sağlanır, bu da verimlilik ve kalitenin artmasına neden olur. İncirde. Şekil 1.7 SMM teknolojik olgunluğunun beş seviyesini göstermektedir.

Pirinç. 1.7. SMM teknolojik olgunluğunun beş seviyesi

Okların üzerindeki yazılar, seviyeden seviyeye geçerken süreçleri iyileştirmenin özelliklerini belirler.

İkinciden beşinciye kadar olan seviyeler, yazılım oluşturma süreçlerini standartlaştırmayı ve/veya modernleştirmeyi amaçlayan işlemler ve yazılım oluşturma süreçlerini oluşturan işlemler yoluyla karakterize edilebilir. Bu durumda birinci seviye bir temel, bir temel gibidir. Karşılaştırmalı analizüst seviyeler.

Seviye 1'de (başlangıçta), yazılım oluşturma ve sürdürmenin ana süreçleri doğası gereği rastgeledir ve kaotik bir şekilde gerçekleştirilir. Projenin başarısı tamamen personelin bireysel çabasına bağlıdır. Bu düzeyde, kural olarak kuruluş, yazılım oluşturmak ve sürdürmek için gerekli olan istikrarlı bir ortama sahip değildir.

Projenin başarısı, kural olarak, tamamen yönetimin enerji derecesine ve deneyimine ve sanatçıların profesyonel düzeyine bağlıdır. Enerjik bir yöneticinin proje sürecindeki tüm engelleri aşabileceği ve gerçekten geçerli bir yazılım ürününün piyasaya sürülmesini başarabileceği durumlar olabilir. Ancak böyle bir liderin görevinden ayrılmasıyla bir sonraki benzer projenin başarılı olacağına dair garanti ortadan kalkacaktır. Gerekli düzeyde proje yönetiminin olmadığı durumlarda ileri teknoloji bile durumu kurtaramayacaktır.

Birinci seviyedeki süreçler, projenin uygulanması sırasındaki bileşimlerinin, amaçlarının ve sırasının mevcut duruma bağlı olarak rastgele değişmesi nedeniyle öngörülemez olmaları ile karakterize edilir. Sonuç olarak, tahsis edilen fonlar fazla harcanıyor ve çalışma programları aksıyor. Eğitim yeteneğine sahip ve bilgili uzmanlar organizasyonlarda her olgunluk düzeyinde başarının temel ön koşuludur, ancak ilk düzeyde herhangi bir olumlu sonuç elde etmek için tek fırsattır.

Seviye 2'de (tekrarlanabilir süreç seviyesi), proje yönetimi süreçleri proje maliyetleri, programları ve gerçekleştirilen işlevler üzerinde sürekli kontrol sağlar. Proje uygulama disiplini öyledir ki, benzer yazılım ürünleri yaratmaya yönelik projelerin başarısını tahmin etmek mümkündür.

Bu seviyede planlama tasarım çalışması yeni projelerin yönetimi ise başarıyla tamamlanan benzer projelerin deneyimine dayanmaktadır. İkinci seviyenin ana özelliği, başarıyla tamamlanan projelerin olumlu deneyiminin kullanılmasını mümkün kılan resmileştirilmiş ve belgelenmiş etkili proje yönetimi süreçlerinin varlığıdır. Etkili süreçler belgelenen, fiilen kullanılan, ölçülebilir ve modernizasyona uygun süreçlerdir. Personelin bunların kullanımı konusunda eğitilmesi gerekir.

İkinciden başlayarak SMM'nin her seviyesi, bir dizi ana süreç grubunun (anahtar süreç alanları - KPA) varlığıyla karakterize edilir. CMM modeli bu tür 18 grup içerir, CMMI modelinin en son sürümü 20 grup içerir. Seviye 2 CMM, aşağıdaki süreçlerin organizasyonundaki varlığı ile karakterize edilir (isimleri CMMI'ye karşılık gelir):

· ihtiyaç Yönetimi;

Konfigürasyon yönetimi

· proje planlaması;

· projenin izlenmesi ve kontrolü;

· sözleşme Yönetimi;

· ölçümler ve analizler;

· Süreç ve ürün kalitesinin sağlanması.

İkinci seviyedeki süreçler, önceden planlanmaları ve uygulamalarının sıkı bir şekilde kontrol edilmesi nedeniyle düzenli olarak nitelendirilebilir, böylece proje sonuçlarının öngörülebilirliği sağlanır. Projelerin artması ve karmaşıklaşmasıyla birlikte dikkat, uygulamaların teknik yönlerinden organizasyonel ve yönetim yönleri. Süreçlerin yürütülmesi, personelin daha verimli ve işbirliği içinde çalışmasını gerektirir; bu da mesleki performansı artırmak için belgelenmiş en iyi uygulamalardan öğrenmeyi gerektirir.

Seviye 3'te (standartlaştırılmış süreçler düzeyi), yazılım oluşturma süreçleri belgelenir, standartlaştırılır ve tek bir süreci temsil eder. teknolojik sistem Kuruluşun tüm departmanları için zorunludur. Tüm projelerde yazılım oluşturmak ve sürdürmek için test edilmiş, onaylanmış ve standartlaştırılmış bir teknoloji kullanılır.

Bu seviyede Seviye 2 süreçlerine aşağıdaki süreçler eklenir:

· gereksinim spesifikasyonu;

· ürün entegrasyonu;

· doğrulama;

· sertifikasyon;

· organizasyonel süreçlerin standardizasyonu;

· eğitim;

· entegre proje yönetimi;

· Risklerin yönetimi;

· analiz ve karar verme.

Bu seviyedeki süreçleri kullanmanın ve gerekirse ayarlamanın ana kriteri, yönetim ve teknik uzmanların proje uygulamasının verimliliğini artırmalarına yardımcı olmaktır. Bu seviyede kuruluş, süreçleri oluşturan operasyonların bileşiminden sorumlu özel bir grup oluşturur - bir yazılım mühendisliği süreç grubu (SEPG).

Tek bir teknolojiye dayalı olarak her proje kendi özelliklerini dikkate alarak kendi süreçlerini geliştirebilir. SMM'deki bu tür süreçlere “proje odaklı yazılım oluşturma süreçleri” (projenin tanımlı yazılım süreci) adı verilmektedir.

Her sürecin açıklaması, yürütme koşullarını, girdi verilerini, yürütme standartlarını ve prosedürlerini, doğrulama mekanizmalarını (örneğin, emsal incelemesi), çıktı verilerini ve sonlandırma koşullarını içerir. Süreç tanımı aynı zamanda süreci gerçekleştirmek için gereken araçlara ilişkin bilgileri ve yürütülmesinden sorumlu rolün bir göstergesini de içerir.

Seviye 4'ün (yönetilen süreçlerin düzeyi) temel amacı, süreçler üzerinde sürekli kontrol sağlamaktır. Yönetim, süreçlerin belirlenen kalitede yürütülmesini sağlamalıdır. Ölçülen sonuçlarda müdahale gerektiren kaçınılmaz kayıplar ve geçici zirveler olabilir ancak genel olarak sistemin stabil olması gerekir.

4. seviyede aşağıdaki süreçler eklenir:

· performans ve üretkenlik yönetimi;

· niceliksel proje yönetimi.

Bu seviyede pratikte hem oluşturma süreçlerinin hem de oluşturulan yazılım ürününün kalitesinin ayrıntılı bir değerlendirmesi kullanılır. Bu durumda niceliksel değerlendirme kriterleri uygulanır.

Yazılım oluşturma verimliliğinin ve kalitesinin niceliksel olarak izlenmesine yönelik birleşik bir program, kuruluş genelinde geliştirilmektedir. Süreç analizini kolaylaştırmak amacıyla, organizasyonda yürütülen tüm projeler için yazılım oluşturma ve bakım süreçlerini içeren birleşik bir veri tabanı oluşturulur. Süreç verimliliğinin ve bunların uygulanma kalitesinin niceliksel değerlendirmesi için evrensel yöntemler geliştirilmektedir. Bu, yazılım oluşturma ve bakım süreçlerinin niceliksel analizine ve değerlendirilmesine olanak tanır.

Dördüncü düzeydeki süreçlerin sonuçları ölçülebilir olduğundan ve belirlenen niceliksel sınırlar dahilinde değişiklik gösterdiğinden öngörülebilir hale gelir. Bu seviyede, süreçlerin ve nihai ürünlerin belirlenen kalitesini önceden planlamak mümkün hale gelir.

Seviye 5'in (optimize edilmiş süreçler seviyesi) temel amacı, yazılım oluşturma ve sürdürme süreçlerinin tutarlı bir şekilde iyileştirilmesi ve modernleştirilmesidir. Yazılım oluşturma teknolojisinin planlı modernizasyonu amacıyla organizasyonda, ana sorumlulukları süreçlerin yürütülmesine ilişkin verileri toplamak, analiz etmek, mevcut süreçleri modernize etmek ve yeni süreçler oluşturmak, pilot projelerde test etmek ve bunları test etmek olan özel bir birim oluşturulmuştur. onlara kurumsal standartların statüsünü veriyor.

5. seviyede aşağıdaki süreçler eklenir:

· teknolojik ve organizasyonel yeniliklerin tanıtılması;

· Sebep-sonuç analizi ve problem çözme. Yazılım oluşturma ve bakım süreçleri aşağıdakilerle karakterize edilir:

Kuruluş bunları modernleştirmek için sürekli çaba gösterdiği ölçüde sürekli olarak iyileştirilir. Bu gelişme hem tanımlamaya hem de Ek özellikler kullanılan süreçlerin yanı sıra yeni optimal süreçlerin oluşturulması ve yeni teknolojilerin kullanılması.

En büyük faydayı sağlayabilecek yenilikler standartlaştırılır ve organizasyon genelinde teknoloji sistemine uyarlanır. Projede yer alan personel kusurları analiz eder ve bunların oluşma nedenlerini belirler. Hatalara yol açan durumların tekrarını önlemek amacıyla yazılım geliştirme süreçleri değerlendirilmekte ve değerlendirme sonuçları sonraki projelerde dikkate alınmaktadır.

Sonraki her seviye ayrıca yazılım oluşturma ve sürdürme süreçlerine daha kapsamlı bir görünürlük sağlar.

İlk seviyede süreçler şekilsizdir (“kara kutular”) ve görünürlükleri oldukça sınırlıdır. En başından beri, operasyonların bileşimi ve amacı pratikte tanımlanmamıştır, bu da projenin durumunun ve ilerlemesinin belirlenmesinde önemli zorluklar yaratmaktadır. Süreçlerin yürütülmesine ilişkin gereksinimler kontrolsüz bir şekilde belirlenir. Yöneticilerin (özellikle kendileri programcı olmayanların) gözünde yazılım geliştirme bazen kara büyü gibi görünür.

İkinci aşamada proje yönetimi süreçlerinin temelleri tanımlandığı için kullanıcı gereksinimlerinin uygulanması ve yazılımın oluşturulması kontrol edilir. Yazılım oluşturma süreci, bir "kutudan" diğerine geçiş noktalarında kontrol edilebilen bir dizi "kara kutu" olarak düşünülebilir - sabit aşamalar. Yönetici “kutunun içinde” ne yapıldığını bilmese bile süreçten ne çıkacağı kesin olarak belirlenmiş, sürecin başlangıcı ve tamamlanması için kontrol noktaları tanımlanmıştır. Bu nedenle yönetim, kara kutu temas noktalarındaki sorunları tanıyabilir ve bunlara zamanında yanıt verebilir.

Üçüncü aşamada “kara kutuların” iç yapısı belirlenir. Süreçleri oluşturan görevler. İç yapı Bir kuruluşun standart süreçlerinin belirli projelere uygulanma şeklini temsil eder. Yönetim ekibi ve uygulayıcılar proje içindeki rollerini ve sorumluluklarını gereken ayrıntıya kadar biliyorlar. Yönetim, projenin uygulanması sırasında ortaya çıkabilecek risklere karşı önceden hazırlanır. Standartlaştırılmış ve belgelenmiş süreçler şeffaf hale geldiğinden, projeye doğrudan dahil olmayan çalışanlar, projenin mevcut durumu hakkında doğru ve zamanında bilgi alabilirler.

Dördüncü düzeyde, süreçlerin yürütülmesi, emek yoğunluğunun ve yürütme kalitesinin niceliksel özelliklerini belirlemeyi mümkün kılan araçlara sıkı sıkıya bağlıdır. Objektif bir niceliksel ölçüm temeline sahip olan yöneticiler, projenin aşamalarını ve aşamalarını doğru bir şekilde planlayabilir, projenin ilerleyişini tahmin edebilir ve ortaya çıkan sorunlara zamanında ve yeterli bir şekilde cevap verebilirler. Proje sürecinde verilen süre, maliyet ve kaliteden olası sapmalar azaldıkça sonuçları öngörebilme yetenekleri sürekli artar.

Beşinci seviyede, ürünlerin kalitesini iyileştirmek ve yaratılma verimliliğini artırmak amacıyla, yazılım oluşturmaya yönelik yeni, geliştirilmiş yöntem ve teknolojilerin oluşturulmasına yönelik sürekli ve sistematik çalışmalar yürütülmektedir. Yalnızca halihazırda kullanımda olanlara değil, aynı zamanda yeni, daha verimli süreçlere ve teknolojilere de dikkat çekiliyor. Yöneticiler, yazılım oluşturma ve sürdürme konusunda teknolojideki değişikliklerin etkisini ve etkinliğini ölçebilir.

Dördüncü ve beşinci seviyeler yazılım endüstrisinde nadirdir. Böylece, dünyada birkaç yüz şirket üçüncü seviyeye ulaşmışsa, o zaman 62 firma beşinci seviyede (SEI verilerine göre 2002) ve 72 firma da dördüncü seviyedeydi. tüm şirketler olgunluk seviyelerini açıklar. Bazıları organizasyonel teknolojilerinin reklamını yapmakla ilgilenmiyor, bazıları ise sertifikasyon işlemini yalnızca müşterinin baskısı altında gerçekleştiriyor.

En yüksek SMM seviyelerine ulaşmak on yıl veya daha fazla zaman alır. Ancak 3. seviye bile uluslararası arenaya güvenli bir şekilde girmenizi sağlar. SMM'yi kullanmak için bir şirketin benzersiz yeteneklere sahip çalışanları aramasına gerek yoktur; yalnızca anlaması gerekir; Genel fikir. SMM modelinin açıklamasında bu modele uygun olarak geliştirilmesi için yapılması gerekenler ayrıntılı olarak belirtilmektedir. Herhangi bir orta sınıf yöneticisi, SMM'nin düzenlenmiş eylemlerini takip etme yeteneğine sahiptir.

SMM 1.1'in en son sürümü esas olarak büyük projeler uygulayan büyük şirketlere yöneliktir ancak aynı zamanda iki veya üç kişilik gruplar veya bireysel programcılar tarafından küçük projeleri tamamlamak için de kullanılabilir (üç aya kadar süren). Bu gibi durumlarda, yeni siparişlerin alınması büyük ölçüde önceki projelerin uygulanma kalitesine göre belirlendiğinden, CMM modeli hayati bir rol oynayabilir. Küçük gruplar 2. seviyeden oldukça memnun kalacaklardır çünkü küçük bir proje için birkaç haftalık son teslim tarihinden sapmanın önemi yoktur.

2002 yılından bu yana CMMI'nın özel bir entegrasyon sürümü resmi olarak dağıtılmaktadır. Bu, yüklenicinin geliştirilmesi ve seçiminden eğitim, uygulama ve desteğe kadar şirket faaliyetlerinin tüm yönlerini kapsayan, SEI tarafından gerçekleştirilen yeni bir gelişmedir. Ayrıca CMMI modeli sistem mühendisliği yaklaşımlarıyla genişletilmektedir. Bu model, CMM 2.0 versiyonunun tasarımı sırasında yapılan gelişmeleri (tamamlanmadı) içeriyordu; ana değişiklikler, büyük ölçekli Amerikan projeleriyle en alakalı olan dördüncü ve beşinci seviyedeki şirketler için süreçleri açıklığa kavuşturmayı amaçladı.

CMM modeli oldukça güçlü ve önemlidir ancak tüm yazılım oluşturma sürecini belirleyen tek temel olarak kullanılmamalıdır. Esas olarak ABD Savunma Bakanlığı için yazılım geliştiren şirketlere yönelikti. Bu sistemler, büyük boyutları ve uzun hizmet ömürlerinin yanı sıra donanım ve diğer yazılım sistemleriyle olan arayüzün karmaşıklığıyla karakterize edilir. Oldukça büyük programcı ekipleri, Savunma Bakanlığı tarafından geliştirilen gereksinimlere ve standartlara uyması gereken bu tür sistemlerin oluşturulması üzerinde çalışıyor.

SMM'nin dezavantajları aşağıdakileri içerir:

1. Model, bir yazılım ürünü oluşturma sürecine değil, yalnızca proje yönetimine odaklanır. Model, prototip oluşturma, resmi ve benzeri belirli yöntemlerin kullanılması gibi önemli faktörleri dikkate almamaktadır. yapısal yöntemler, statik analiz araçları vb.

2. Model, sorunların geliştirme sürecini etkilemeden önce tespit edilmesini önleyen risk ve karar analizinden yoksundur.

3. Yazarlar modelin evrensel ve tüm kuruluşlar için uygun olduğunu kabul etse de, modelin uygulama kapsamı tanımlanmamıştır. Ancak yazarlar, SMM'yi faaliyetlerinde uygulayabilen veya uygulayamayan kuruluşlar arasında net bir ayrım yapmamaktadır. Küçük şirketler Bu modeli fazla bürokratik buluyorum. Bu eleştirilere yanıt olarak küçük organizasyonlara yönelik süreç iyileştirme stratejileri geliştirilmiştir.

Ana hedef ABD Savunma Bakanlığı, CMM modelini oluştururken yazılım tedarikçilerinin yeteneklerini değerlendirmeyi amaçladı. Şu anda, kalkınma organizasyonlarının belirli bir seviyeye ulaşması için net bir gereklilik yoktur. Ancak yüksek seviyeye ulaşmış bir kuruluşun yazılım tedariki ihalesini kazanma şansının daha yüksek olduğu genel olarak kabul edilmektedir. CMM'ye alternatif olarak, çoğu kuruluş ve yazılım projesi için uygun olan, teknolojik olgunluğu geliştirmeye yönelik genelleştirilmiş bir süreç sınıflandırması önerilmektedir. İyileştirme süreçlerinin birkaç genel türü ayırt edilebilir.

1. Gayri resmi süreç. Açıkça tanımlanmış bir iyileştirme modeli yoktur. Ayrı bir geliştirme ekibi tarafından başarıyla kullanılabilir.

cov. Sürecin gayri resmiliği, konfigürasyon yönetimi gibi resmi eylemleri dışlamaz, ancak eylemlerin kendileri ve ilişkileri önceden belirlenmemiştir.

2. Yönetilen süreç.İyileştirme sürecini yöneten hazırlanmış bir modele sahiptir. Model aktiviteleri, programlarını ve aralarındaki ilişkileri tanımlar.

3. Metodolojik temelli süreç. Belirli tekniklerin uygulamaya konulduğu varsayılmaktadır (örneğin, nesne yönelimli tasarım teknikleri sistematik olarak uygulanmaktadır). Süreç tasarımı ve analiz destek araçları (CASE araçları) bu tür süreçler için faydalıdır.

4. Doğrudan iyileştirme süreci. Kuruluşun bütçesinde ayrı bir satırın bulunduğu ve yeniliklerin getirilmesine yönelik standartların ve prosedürlerin tanımlandığı teknolojik süreci iyileştirmeye yönelik açıkça tanımlanmış bir hedefi vardır. Bu sürecin bir kısmı iyileştirme sürecinin niceliksel analizini içerir.

Bu sınıflandırmanın açık ve kapsamlı olduğu söylenemez - bazı süreçler aynı anda birkaç türe ait olabilir. Örneğin, sürecin gayri resmi olması geliştirme ekibinin tercihidir. Aynı ekip, süreci doğrudan iyileştirmek için tüm fırsatlara sahipken belirli bir geliştirme metodolojisini seçebilir. Bu süreç sınıflandırma kapsamına girer Gayri resmi, metodolojik temelli, doğrudan iyileştirme.

Bu sınıflandırmaya duyulan ihtiyaç, yazılım oluşturma teknolojisinin kapsamlı bir şekilde iyileştirilmesi için bir temel sağlaması ve bir kuruluşun farklı türdeki iyileştirme süreçlerini seçmesine olanak sağlaması nedeniyledir. İncirde. 1.8 arasındaki ilişkileri gösterir farklı şekiller gelişimlerini iyileştirmeye yönelik yazılım sistemleri ve süreçleri.

Pirinç. 1.8. İyileştirme süreçlerinin uygulanabilirliği

Geliştirilmekte olan ürünün türünü bilmek, aralarındaki eşleşmeyi sağlayacaktır. yazılım sistemleri ve Şekil 2'de gösterilen iyileştirme süreçleri. 1.8, bir iyileştirme süreci seçerken faydalıdır. Örneğin yazılımın bir bilgisayar platformundan diğerine geçişini destekleyecek bir program oluşturmanız gerekiyor. Bu program yeterli kısa vadeli dolayısıyla, geliştirilmesi, uzun ömürlü sistemler oluştururken olduğu gibi, iyileştirme sürecinin standartlarını ve özel yönetimini gerektirmez.

Birçok teknolojik süreçlerşu anda CASE destek araçlarına sahipler, böylece çağrılabilirler desteklenen süreçler. Metodolojik olarak sağlam süreçler analiz ve tasarım araçlarıyla desteklenir. Bir destek aracının etkinliği kullanılan iyileştirme sürecine bağlıdır. Örneğin, resmi olmayan bir süreç standart destek araçlarını (prototip oluşturma araçları, derleyiciler, hata ayıklama araçları, kelime işlemciler vb.) kullanabilir. Gayri resmi süreçlerde daha uzmanlaşmış destek araçlarının sürekli olarak kullanılması pek olası değildir.

SMM modeli benzersiz değildir. Neredeyse her büyük şirket kendi yazılım oluşturma teknolojilerini geliştirir, bazen bu teknolojiler halka açık hale gelir ve çok popüler olur. SMM modelinin geniş popülaritesi, onun ile ilişkilidir. devlet desteği ancak SMM'nin gerçek etkinliği birçok önde gelen uzman tarafından eleştiriliyor. HMM'nin ana dezavantajlarından biri, sağduyu aksini öne sürse bile, bu modelin ilkelerinden sapmamaya yönelik aşırı katı gereklilik ile ilişkilidir. Bu tür mutlak gerçeğe sahip olma iddiaları ihtiyatlı davranmaktan başka bir şey yapamaz, bu nedenle küçük ve orta ölçekli şirketler arasında bireysel ve kolektif yaratıcılığa çok daha fazla özgürlük tanıyan yaklaşımlar daha popülerdir. Aşağıda tartışılan SPMN tekniği, büyük organizasyonlar için etkili olan SMM gibi katı, "ağır" çözümler ile en yaygın çözümler arasında bir ara yerde yer almaktadır. esnek teknolojiler. Bir yandan yönetim faaliyetlerini mümkün olduğu kadar hızlı bir şekilde düzenlemek isteyen, diğer yandan gelecekte hedef kitleye ulaşmayı planlayan şirketler için en iyi seçenek gibi görünüyor. Uluslararası seviye CMM sertifikasyonunun son derece arzu edildiği yer.

airsoft-unity.ru - Madencilik portalı - İş türleri. Talimatlar. Şirketler. Pazarlama. Vergiler