Web Tabanlı CMMI Süreç Yönetimi Uygulamalarının Süreç ve

advertisement
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
1
2
TÜBİTAK, Ulusal Elektronik ve Kriptoloji Araştırma Enstitüsü, Ankara
Çankaya Üniversitesi, Bilgisayar Mühendisliği Bölümü, Ankara
[email protected], [email protected], [email protected]
Ö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 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 webbased 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
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ı,
denetimlerin

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
katkılar sağladığı değerlendirilmiştir.
2.
CMMI (Bütünleşik
Modeli )
Yetenek
önemli
Olgunluk
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 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
tarafı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.
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.
Şekil 1. CMMI Proje İzleme ve Kontrol Süreç Alanı için Web Tabanlı Bir Uygulama Örneği
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.
5.
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.
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.
Sonuç ve Öneriler
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).
Download