Web Tabanlı CMMI Süreç Yönetimi

advertisement
Akademik Bilişim’10 - XII. Akademik Bilişim Konferansı Bildirileri
10 - 12 Şubat 2010 Muğla Üniversitesi
Web Tabanlı CMMI Süreç Yönetimi Uygulamalarının Süreç ve
Yazılım Geliştirme Performansına Pozitif Etkileri
Y.Müh. Cemalettin Öcal Fidanboy1, Meral Yücel1, Prof.Dr. Mehmet Reşit Tolun2
TÜBİTAK, Ulusal Elektronik ve Kriptoloji Araştırma Enstitüsü, Ankara
Çankaya Üniversitesi, Bilgisayar Mühendisliği Bölümü, Ankara
ocal.fidanboy@tubitak.gov.tr, myucel@uekae.tubitak.gov.tr, tolun@cankaya.edu.tr
1
2
Özet: Bütünleşik Yetenek Olgunluk Modeli (CMMI), geliştirme süreçlerinin iyileştirilmesi amacıyla kullanılan en popüler süreç iyileştirme yetenek olgunluk modellerinden birisidir. CMMI,
geliştirme, teslimat ve bakıma kadar olan tüm ürün yaşam döngüsü için kullanılabilecek en iyi
pratikleri içerir. Temel amaç, etkin bir süreç yönetimi altyapısı oluşturmak, süreçleri etkin bir
şekilde kullanmak ve sürekli olarak iyileştirmektir. Bu kapsamda, süreçler doğru bir şekilde tasarlanmalı ve süreç değişiklikleri zamanında yapılmalıdır. Aynı zamanda, süreçlerdeki değişiklikler
ilgili personele bildirilmeli ve süreçlerin tüm personel tarafından etkin bir şekilde kullanılması
sağlanmalıdır. Kurumsallaşma için, sağlam bir süreç yönetimi mekanizması gereklidir.
Bu makalede, web tabanlı uygulamaların CMMI tabanlı süreç yönetimi faaliyetleri için katkısı
araştırılmış ve bahsedilen uygulamaların, süreç ve yazılım geliştirme performansına sağladığı
pozitif etkiler vurgulanmıştır. Bu amaçla, öncelikle, süreç yönetimi için web tabanlı uygulamaların sağladığı katkılar, CMMI süreç alanları temel alınarak incelenmiştir. Sonra, CMMI 2. Seviye
süreç alanlarından birisi olan Proje İzleme ve Kontrol Süreç Alanı için bir uygulama örneği verilmiştir. Yapılan çalışma sonucunda, CMMI Modeli kullanılarak yapılan süreç yönetimi çalışmalarındaki web tabanlı uygulamaların, yazılım geliştirme yapan kuruluşlara, geliştirme personelinin
performansı, yazılım kalite güvence denetimlerin etkinliğinin arttırılması, proje izleme ve kontrol
faaliyetlerine etkisi, süreç eğitimlerine etkisi, projeye özgü olarak uyarlanmış süreç dokümantasyonun etkin bir şekilde kullanılması ve süreç yönetimi uygulamalarında basılı dokümantasyonun
azaltılması açısından önemli katkılar sağladığı değerlendirilmiştir.
Anahtar Sözcükler: CMMI, Yazılım Kalitesi, Yazılım Süreç İyileştirme, Web Tabanlı Uygulamalar
The Positive Effects of Web-Based CMMI Process Management Applications for
Process and Software Development Performance.
Abstract: Capability Maturity Model Integration (CMMI) is one of the most popular process improvement maturity models that are used for improving development processes. CMMI consists
of best practices that cover the product lifecycle through development, delivery and maintenance.
The main purpose is to create an effective process management infrastructure, using the processes
effectively and improving processes continually. In this context, processes and procedures must
be designed correctly and the process changes must be made on time. At the same time, process
changes should be forwarded in time and should be used effectively by all staff. For institutionalization, robust process management mechanism is a must.
In this paper, the investigation of web-based applications for CMMI-based process management
activities is aimed. The positive effects of web-based CMMI process management applications
187
Web Tabanlı CMMI Süreç Yönetimi Uygulamalarının Süreç ve Yazılım Geliştirme Performansına Pozitif Etkileri
Cemalettin Öcal Fidanboy, Meral Yücel, Mehmet Reşit Tolun
for software process and development performance are emphasized. For this purpose, first, the
contributions of web-based applications are investigated from the point of CMMI. Then, an example about web-based Project Monitoring and Control (PMC) Process Area application was
given. As a result of this work, it is observed that applications of web-based process management
activities using CMMI process areas can make significant contributions to process management
efforts of companies by increasing the development personnel performance, effectiveness of software quality assurance audits, the positive effects of projects monitoring and control activities,
process trainings and process documentation.
Keywords: CMMI, Software Quality, Software Process Improvement, Web-Based Application.
1. Giriş
Günümüzde, yazılım ve sistem geliştirme konularında üretilen kalite ve süreç yönetimi model ve standartlarına duyulan ihtiyaç günden
güne artmaktadır. Özellikle, yazılım geliştirme
projeleri kapsamında yaşanan başarısızlıklar,
bu konuda faaliyet gösteren kurum ve kuruluşları, etkin bir yazılım kalite yönetim sistemi
kurma, kuruluş süreçlerini tanımlama, tanımlanan süreçleri etkin bir şekilde yönetme ve bu
süreçleri sürekli olarak iyileştirerek sistemin
sürekliliğini sağlama yoluna itmiştir.
Bütünleşik Yetenek Olgunluk Modeli (CMMI),
özellikle bilgi teknolojileri alanında kullanılan
en önemli süreç iyileştirme ve kalite yönetim
modellerinden birisidir. [1]. CMMI temel alınarak yapılan süreç iyileştirme çalışmalarındaki temel amaç, etkin bir süreç yönetimi altyapısı oluşturmak, projelerde bu süreçleri etkin bir
şekilde kullanmak ve yapılacak süreç iyileştirme faaliyetleri ile kuruluş süreçlerini sürekli
olarak iyileştirmektir.
Mühendislik, proje yönetimi, süreç yönetimi ve
destek süreçlerin doğru bir şekilde tasarlanması,
süreç dokümantasyonundaki değişikliklerin zamanında ve yeterli bir şekilde gerçekleştirilmesi,
yapılan bu değişikliklerin süreçleri kullanacak
olan personele zamanında iletilmesi ve süreçlerin ilgili tüm personel tarafından etkin bir şekilde
kullanımının sağlanması ile kuruluşların kurumsal iş yapış biçimlerinin şekillenmesi, standartlaşması ve tanımlı süreçlerin kontrollü bir şekilde iyileştirilmesi mümkün hale gelmektedir.
Bu makalede, CMMI süreçleri temel alınarak
gerçekleştirilecek süreç yönetimi faaliyetlerinde,
web tabanlı uygulamaların katkısı ve bahsedilen
web tabanlı uygulamaların, süreç ve yazılım geliştirme performansına sağladığı pozitif etkiler
araştırılmıştır. Bununla birlikte, CMMI 2. Seviye süreç alanlarından birisi olan Proje İzleme
ve Kontrol Süreç Alanı için bir uygulama örneği
verilmiştir. Yapılan çalışma sonucunda, CMMI
Modeli kullanılarak yapılan süreç yönetimi çalışmalarındaki web tabanlı uygulamalarının,
•
•
•
•
•
•
•
geliştirme personelinin performansı,
yazılım kalite güvence denetimlerin etkinliğinin arttırılması,
proje izleme ve kontrol faaliyetlerine
etkisi,
projeye özgü olarak uyarlanmış süreç dokümantasyonun kullanılması,
süreç eğitimlerinin etkinliğinin arttırılması,
süreç varlıklarının bakımında sağladığı
kolaylıklar ve
süreç yönetimi uygulamalarında kullanılan
dokümantasyonun azaltılması açısından
yazılım geliştirme yapan kuruluşlara önemli
katkılar sağladığı değerlendirilmiştir.
2. CMMI
(Bütünleşik Yetenek Olgunluk Modeli )
CMMI, dünyaca kabul görmüş en iyi pratiklerin sistematik şekilde tanımlandığı bir süreç
yönetimi modelidir. Bu model, savunma endüstrisi başta olmak üzere, bilgisayar yazılımı/
donanımı, bankacılık, telekomünikasyon ve
188
Akademik Bilişim’10 - XII. Akademik Bilişim Konferansı Bildirileri
10 - 12 Şubat 2010 Muğla Üniversitesi
otomobil üretimi gibi bir çok teknoloji alanında
kullanılmaktadır. CMMI, kuruluşların güçlü ve
zayıf yönlerinin analiz edilmesi amacıyla kullanılmakta olup, birçok disiplinin, tek bir süreç
iyileştirme çatısı altında entegre edilmesine
imkan veren bir modeldir. Bu model, kuruluşların mevcut süreçlerinin, ideal durumla kıyaslanmasını sağlayan bir araç niteliğindedir. [1].
CMMI, en iyi pratikleri vurgulamakla birlikte,
bu pratiklerin kuruluşlarda nasıl uygulanacağına ilişkin bir bilgi içermez. Kuruluşlar, en
yüksek süreç kalitesine ulaşmayı hedeflediklerinde, CMMI kapsamındaki gereksinimleri,
kendi süreç ihtiyaçlarına göre yorumlamak ve
uygulamak durumundadır [2].
Geliştirme için CMMI, ürün ve hizmetlere uygulanan geliştirme ve bakım faaliyetleri için
bir referans modeldir. Bu model, yazılım mühendisliği, sistem mühendisliği ve bütünleşik
süreç ve ürün geliştirme konularında genel
yaklaşımları içerir [1].
CMMI kapsamında toplam 22 süreç alanı mevcuttur. Her bir süreç alanı kendi içinde genel özel amaçlara ve pratiklere sahiptir [3].
CMMI, sürekli ve basamaklı gösterim şekli olmak üzere iki tip gösterim şekline sahiptir. Her
iki gösterim şekli de, model kapsamında tanımlanan temel bilgi ve kılavuzları kullanır. CMMI
sürekli gösterim şekli, Süreç Yönetimi, Proje
Yönetimi, Mühendislik ve Destek olmak üzere
4 süreç kategorisine ayrılır. Sürekli gösterim
şekliyle, süreç alanlarının yetenek seviyeleri
belirlenebilir. CMMI basamaklı gösterim şekli, kurumsal süreç iyileştirme çalışmaları için
önceden tanımlanmış bir yol haritası sağlar [1].
Basamaklı gösterim şekli ile kuruluşun olgunluk seviyesini 5 ana seviye ile değerlendirmek
mümkündür.
3. Süreç Yönetimi ve CMMI
CMMI Süreç Yönetimi kategorisinde aşağıdaki süreç alanları yer almaktadır [1]:
•
•
•
•
•
Kurumsal Süreç Tanımı
Kurumsal Süreç Odağı
Kurumsal Eğitim
Kurumsal Süreç Performansı
Kurumsal Yaratıcılık ve Yaygınlaştırma
Kurumsal Süreç Tanımı Süreç Alanı’nın süreç
yönetimi açısından temel amacı, kuruluşun
kullanılabilir süreç varlıkları setini, iş ortamı
standartlarını oluşturması ve bu setin sürekliliğini sağlamasıdır. Kuruluş bu süreç alanı
kapsamında, CMMI süreç alanlarının önerdiği
pratikler temelinde, ihtiyacı olan süreç varlıklarını (süreç tanımlamaları, iş akışları, prosedürler, formlar, şablonlar, kontrol listeleri v.b.)
hazırlamalı ve bu varlıkları konfigürasyon
yönetimi prensipleri dahilinde etkin bir şekilde yönetmelidir. Kurumsal Süreç Odağı Süreç
Alanı’ndaki temel amaç ise, üretilen süreç varlıkları seti temelinde yapılan proje uygulamaları ile, süreçlerin planlı ve sistematik bir şekilde iyileştirilmesini sağlamaktır.
Kuruluş, Kurumsal Süreç Performansı Süreç
Alanı ile kurumsal ve proje için tanımlı süreçlerinin performansını ölçebilmeli ve ölçme çıktılarını süreç kurumsal süreç iyileştirme amaçlı
olarak kullanmalıdır. Kurumsal Eğitim Süreç
Alanı kapsamında verilen süreç eğitimleri
ile, süreçlerin kuruluş personeli tarafından etkin bir şekilde kullanılabilmesi sağlanmalıdır.
Kurumsal Yaratıcılık ve Yaygınlaştırma Süreç
Alanı ile de, kuruma katma değer sağlayan yaratıcı iyileştirmeler seçilmeli, analiz edilmeli
ve kurum bazında yaygınlaştırılmalıdır.
4. CMMI Süreç Yönetimi Uygulamalarında
Web Tabanlı Uygulamaların Sağladığı
Pozitif Etkiler
CMMI kapsamındaki süreç yönetimi uygulamalarında, süreçlerin doğru bir şekilde tasarlanması, süreç dokümantasyonundaki değişikliklerin zamanında ve yeterli bir şekilde
gerçekleştirilmesi, yapılan bu değişikliklerin
süreçleri kullanacak olan personele zamanında
iletilmesi ve süreçlerin ilgili tüm personel ta-
189
Web Tabanlı CMMI Süreç Yönetimi Uygulamalarının Süreç ve Yazılım Geliştirme Performansına Pozitif Etkileri
Cemalettin Öcal Fidanboy, Meral Yücel, Mehmet Reşit Tolun
rafından etkin bir şekilde kullanımının sağlanması, etkin bir süreç yönetimi için en önemli
hususları oluşturmaktadır. Süreç yönetimi altyapısının web tabanlı bir şekilde oluşturulması, sayılan bu hususların etkinliğinin arttırılmasında önemli bir rol oynayacaktır.
Günümüzde, yazılım süreçlerin web tabanlı olarak modellenmesine imkan verecek bir çok araç
bulunmaktadır. Bahsedilen bu araçlar ile, mevcut süreç varlıklarının web tabanlı bir ortamda
yönetilmesi mümkün olmaktadır. Web tabanlı süreç yönetimi uygulamaları ile, süreçlerle
sağlanan bilgiye daha kolay ve hızlı bir şekilde
ulaşılabilmekte, süreçlerin girdi-çıktıları net bir
şekilde izlenebilmekte, süreçteki adımlardan sorumlu personelin yapacağı faaliyetler daha kolay ve akıcı bir şekilde takip edilebilmektedir.
Web tabanlı süreç yönetimi uygulamalarının
sağladığı pozitif etkilerin başında, geliştirme
personelinin sisteme dahil olmasında sağladığı
katkılar gelmektedir. Geliştirme personeli, birçok nedenlerle süreç bilgisine en kısa yoldan
ulaşmak istemekte ve çoğu zaman, basılı olarak hazırlanmış veya elektronik ortamda olsa
dahi kendisine fazlaca karmaşık gözüken süreç
dokümantasyonunu takip etmekte zorlanmaktadır. Web tabanlı süreç yönetimi uygulamaları sayesinde, personelin sisteme daha kolay
entegre olması sağlanabilmekte ve süreç kapsamında kendisinden beklenen görevleri daha
yeterli şekilde yerine getirdiği görülmektedir.
Web tabanlı süreç yönetimi uygulamalarının,
yazılım kalite güvence denetimleri açısından da
oldukça önemli avantajları bulunmaktadır. Kalite güvence denetimlerinde temel amaç, süreçlerin uygulanmasını ve süreçlerle ilgili iş ürünlerinin oluşturulmasını güvence altına almaktır.
Kalite güvence denetimlerinde, Proje Kalite
Yöneticisi’nin süreçler arasındaki ilişkileri çok
net bir şekilde görmesi gereklidir. Bir süreçte
üretilen çıktının, diğer bir sürece girdi sağladığı
dikkate alındığında, web tabanlı denetimlerin
süreç uygunsuzluğu veya iyileştirme önerisi tespitinde oldukça önemli bir rol oynadığı açıkça
görülecektir. Bu açılardan bakıldığında, yazılım
kalite güvence denetimlerinin web tabanlı süreç
yönetimi ortamları ile yapılması, denetim performansını ve denetimlerden beklenen çıktıların
kalitesini pozitif yönde arttıracaktır.
Şekil 1. CMMI Proje İzleme ve Kontrol Süreç Alanı için Web Tabanlı Bir Uygulama Örneği
190
Akademik Bilişim’10 - XII. Akademik Bilişim Konferansı Bildirileri
10 - 12 Şubat 2010 Muğla Üniversitesi
Proje izleme ve kontrol faaliyetlerinde, Proje
Yöneticileri tarafından, çoğu zaman süreç bilgisine ihtiyaç duyulmakta ve bu bilgiye çabuk ve
pratik bir şekilde ulaşılmak istenmektedir. Proje
Yöneticisi, süreç uygulamaları kapsamında karşılaştığı bir problemde, web tabanlı süreç yönetimi uygulamaları sayesinde, süreç bilgisine en
kısa zamanda ulaşılabilmekte ve ihtiyacı olan
bilgiyi kolay bir şekilde elde edebilmektedir.
Web tabanlı süreç yönetimi uygulamaları, süreç eğitimlerinin arttırılmasında önemli bir rol
oynamaktadır. Bu uygulamalar sayesinde personel, süreçler arasındaki ilişkileri ve kendisinin üstleneceği rolleri açık bir şekilde göreceği
için, verilen süreç eğitimlerimin performansı
oldukça yüksek olmaktadır.
CMMI, kurumsal süreç varlıkları seti içinden seçilen projeye özgü süreçlerin belirlenmesini ve
proje personelinin, proje ihtiyaçlarına göre uyarlanmış süreç varlıklarını kullanmasını istemektedir. Web tabanlı uygulamalar sayesinde, proje
personeli, projesi için gerekli olan tüm süreç
varlıklarına kolay bir şekilde ulaşabilmektedir.
Etkin bir kalite yönetim sisteminden beklenen
sonuç; en az dokümantasyonla, en etkin süreç
uygulamalarının yapılmasıdır. Bu açıdan bakıldığında, web tabanlı süreç yönetim uygulamaları ile, dokümantasyon en aza indirilebilmekte
ve buna paralel olarak süreç varlıklarının bakımı çok daha kolay hale gelmektedir.
5. Sonuç ve Öneriler
Sonuç olarak, CMMI Modeli kullanılarak yapılan süreç yönetimi çalışmaları kapsamındaki
web tabanlı uygulamaların, geliştirme personelinin performansı, yazılım kalite güvence denetimlerin etkinliğinin arttırılması, proje izleme
ve kontrol faaliyetlerine etkisi, süreç eğitimlerine etkisi, projeye özgü olarak uyarlanmış
süreç dokümantasyonun kullanım etkinliğinin
arttırılması ve süreç yönetimi uygulamalarında kullanılan dokümantasyonun azaltılması
açısından, yazılım geliştirme yapan kuruluşlara
önemli katkılar sağladığı değerlendirilmiştir.
6. Kaynaklar
[1] CMMI Product Team, “CMMI for Development, Version 1.2”, Carnegie Melon University, Software Engineering Institute, (2006).
[2] Chrissis M.B., Konrad M., Shrum S.,
“CMMI Second Edition, Guidelines for Process Integration and Product Improvement”,
SEI Series in Software Engineering, Addison Wesley, (2007).
[3] Ahern D. M., Clouse A., Turner R., “CMMI
Distilled: A Practical Introduction to Integrated
Process Improvement, Third Edition”, Addison Wesley Professional, (2008).
191
Download