400 likes | 867 Views
BİLGİ TABANLI CMMI ENTEGRASYON ASİSTANI. Prof. Dr. Ercan ÖZTEMEL Nilgün GÖKMEN Yöneylem Araştırması ve Endüstri Mühendisliği 30.Ulusal Kongresi 20 10. Önerilen Model-CMMI Asistanı CMMI Asistanı Çıkarım Mekanizması CMMI Asistanı Bilgi Tabanı CMMI Asistanı Kullanıcı Arayüzü Uygulamalar.
E N D
BİLGİ TABANLI CMMI ENTEGRASYON ASİSTANI Prof.Dr.Ercan ÖZTEMEL Nilgün GÖKMEN Yöneylem Araştırması ve Endüstri Mühendisliği 30.Ulusal Kongresi 2010
Önerilen Model-CMMI Asistanı • CMMI Asistanı Çıkarım Mekanizması • CMMI Asistanı Bilgi Tabanı • CMMI Asistanı Kullanıcı Arayüzü • Uygulamalar • Sonuçlar • Gelecek Çalışmalar SUNUM PLANI
CMMI’a Kısa Bir Bakış • CMMI (Capability Maturity Model Integration-Entegre Yetenek Olgunluk Modeli); • yazılım proje yönetimini kolaylaştırmak ve hedeflenen yazılım kalitesini sağlamak için; • Amerikan Savunma Bakanlığı’nın talebi üzerine Carnegie Mellon Üniversitesi Yazılım Mühendisliği Enstitüsü (SEI) tarafından geliştirilmiş, • süreçlerin roller ve sorumluluklar ile birlikte tanımlanmasını sağlayan, • en iyi pratiklerden oluşturulmuş referans bir modeldir.
CMMI’a Kısa Bir Bakış • Bu model en iyi pratikleri “yıldız kümeleri” halinde üç gruba ayırır. Bunlar: • CMMI-DEV(CMMI for Development -Ürün ya da hizmet oluşturmak) • CMMI-SVC(CMMI for Services-Hizmet vermek) • CMMI-ACQ(CMMI for Acquisition-Satınalma)
CMMI Neden Bu Kadar Önemli? Boyut Zaman İNSANLAR Hatalar Takvim TEKNOLOJİ SÜREÇ Şekil 1-Ürün maliyeti, zaman çizelgesi ve kalitesinin başlıca belirleyicileri
Müşterinin tarifi Proje yöneticisinin anladığı Analistin tasarladığı Programcının kodladığı Danışmanın tarifi Projenin dokümantasyonu Yüklenen işlemler Müşterinin faturalandırdığı Desteklenen şekli Müşterinin gerçekten ihtiyaç duyduğu
CMMI Süreç Alanı Bileşenleri-1/2 • CMMI 5 seviyede toplam 22 süreç alanından oluşmaktadır. • Herbir süreç alanı • Gerekli (Genel ve özel amaçlar), • Beklenen (Genel ve özel pratikler) ve • Bilgilendirici bileşenler (Alt pratikler, iş ürünleri, vb.) olmak üzere üç tip bileşenden oluşur. • Herbir süreç alanının başarılı bir şekilde uygulanması; gerekli ve beklenen bileşenlerin başarılı bir şekilde uygulanıyor olmasını gerektirir.
CMMI Süreç Alanı Bileşenleri-2/2 Süreç Alanı Amaç Belirleme Başlangıç Notları İlişkili Süreç Alanları Özel Amaçlar Genel Amaçlar Gerekli Beklenen Özel Pratikler Genel Pratikler Bilgilendirici Tipik İş Ürünleri Alt Pratikler Genel Pratik Detayları Şekil 2-Süreç Alanı Bileşenleri
CMMI Model Yapısı • Sürekli gösterim • Organizasyonlara herhangi bir süreç alanını ya da alanlarını seçerek, yalnızca orada iyileştirme yapabilme imkanı sunar. • İyileştirme seviyesini 0 ile 5 arasında numaralandırılmış “yetenek düzeyleri” gösterir. • Basamaklı gösterim • Organizasyonlar için süreç alanlarını belirli düzeylerde kümeler halinde sunar. • İyileştirme seviyeleri 1 ile 5 arasında numaralandırılmış olan “olgunluk düzeyleri” ile ifade edilir. • Sertifikasyon alımını sağlayan gösterim şeklidir.
CMMI Süreç Alanları Tablo 1- Olgunluk Düzeylerine Göre Süreç Alanları
CMMI Denetimleri SCAMPI: Standard CMMI Appraisal Method for ProcessImprovement - Süreç İyileştirme için Standart CMMI Değerlendirme Yöntemi C SCAMPI A:sertifika almaya hak kazanıp kazanılmadığını gösteren tek denetim SCAMPI B: A denetiminin Provası SCAMPI C:Organizasyondaki eksiklikleri gösteren denetim Kurumsallaşma Araştırma derinliği B Yayılım A Planlar Uygun hale getirme genişliği 11
CMMI Denetimleri • Denetimler; • Doğrudan Kanıtlar (D), • Dolaylı Kanıtlar (I) ve • Doğrulamalar (A) olmak üzereüç tip kanıta dayalıdır.
CMMI Uygulamaları... • Organizasyonel kabulün yanı sıra geniş bir bilgi ve tecrübe gerektirmektedir. • CMMI modelini anlamak, iş süreçlerini modelin süreç alanları ve ilgili uygulamalarıyla eşleştirmek düşünüldüğü kadar kolay değildir. • Kurumu sürece hazırlayacak uzmanların işe alınması hem zaman alıcı hem de maliyetli bir iştir. • SCAMPI A öncesi kurum içi hazırlık denetimlerinin yapılması yoğun iş gücü gerektirmekte ve mevcut çalışmalar ile koordinasyonda sıkıntılar yaşanabilmektedir.
Bilgisayar Destekli CMMI Sistemleri • Modelin uygulanma sürecini kolaylaştırmak amacı ile birçok bilgisayar destekli programlar geliştirilmiştir. Bunlardan bazıları: • CMM Quest (HM&S, 2009), • Appraisal Assistant Tool (Griffith Üniversitesi, 2007), • Compass (Vektör Danışmanlık, 2009), • APEX Tool (MilmanveJoubert, 2009), • CMMI AppraisalRecorder (SE-CURE AG, 2009), • QMIM Tool (Kelemen, Balla ve Boka, 2007) • ...
Var olan Sistemler... • Bütün bu sistemler, modeli anlamada ve süreç alanları üzerinde organizasyonların kendilerini değerlendirmede büyük ölçüde önemli ve yararlıdırlar. • Bu programların genel bir değerlendirilmesi yapıldığında ; • Kanıtlar ile CMMI süreç alanı pratiklerinin eşleştirmesini kullanıcıya bıraktıkları görülmektedir. • Benzeri şekilde kanıtların doğrudan ya da dolaylı, güçlü ya da zayıf olduğuna kullanıcı karar vermektedir. • Son olarak, kullanıcı tarafından pratiklerin, amaçların ve süreç alanlarının kanıtların durumlarına bağlı olarak doğru bir şekilde uygulanıp uygulanmadığına karar verilmektedir.
Bilgisayarların Değerlendirme Yetenekleri • Özellikle büyük projelerin gerçekleştirildiği kurumlarda süreçlerin karmaşıklığı ve uygulamada doğurduğu etkiler dikkate alındığında bilgisayarların ilgili süreçleri farklı açılardan değerlendirme yeteneklerinden faydalanılması önemlidir. • Böylece hem gerekli danışmanlık ihtiyacı önemli oranda giderilebilecek hem de daha sağlıklı değerlendirmeler yapılabilecektir. • Bu kapsamda Uzman Sistemler gibi teknolojilerden faydalanılarak geliştirilecek Zeki bir CMMI Asistanı kurumlar için önemli bir eksikliği giderecektir.
Uzman Sistem Kullanıcı Uzman Çıkarım mekanizması Kullanıcı arayüzü Bilgi desteği Bilgi formülasyonu Bilgi tabanı Bilgi mühendisi Şekil 3-Uzman Sistemin Yapısı(Öztemel,2005)
Kanıtların ağırlıklandırılmış listesi CMMI seviye 2 süreç bilgisi Seviye belirleme bilgisi Organizasyonun süreç bilgileri Süreç sorumluları ve Yöneticiler • Organizasyonun CMMI seviyesi • Öneriler Karar verici Önerilen Prototip-CMMI Asistanı • Bir uzman sistemde olduğu gibi CMMI Asistanı da üç kısımdan oluşur: • Bilgi tabanı • Çıkarım mekanizması ve • Kullanıcı arayüzü. • CMMI-DEV • Basamaklı Gösterim • Olgunluk Düzeyi 2 • SCAMPI A Şekil 4-CMMI Asistanı Yapısı
CMMI Asistanı Bilgi Tabanı • Bilgi tabanında: • Uzman olan kişilerin bilgi ve tecrübelerinden, • Modelin detaylı bilgilerini içeren kaynaklardan, • Kökten’in geliştirdiği uygulama çatısından (Kökten, 2007), • Kalaycı’nın önerdiği denetim sorularından (Kalaycı, 2007), • bazı firmaların öğrenilmiş derslerinden ve • Pratik Uygulama Gösterge Veritabanı (PIID) (Kneuper, 2009) dokümanlarından alınan bilgiler bulunmaktadır. • Burada bilgiler “EĞER ...İSE...DEĞİLSE” biçiminde saklanmaktadır.
CMMI Asistanı Çıkarım Mekanizması-1/7 • Çıkarım mekanizması CMMI uygulamalarının durumu hakkında kararlar vermeyi ve yön çizmeyi sağlamaktadır. Tablo2- Pratiklerin Tanımlanması
CMMI Asistanı Çıkarım Mekanizması-2/7 Tablo 3-Amaçların Tanımlanması Tablo4-Süreç Alanlarının Tanımlanması
CMMI Asistanı Çıkarım Mekanizması-3/7 • Aşağıdaki örnek Konfigürasyon Yönetimi (CM)süreç alanının karşılanıp karşılanmadığına nasıl karar verildiğini gösterir. • SG x = bir süreç alanındaki x. özel amaç SP x.y = bir süreç alanındaki x. özel amacın y.özel pratiği Kanıtlar a, b, c…vb. olarak gösterilmiştir. ÖRNEK: CM için; SG 1 : “Dayanak Noktalarını Oluştur” SP 1.1 : “Konfigürasyon Öğelerini Tanımla” Gerekli doğrudan kanıtlar: • SP 1.1 a: Belirlenmiş konfigürasyon öğeleri • SP 1.1 b: Konfigürasyon öğelerinin özellikleri • SP 1.1 b.1: Özel belirteç • SP 1.1 b.2: Sorumlu • SP 1.1 c: Konfigürasyon öğelerinin özellikleri • SP 1.1 c.1: Yazar • SP 1.1 c.2: Doküman dosya tipi • SP 1.1 c.3: Programlama dili • SP 1.1 d: Konfigürasyon öğelerinin bilgisini taşıyan, dokümante edilmiş bir plan
CMMI Asistanı Çıkarım Mekanizması-4/7 Kural 1: • EĞER SP 1.1 b.1 ve SP 1.1 b.2 İSE SP 1.1 b • EĞER SP 1.1 c.1 veya SP 1.1 c.2 veya SP 1.1 c.3 İSE SP 1.1 c • EĞER SP 1.1 a ve SP 1.1 b ve SP 1.1 c İSE SP 1.1’in D’si GÜÇLÜDÜR, DEĞİLSE ZAYIFTIR. Beklenen Dolaylı Kanıtlar: • SP 1.1 d: Konfigürasyon öğeleri seçim kriterleri • SP 1.1 d.1: İki ya da daha fazla grup tarafından kullanılabilir iş ürünleri • SP 1.1 d.2: Değişiklik isteği ya da hatalardan dolayı değişmesi beklenen iş ürünleri • SP 1.1 d.3: Değiştiğinde bir diğer iş ürününün de değişmesini gerektiren iş ürünleri • SP 1.1 d.4: Proje için kritik iş ürünleri • SP 1.1 e: Konfigürasyon Yönetim Sistemi’ne konfigürasyon öğelerinin yerleştirilme zamanı kriterleri • SP 1.1 e.1: Proje yaşam döngüsü seviyesi • SP 1.1 e.2: İş ürünlerinin teste hazır olma zamanları • SP 1.1 e.3: İş ürünleri üzerindeki kontrol seviyesi • SP 1.1 e.4: Maliyet ve zaman kısıtlamaları • SP 1.1 e.5: Müşteri isterleri
CMMI Asistanı Çıkarım Mekanizması-5/7 Kural 2: • EĞER SP 1.1 d.1 veya SP 1.1 d.2 veya SP 1.1 d.3 veya SP 1.1 d.4 İSE SP 1.1 d • EĞER SP 1.1 e.1 veya SP 1.1 e.2 veya SP 1.1 e.3 veya SP 1.1 e.4 veya SP 1.1 e.5 İSE SP 1.1 e • EĞER SP 1.1 d ve SP 1.1 e İSE SP 1.1’in I’sı GÜÇLÜDÜR, DEĞİLSE ZAYIFTIR. • Kanıtların durumlarına göre aşağıdaki gibi eksikliklerle ilgili öneriler sunulur: “Tasarım aşamasında Planlarını, Süreç tanımlarını, Ürün özelliklerini, İsterlerini, Arayüz tanımını, Tasarım verilerini, Çizimlerini birer konfigürasyon öğesi olarak tanımlamalısın.”
CMMI Asistanı Çıkarım Mekanizması-6/7 Kural 3: • EĞER SP 1.1’in D’siZAYIF ve SP 1.1’in I’sı ZAYIF İSE SP 1.1 UYGULANMAMIŞTIR. • EĞER SP 1.1’in D’si ZAYIF ve SP 1.1’in I’sı GÜÇLÜ veya SP 1.1’in D’si GÜÇLÜve SP 1.1’in I’sı ZAYIF İSE SP 1.1 KISMEN UYGULANMIŞTIR. • EĞER SP 1.1’in D’si GÜÇLÜ ve SP 1.1’in I’sı GÜÇLÜ İSE SP 1.1 is BÜYÜK ÖLÇÜDE UYGULANMIŞ veya TAMAMEN UYGULANMIŞTIR. • Bütün özel ve genel pratikler bunun gibi değerlendirilir.
CMMI Asistanı Çıkarım Mekanizması-7/7 Kural 4: • EĞER SP 1.1 veSP 1.2 ve SP 1.3 BÜYÜK ÖLÇÜDE veya TAMAMEN UYGULANMIŞ İSE SG 1 KARŞILANMIŞTIR, DEĞİLSE SG 1 KARŞILANMAMIŞTIR. • Bütün özel ve genel amaçlar bu şekilde değerlendirilir. Kural 5: • EĞER SG 1 ve SG 2 ve SG 3 KARŞILANMIŞ İSE CM KARŞILANMIŞTIR, DEĞİLSE CM KARŞILANMAMIŞTIR. • Bütün süreç alanları aynı şekilde değerlendirilir.
CMMI Asistanı Kullanıcı Arayüzü-1/2 Şekil4-CMMI Asistanı Ana Sayfa
CMMI Asistanı Kullanıcı Arayüzü-2/2 Şekil 5-CMMI Asistanı CM SP 1.1 Soru Sayfası
Uygulama-TUBITAK BTE Şekil6- CMMI Asistanı TUBİTAK BTE Denetim Sonucu Sayfası
Uygulama-ABC Firması Şekil7- CMMI Asistanı ABC Firması Denetim Sonuç Sayfası
Sonuçlar • Uygulamaların neticesinde CMMI Asistanı’nın SCAMPI A denetimi öncesinde organizasyona aşağıdaki yararları sağladığı söylenebilir: • CMMI uygulamalarının anlaşılması ve yorumlanmasına ilişkin riskleri azaltmaktadır. • Kanıtları net bir şekilde kategorize etmektedir. • Proje üyeleri için sistemden ilişkili kanıtlara dayalı raporlar alınabilmektedir. • İç denetim sonuçlarını elde etmek daha az zaman almakta ve subjektif değerlendirme seviyesini azaltmaktadır. • Verdiği öneriler sayesinde uygulama eksikliklerinin olduğu alanların görülmesini sağlamaktadır. • SCAMPI A denetimi esnasında organizasyonun ilişkili kanıtları bulmalarını kolaylaştırmaktadır. • CMMI uygulama süreci büyük ölçüde azalmaktadır.
Gelecek Çalışmalar • CMMI Asistanı olgunluk düzeyleri 3, 4 ve 5 için de geliştirilebilir. • Sürekli gösterim şekli ile yapılabilir. • Sisteme öğrenme yeteneği ilave edilebilir. • Organizasyonun gelişim seviyesini değerlendirmek için istatistiksel analizler eklenebilir. • Yapay zeka teknikleri, etmen tabanlı sistemler yardımıyla geliştirilebilir. • ...
TEŞEKKÜRLER Nilgün GÖKMEN nilgun.gozbay@bte.tubitak.gov.tr