• Sonuç bulunamadı

Çeviklik Değerlendirme (AgilityMod) ve Süreç Yetenek Değerlendirme (SPICE) Modelleri Saha Uygulamaları

N/A
N/A
Protected

Academic year: 2021

Share "Çeviklik Değerlendirme (AgilityMod) ve Süreç Yetenek Değerlendirme (SPICE) Modelleri Saha Uygulamaları"

Copied!
12
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Çeviklik Değerlendirme (AgilityMod) ve Süreç

Yetenek Değerlendirme (SPICE) Modelleri Saha

Uygulamaları

Damla Yaşar1[0000−0002−9430−6849], Serhat Caner1, Hüseyin Ünlü1, Ali Yıldız2,

Arif Kürşat Karabayır1, Barış Sokat1, Burak Bilgin1, Gizem Arık1, Levent Anıl

Özen1, Osman Sönmeztürk1, Seren Seyvan1, and Onur

Demirörs1[0000−0001−6601−3937]

Bilgisayar Mühendisliği Bölümü, İzmir Yüksek Teknoloji Enstitüsü, İzmir, Türkiye {damlayasar, serhatcaner, huseyinunlu, arifkarabayir, barissokat,

burakbilgin, zekiyearik, osmansonmezturk, serenseyvan, onurdemirors}@iyte.edu.tr

Bilgi Grubu, İzmir, Turkey {ali.yildiz}@bg.com.tr

Özet. Yazılım süreci olgunluğu değerlendirme ve iyileştirme modelleri 1990’lardan bu yana birçok yazılım organizasyonu tarafından kullanıl-maktadır. Bu modeller içerisinde en sık kullanılanlar Yetenek Olgunluk Modeli (CMM) ve ISO 15504 / ISO 3300X Yazılım Süreç İyileştirme ve Yetenek Değerlendirme (SPICE) Modelidir. Çevik (Agile) yazılım geliş-tirme pratiklerinin bu yaklaşımlarla, uygun bir şekilde iyileştirilip iyileş-tirilemeyeceği ve var olan yaklaşımlardan hangilerinin günümüz organi-zasyonlarına daha uygun olduğu hakkında belirgin fikir ayrılıkları ve tar-tışmalar mevcuttur. Bu problemi ele almak için İzmir Yüksek Teknoloji Enstitüsü Bilgisayar Mühendisliği CENG515 dersi kapsamında yüksek lisans ve doktora öğrencileri tarafından çalıştıkları kurumlarda bir proje ile ilgili hem ISO 15504 hem de AgilityMod yaklaşımları kullanılarak ayrı ayrı değerlendirmeler yapılmıştır. Toplamda beş takım değerlendirmele-rini tamamladıktan sonra, sonuçlar analiz edilmiş ve hangi organizasyon-lar için hangi yaklaşımın daha uygun sonuçorganizasyon-lar verdiğine dair incelemeler yapılmıştır. Elde edilen sonuçlara göre, dört durum için AgilityMod; sü-reçlerin uygunluğu ve elde edilen sonuçların şirkete olan yararı yönünden daha uygun bulunmuştur. AgilityMod’u daha uygun bulan dört durumda incelenen şirketler çevik (Agile) yazılım geliştirme süreci, uygun bulun-mayan şirkette ise şelale (Waterfall) yazılım geliştirme süreci kullanıldığı görülmüştür.

Anahtar Kelimeler: Yazılım Süreç Olgunluğu, Yazılım Kalitesi, Süreç İyileştirme.

(2)

Agility Assessment (AgilityMod) and Process

Capability Assessment (SPICE) Models Field

Applications

Damla Yaşar1[0000−0002−9430−6849], Serhat Caner1, Hüseyin Ünlü1, Ali Yıldız2,

Arif Kürşat Karabayır1, Barış Sokat1, Burak Bilgin1, Gizem Arık1, Levent Anıl

Özen1, Osman Sönmeztürk1, Seren Seyvan1, and Onur

Demirörs1[0000−0001−6601−3937]

Department of Computer Engineering, Izmir Institute of Technology, İzmir, Turkey {damlayasar, serhatcaner, huseyinunlu, arifkarabayir, barissokat,

burakbilgin, zekiyearik, osmansonmezturk, serenseyvan, onurdemirors}@iyte.edu.tr

Bilgi Grubu, İzmir, Turkey {ali.yildiz}@bg.com.tr

Abstract. Software process maturity assessment and improvement mod-els have been used by many software organizations since the 1990s. The most commonly used models are Capability Maturity Model (CMM) and ISO 15504 / ISO 3300X Software Process Improvement and Ability As-sessment (SPICE) Model. There are clear disagreements and discussions about whether Agile software development processes can be improved with these approaches and which of the existing approaches are more suitable for today’s organizations. In order to tackle this problem, soft-ware process assessments were carried out separately using both ISO 15504 and AgilityMod approaches by the graduate and doctoral stu-dents within the scope of CENG515 course of Computer Engineering of İzmir Institute of Technology. After completing a total of five team as-sessments, the results were analyzed and examinations were conducted on which approaches gave more appropriate results for which organiza-tions. According to the results obtained, for four cases, AgilityMod was found more appropriate for the suitability of the processes and the ben-efit of the results to the company. It was observed that the companies which found AgilityMod more suitable in four cases were using Agile software development process, whereas one company which found ISO 15504 more suitable was using Waterfall software development process. Keywords: Software Process Maturity, Software Quality, Software Pro-cess Improvement.

1

Giriş

Günümüzde organizasyonlar hızla değişen teknoloji ve beklentilere ayak uydur-mak için sürekli bir değişim içerisindedir. Bu değişim, organizasyonun; strate-jisinin, kültürünün, süreçlerinin, organizasyonun kendisi üzerinde oluşturduğu

(3)

etkileri kapsamaktadır. Yazılım organizasyonlarının, yenilikçi uygulamaları ve pratikleri değerlendirip, kendileri için uygun olanları seçerek değişmeleri yaşam-sal öneme sahiptir. Bu amaç için 1990 yılından itibaren sektöre özgü yaklaşımlar geliştirilmiştir. Bu yaklaşımlar içerisinde en sık kullanılan SPICE (ISO–15504, ISO 3300X) [10,16] ve CMM (Capability Maturity Model) [17] olmuştur. Bu modellerin günümüz yazılım organizasyonlarında kullanımı ili ilgili belirgin fikir ayrılıkları ve tartışmalar olsa da Çevik (Agile) yazılım geliştirme süreçlerinin bu yaklaşımlarla, uygun bir şekilde iyileştirilebilirliği ve var olan yaklaşımlardan hangilerinin günümüz organizasyonlarına daha uygun olacağı ile ilgili kapsamlı bir çalışma bulunmamaktadır.

Bu araştırma kapsamında, önceden belirlenmiş organizasyonlar için, hem 15504 hem de AgilityMod yaklaşımları kullanılarak ayrı ayrı değerlendirmeler yapılmıştır. Bu değerlendirmeler ve sonuç analizleri; İzmir Yüksek Teknoloji En-stitüsü Bilgisayar Mühendisliği’nin CENG515 dersi kapsamında yüksek lisans ve doktora öğrencileri tarafından gerçekleştirilmiştir. Takımlar 5 ayrı metodolojiye sahip ve farklı büyüklükteki firmalar için her iki yaklaşımı da uygulayıp, hangi yaklaşımın, hangi özelliklere sahip organizasyonlar için daha uygun olacağını değerlendirmiş, sonuçları bu makalede tartışılmıştır.

Tüm değerlendirme ön sonuçları, diğer takımlar tarafından kritik edilip, gerekli ise revize ve geliştirme için tekrar ele alınmıştır. Tüm takımlar revizyon-ları tamamladıktan sonra, sonuçlar analiz edilmiş ve hangi organizasyonlar için hangi yaklaşımın daha uygun sonuçlar verdiğine dair incelemeler yapılmıştır. 2.bölümde; bahsedilen yaklaşımlarla ilişkili çalışmalar ve yaklaşımların özellik-lerinin karşılaştırılması yapılmıştır. 3.bölümde; takımların gerçekleştirmiş olduk-ları durum çalışmaolduk-larının tasarımı ve durum çalışmaolduk-larının sonuçolduk-ları detaylı bir şekilde anlatılmıştır. 4.bölümde; genel değerlendirme ve değerlendirme için kul-lanılan araçların analizi bulunmaktadır.

2

İlişkili Çalışmalar

Yazılım süreci olgunluğu değerlendirme ve iyileştirme modelleri birçok yazılım organizasyonu tarafından kullanılıp araştırmacılar tarafından incelenmiştir [7,8]. Bu modellerden en bilinenleri, Yetenek Olgunluk Modeli (CMM) [17], CMM’in ayrı modellerini bütünleştirmek ve standart hale getirmek amacıyla geliştirilen Yetenek Olgunluk Model Entegrasyonu (CMMI) [5] ve ISO 15504 / ISO 3300X Yazılım Süreç İyileştirme ve Yetenek Değerlendirme (SPICE) Modelidir [10,16]. Bu modeller farklı yazılım geliştirme süreç modelleri kullanan birçok organiza-syon için değerlendirme kıstası olmuştur.

Müşterilerin ihtiyaçlarına daha çabuk cevap veren esnek bir yapıda olan değişime adapte olmayı kolaylaştıran çevik (Agile) yazılım geliştirme yaklaşımının [6] yaygın bir şekilde kullanılmaya başlanması ile diğer bilinen modelleri kullanan organizasyonların yanı sıra önemli sayıda çevik modeli kullanan organizasyonun yazılım pratiklerini değerlendirme ve geliştirme ihtiyacı ortaya çıkmıştır [9,19]. Bu alanda çalışma yapan araştırmacılar, çevik yaklaşımlar için ISO 15504 ve CMM ile değerlendirme ve iyileştirmenin yanında başka yaklaşımlara ihtiyaç

(4)

olduğunu belirlemişlerdir [15,12]. Bu ihtiyacı karşılamak amacıyla birçok araştır-macı çevik model için çok sayıda çevik olgunluk değerlendirme modeli geliştir-ilmiştir [11,14,21].

Humble ve Russell’ın Çevik Olgunluk Modeli [11] gibi çevik yazılım için geliştirilen modellerden bazıları kısa açıklamalar, öneriler veya anketler şeklinde iken, Patel ve Ramachandran’ın Çevik Olgunluk Modeli [14] ve Yin’in Scrum Ol-gunluk Modeli [21] gibi bazıları da detaylı bir analize izin veren daha kapsamlı yapıdadırlar. Bu modeller, amaçlarına yönelik birçok niteliği karşılarken, çevik olgunluk değerlendirmesinde belirgin eksik yönleri bulunmaktadır [23]. Patel ve Ramachandran’ın modeli, detaylı açıklamarın eksikliği sebebi ile bütünlük, kul-landığı dil sebebi ile nesnellik bakımından eksik kalırken; Yin’in modeli sadece çevik yazılım geliştirme pratiği olan Scrum [18] için uygulanabilir yapıdadır ve genel bir çevik model kapsamı içermemektedir [13].

Özcan-Top ve Demirörs’ün AgilityMod çeviklik değerlendirme modeli [20], bahsi geçen modellere nazaran; kapsam, çeviklik seviyelerin uyumlu tanımı, nesnellik ve bütünlük nitelikleri ile çalışmamıza daha uygun bulunmuştur [22]. Ayrıca AgilityMod, ISO 15504 yaklaşımını temel alan bir notlandırma yaklaşımı içermektedir [20,22]. Bu sayede yapılan çalışmada ISO 15504 yaklaşımı ile yapıla-cak karşılaştırmayı kolaylaştırmakta ve geniş çapta bir değerlendirme kıstası sağlamaktadır. Bu sebeplerden ötürü, yaptığımız değerlendirme çalışmasında kullanılmasına karar verilmiştir.

ISO / IEC 15504, yazılım geliştirme süreçleri için değerlendirme kıstasları ile birlikte süreç geliştirme ve yetenek belirleme çerçevesidir [3]. 7 kısımdan oluşan 15504 modelinin 2. ve 5. kısımları AgilityMod için taban oluşturmuştur. İkinci bölümde değerlendirmenin gerçekleştirilmesi için gerekli aşamalar ve genel un-surlar tanımlıdır. Beşinci bölümde ise süreç değerlendirme modelinin detaylı bir tasviri bulunmaktadır. Yetenek ve süreç boyutları (capability dimension, process dimension), iş ürünleri ve uygulamalarıyla (work products and practices) tarif edilmiştir.

İki boyuttan oluşan 15504’ün yetenek boyutu, tamamlanmamıştan (incom-plete) iyileştirilene (optimizing) kadar 6 seviyeden oluşur. Süreç boyutu ise 3 kategoride toplanan 48 farklı süreçten meydana gelir [1,2]. Bu 3 kategori ise ku-ruluşa ait (organizational), temel (primary) ve yardımcı (supporting) süreçler olarak tanımlanır. Altı yetenek seviyesi bu süreçlerden bağımsız olarak 9 farklı süreç niteliği (process attribute) ile incelenir.

AgilityMod, ISO / IEC 15504’ün ölçüm pratiğini temel alan çevik yazılım geliştirme pratikleri için tasarlanmış temel farklılıklar içeren bir çerçevedir [20]. AgilityMod, Bakış açısı ve Çeviklik boyutlarını içermektedir (aspect dimen-tion, agility dimention). Çevik süreçlerden türetilmiş bakış açıları, keşif (explo-ration), geliştirme (construction), geçiş (transition) ve yönetim (management) olarak ayrılır. Diğer boyut olan çeviklik ise sırası ile uygulanmamış (not im-plemented), geçici (ad-hoc), yalın (lean) ve etkili (effective) olarak 4 seviyede incelenir. Başarısı elde edilen her bir seviye, ilgili bakış açısının çevikliğinin arttığının göstergesidir. Dört çeviklik seviyesi; basit (simple), tekrarlanan

(5)

(it-erative), teknik olarak mükemmel (technically excellent) ve öğrenen (learning) olarak 4 bakış açısı niteliği (aspect attribute) ile incelenir.

Her iki modelin de puanlama yöntemi aynıdır. İki modelde de uygulamalar, 4 seviyede derecelendirilir( Başarısız (Not Achieved), Kısmen Başarılı (Partially Achieved), Genellikle Başarılı (Largely Achieved), ve Tamamen Başarılı (Fully Achieved)).

3

Durum Çalışmaları

Durum çalışmaları için gereken verilerin toplanabilmesi için İzmir Yüksek Tekno-loji Enstitüsü Bilgisayar Mühendisliği öğrencileri ile çalışılmıştır. CENG515 der-sini alan, hepsi yüksek lisans ya da doktora yapan öğrenciler çalıştıkları yazılım geliştirme çalışmaları yürütülen kurumlarda bir proje ile ilgili hem 15504 hem de AgilityMod yaklaşımları kullanılarak ayrı ayrı değerlendirmeler yapmıştır. Toplamda 5 adet farklı büyüklükteki firmalar için her iki yaklaşım da değer-lendirilmiş, hangi yaklaşımın, hangi özelliklere sahip organizasyonlar için daha uygun olacağı analiz edilmiştir.

Tablo 1’de, gerçekleştirilen durum çalışmaları ile ilgili genel bilgiler verilmek-tedir. Modellerin değerlendirme yapısından dolayı, değerlendirilen süreçlerde fark-lılıklar bulunmaktadır. Bu farkfark-lılıklar kurumun yazılım geliştirme yaşam döngüsün-den kaynaklanmıştır.

Tablo 1. Gerçekleştirilen beş durum değerlendirmesi. Durumlar Şirket Sektörü Şirket Boyutu 15504 Kapsamında

Değerlendirilen Süreç

AgilityMod Kapsamında Değerlendirilen Süreç Durum A Bankacılık 450 kişilik yazılım ekibi ENG.8 - Yazılım Test Süreci Yazılım Geliştirme Süreci Durum B Ulaşım 35 kişilik yazılım ve donanım ekibi SPL.2 - Ürünün piyasaya sürümü Değişim Süreci Durum C Güvenlik Yazılımları 11 kişilik yazılım ekibi ENG.6 - Yazılım Geliştirme (Software Construction) Yazılım Geliştirme Süreci Durum D Bilişim 11 kişilik yazılım ekibi ENG.11 - Yazılım Bakım Süreci Yazılım Geçiş Süreci Durum E Bankacılık 450 kişilik yazılım ekibi ENG.6 - Yazılım Geliştirme (Software Construction) Yazılım Geliştirme Süreci

Durum A için ele alınan şirket, Scrum yöntemi ile yazılım geliştirmektedir. Yazılım geliştirme çalışmaları 2-3 haftalık döngülere (sprint) bölünmüştür. Her döngü başında planlama, her döngü sonunda ise yeniden inceleme (review) ve süreç değerlendirme toplantıları (retrospective meetings), ve her sabah günlük toplantılar gerçekleştirilmektedir. Bu kurumda 15504 ile seviye 3’e kadar yazı-lım test süreci değerlendirilmiştir. Değerlendirmeler yapılırken şirketin mevcut yapısı ve bu yapıyı nasıl geliştirebileceği konuları da ele alınmıştır. Değerlendir-meler “ISO 15504-5 An Exemplar Process Assessment Model” dokümanı referans alınarak yapılmıştır. Değerlendirme 4 kişilik bir ekip ile 2 kişi/gün sürmüştür. Değerlendirmenin sonuçları Tablo 2’de verilmiştir .

AgilityMod modeliyle yapılan değerlendirme sırasında Yapım Bakış Açısı de-ğerlendirilmiştir. Değerlendirmeler gerçekleştirilirken bir yazılım aracı (Asses-sAgility) kullanılmıştır [4]. Bu araç değerlendirme sürecinde ve değerlendirme sonucunda raporlama kısmında oldukça yararlı olmuştur. Değerlendirme 4 ki-şilik bir ekip için 1 kişi-gün sürmüştür. Sürenin kısalmasındaki önemli etkenler

(6)

Tablo 2. Durum A 15504 Değerlendirme Sonuçları.

Attributes PA 1.1 Process Performance PA 2.1 Performance Management PA 2.2 Work Product Management PA 3.1 Process Definition PA 3.2 Process Deployment Durum A

Sonuçları Fully Achieved Fully Achieved Fully Achieved Fully Achieved Fully Achieved

kullanılan araç ve takımın deneyimi olmuştur. AgilityMod modeliyle yapılan de-ğerlendirme sonucunda ise şirketin seviyesi “seviye 2 Lean” olarak bulunmuştur. Bu seviye kullanılan aracın raporunda aşağıdaki Tablo 5’deki gibi gösterilmiştir.

Tablo 3. Durum A AgilityMod Değerlendirme Sonuçları.

1.Ad-Hoc 2.Lean 3.Effective

AP1 AP2 AP3 AP4 GP 2.1.1 GP 2.1.2 GP 2.2.1 GP 2.2.2 GP 3.1.1 GP 3.1.2 GP 3.2.1 GP 3.2.2 GP 3.2.3 GP 3.2.4

Durum A FA FA FA FA FA FA LA FA FA FA FA PA FA FA

Modellerde değerlendirilmek üzere A şirketinden “Bilgi Teknolojileri Proje Yönetim” yaşam döngüsü seçilmiştir. 15504 için test aşaması, AgilityMod için ise geliştirme aşaması ele alınmıştır. Ek olarak, bilindiği üzere Scrum yöntemi ile geliştirilen projelerde , analiz, tasarım, geliştirme ve test süreçleri birbirini takip eden şekilde ve iç içe ilerlemektedir. Bu nedenle A şirketinde seçilen süreci sadece test boyutundan ele almak zor ve kısıtlayıcı olmuş ve şirkette gerçekleştiri-len sürece tam uymayan bir değergerçekleştiri-lendirmeye yol açmıştır. AgilityMod modeli ise ilgili bakış açısının bütün olarak değerlendirilmesine olanak sağlamıştır. Çünkü AgilityMod modelinin yapısı Agile olarak geliştirilen pratiklere uygun olarak, değerlendirmeye uyumlu sınırlar getirmektedir. Süreçler değerlendirilirken bü-tün olarak değerlendirilebilmiştir. Ve bu değerlendirmenin A şirketi açısından gerçekleştirilen etkinliklere daha yakın olduğu gözlenmiştir.

Durum B için ele alınan şirket, Şelale (Waterfall) yöntemi ile yazılım geliştir-mektedir. Müşteri ile yapılan anlaşmalar sonucu; analiz, tasarım, kodlama, test ve entegrasyon adımları sırası ile işlemektedir. Müşterilerin ilgili adımlarda içe-riği gözlemleme ve müdahale yetkisi, gizlilik sebebi ile bulunmamaktadır. 15504 ile seviye 3’e kadar değerlendirme yapılmıştır. Değerlendirmelerde şirketteki te-darik yapısı ele alınmıştır. Değerlendirmeler “ISO 15504-5 An Exemplar Process Assessment Model” dokümanı referans alınarak, bir araç kullanılmadan yapıl-mıştır. Değerlendirme 2 kişilik bir ekip tarafından gerçekleştirilmiş, 2 kişi/gün iş gücü gerektirmiştir. Değerlendirmenin sonuçları Tablo 4’de verilmiştir .

Tablo 4. Durum B 15504 Değerlendirme Sonuçları.

Attributes PA 1.1 Process Performance PA 2.1 Performance Management PA 2.2 Work Product Management PA 3.1 Process Definition PA 3.2 Process Deployment Durum B

Sonuçları Fully Achieved Fully Achieved Largely Achieved Largely Achieved Partially Achieved

AgilityMod modeliyle yapılan değerlendirme Geçiş (Transition) bakış açısın-dan yapılmıştır. Değerlendirmeler gerçekleştirilirken bir araç kullanılmamıştır. Değerlendirme 2 kişilik bir ekip tarafından yapılmış 2 kişi-gün efor

(7)

gerektirmiş-tir. AgilityMod modeliyle yapılan değerlendirme sonucunda ise şirketin seviyesi “seviye 1 Ad-Hoc” olarak bulunmuştur. Değerlendirmenin sonucu aşağıdadır.

Tablo 5. Durum B AgilityMod Değerlendirme Sonuçları.

1.Ad-Hoc 2.Lean 3.Effective

AP1 AP2 AP3 AP4 AP5 AP6 GP 2.1.1 GP 2.1.2 GP 2.2.1 GP 2.2.2 GP 3.1.1 GP 3.1.2 GP 3.2.1 GP 3.2.2 GP 3.2.3 GP 3.2.4 Durum B FA LA FA PA NA NA NA NA FA PA NA PA FA NA FA NA

Modellerde değerlendirilmek üzere B şirketinden seçilen “Tedarik ve Bakım” süreci 15504 ile birebir uyumludur. Şelale yöntemi ile ilerleyen süreçlere sahip B şirketi için 15504 değerlendirmesi daha kolay olmuştur. Şelale modeli ile uyumlu bir süreç mimarisine sahip olan 15504 ile şirket için seçilen sürece karşılık gelen uyumlu süreç kolayca bulunmuştur. AgilityMod modeli ile değerlendirmede ek-sikliklere sebep olmuştur. Çevik modellere uygun şekilde tasarlanan AgilityMod, şelale yöntemi ile ilerleyen şirketin tedarik ve bakım sürecine birebir karşılık gelen bir bakış açısını içermemektedir.

Durum B için gerçekleştirilen karşılaştırma sonucunda 15504 daha yararlı bulunmuştur. Bunun sebebi Durum B içinde değerlendirilen sürecin şelale yön-temi ile ilerlemesi ve her bir sürecin birbirinden bağımsız olmasıdır. AgilityMod içerisinde değerlendirilen sürece karşılık uygun süreç tam olarak bulunamamıştır ve bulunan bakış açıları süreç bazında değerlendirmeye uygun değildir. Çeviklik boyutundan yapılan inceleme süreç için gerekli iyileştirme önerilerini bulmada yetersiz kalmıştır. Bu durum değerlendirmenin uzamasına sebep olmuştur. Bu noktada 15504, AgilityMod’a göre iyileştirme önerilerinin daha iyi görülmesini sağlamıştır. Çeviklik boyutundan yapılan değerlendirme, şelale yöntemi ile ilerle-yen süreçler için anlamlı sonuçlar üretmede kısır kalırken; olgunluk boyutundan yapılan değerlendirme, faydalı iyileştirme önerilerinin bulunmasını sağlamıştır. Sonuç olarak 15504 ile yapılan değerlendirme, AgilityMod ile yapılan değerlen-dirmeye göre kısa sürmüş ve daha yararlı sonuçlar vermiştir.

Durum C’de ele alınan şirket, 11 çalışana sahip ve güvenlik yazılımlar üre-ten bir girişim şirketidir. Yazılım geliştirmede Scrum yöntemi kullanılmakta ve her bir döngü (sprint) genel olarak 2 hafta sürmektedir. Süreç yeteneği değer-lendirmesinde ISO 15504 Spice modelinde ENG 6. Yazılım Geliştirme (Software Construction) seviye 3, AgilityMod modelinde ise Geliştirme (Construction) Ba-kış Açısı ele alınmıştır. ISO 15504 Spice değerlendirmesi 3 kişilik bir ekip tara-fından 2 kişi-günde yapılmıştır. Değerlendirme sonuçları Tablo 6 ’de verilmiş-tir.Değerlendirme sonucuna göre şirket Yetenek seviyesi 1’i tam olarak başara-mamış durumdadır.

Tablo 6. Durum C 15504 Değerlendirme Sonuçları.

Attributes PA 1.1 Process Performance PA 2.1 Performance Management PA 2.2 Work Product Management PA 3.1 Process Definition PA 3.2 Process Deployment Durum C

(8)

AgilitMod modelinde değerlendirme 3 kişilik bir ekip tarafından 3 kişi-günde gerçekleştirilmiştir. Değerlendirme sonucuna göre şirket Yetenek seviyesi 1’i tam olarak başaramamış durumdadır.

Tablo 7. Durum C AgilityMod Değerlendirme Sonuçları.

1.Ad-Hoc 2.Lean 3.Effective

AP1 AP2 AP3 AP4 GP 2.1.1 GP 2.1.2 GP 2.2.1 GP 2.2.2 GP 3.1.1 GP 3.1.2 GP 3.2.1 GP 3.2.2 GP 3.2.3 GP 3.2.4

Durum C LA LA FA LA FA LA LA LA PA LA FA FA PA PA

ISO 15504 modelinde tanımlanan süreç sadece yazılım geliştirme sürecini ele almakta, AgilityMod modelinde ise ele alınan Yapım (Construction) Bakış Açısı ise yazılım geliştirme sürecini test süreci ile birlikte ele almaktadır. C şirketinde Agile yazılım geliştirmeye yönelik bir süreç izlendiği için ISO 15504 modelindeki Yazılım Geliştirme süreci tek başına değerlendirildiğinde Agile yazılım geliştirme yapısına tam uymamış ve değerlendirmeyi karmaşıklaştırmıştır. Yazılım Geliş-tirme Süreçi çıktılarının karşılıklarını bulmak zor olmuştur. AgilityMod mode-linde ise yazılım geliştirme ve test süreçleri bir bütün olarak ele alındığından C şirketinde yapılan değerlendirme daha kolay olmuş ve yürütülen etkinlikler ile uyumlu olmuştur. Sonuç olarak, AgilityMod modeli ile değerlendirme C şirke-tinde uygulanan sürece daha uygun olmuştur.

Durum C için genel olarak ele aldığımızda, AgilityMod ile değerlendirme daha kullanışlı ve sonuçlar daha yararlı bulunmuştur. C şirketinde çevik yazılım geliştirme mantığı benimsenmiş olduğu için ISO 15504 Spice Yazılım Geliştirme süreci dokümantasyon ve tanımlanması gereken süreçler yönünden şirkette pek karşılığını bulamamıştır. Bu nedenle ISO 15504 Spice modeli süreçlerin yanı sıra olgunluk (maturity) boyutunda da ele alınan şirket için uygulanabilir önerilerde bulunamamıştır. İki modeli karşılaştırdığımızda ise yine AgilitMod’un çevik ya-zılım geliştirmeye daha uygun olduğu görülmektedir. Değerlendirme sürecinde AgiltyMod’un şirkette var olan sürece daha uygun olduğu gözlenlenmiştir. De-ğerlendirme sonucu yapılan süreç iyileştirme önerilerde AgilitMod yine şirketteki yapıya uygunluğundan dolayı daha yararlı görülmüştür.

Durum D için ele alınan şirket, Scrum yöntemi kullanarak yazılım geliştir-mektedir. Haftalık döngüler (sprints) ile yazılım geliştirme süreci parçalara ay-rılır. Her döngü başında, genel kaynak planlaması, her gün sonunda yarım saat olarak belirlenen, günlük gelişmelerin gözden geçirilmesi ve 2 günde bir olmak üzere her sabah yine yarım saatlik günlük değerlendirme toplantıları yapılır. 15504 ile seviye 3’e kadar değerlendirme yapılmıştır. Değerlendirme ISO 15504-5 modeli referans alınarak şirketin mevcut yapısında bulunan eksiklikleri tanım-lamak üzere, manuel olarak gerçekleştirilmiştir. Değerlendirme 3 kişilik bir ekip için 3 kişi-gün sürmüştür. Değerlendirmenin sonuçları Tablo 8’de verilmiştir.

AgilityMod modeliyle yapılan değerlendirme sırasında Geçiş (Transition) Ba-kış Açısı incelenmiştir. Değerlendirmeler, modelin ilgili aracı kullanılarak yapıl-mış (AgilityMod) ve değerlendirme sonucu raporlama/dokümantasyon olmak üzere araç sayesinde otomatik elde edilmiştir. Değerlendirme, 3 kişi-gün

(9)

sürmüş-Tablo 8. Durum D 15504 Değerlendirme Sonuçları.

Attributes PA 1.1 Process Performance PA 2.1 Performance Management PA 2.2 Work Product Management PA 3.1 Process Definition PA 3.2 Process Deployment Durum D

Sonuçları Largely Achieved Largely Achieved Largely Achieved Largely Achieved Largely Achieved

tür. Bu sonuca göre test ettiğimiz şirketin seviyesi “seviye 2 Lean” olarak tespit edilmiştir. Bu seviye için oluşturulan rapor, Tablo 9’de verilmiştir.

Tablo 9. Durum D AgilityMod Değerlendirme Sonuçları.

1.Ad-Hoc 2.Lean 3.Effective

AP1 AP2 AP3 AP4 GP 2.1.1 GP 2.1.2 GP 2.2.1 GP 2.2.2 GP 3.1.1 GP 3.1.2 GP 3.2.1 GP 3.2.2 GP 3.2.3 GP 3.2.4

Durum D FA FA FA FA FA FA LA FA FA FA FA PA FA FA

Modellerde değerlendirmek üzere D şirketinden “Private Historical Dashboar-ding Software” projesi seçilmiştir. 15504 için bu projenin bakım ve onarım süreci, AgilityMod için ise bu projenin geçiş ve geliştirme bakış açısı ele alınmıştır. Ek olarak, D şirketinde bakım ve onarım işlemleri, müşteriden gelen geri bildirim-ler göz önünde bulundurularak, acil çözüm ekipbildirim-leri ile müşteri odaklı çözüme ulaştırılır. Bu da gösteriyor ki, D şirketinde geliştirme süreci, proje müşteriye ulaştıktan sonra dahi devam eder. Bu sebeple, ISO 15504-5 modelinde bize en uygun olarak belirlenen ENG.11 Yazılım Bakımı (Software Maintenance) süreci, sorunların ve çözümlerin önceden belirlenmesi gibi şirketin geliştirme sürecine uygun olmayan gerekliliklerinden ötürü, D şirketinin belirlenen sürecini tam an-lamıyla analiz etmesi açısından uyumlu değildir.

AgilityMod modeli ise ISO 15504’e nazaran daha başarılı bir profil oluştur-muştur. Esnek yapısı ve çevik proje geliştirme prensipleri göz önüne alınarak geliştirilmesi, D şirketinde belirlenen kapsamın analizini daha kolay ve daha ger-çeğe yakın yapabilmemize olanak sağlamıştır.

Durum D için ISO 15504 ve AgilityMod karşılaştırması sonucunda Agility-Mod yaklaşımının daha faydalı sonuçlar ürettiği değerlendirilmiştir. Buna ek olarak, seçilen süreç tanımı ISO 15504 model ile tam olarak örtüşse de Scrum yönetimi için anlamlı sonuçlar vermemiştir. AgilityMod süreçleri daha genel bir tanım olarak sınıflandırmasına karşın şirket yapısı için daha hızlı ve kullanışlı sonuçlar vermiştir. Agility mod için kullanılan araç modellemenin oluşmasında kolaylık sağlamıştır.

Durum E için ele alınan şirket, durum A’da ele alınan şirket ile aynı olup, 15504 kapsamında farklı bir proje değerlendirilmiştir. Süreç yeteneği değerlendirme-sinde ISO 15504 Spice modelinde ENG 6. Yazılım Geliştirme (Software Const-ruction) seviye 3, AgilityMod modelinde ise Geliştirme Bakış Açısı (Construction Aspect) ele alınmıştır. ISO 15504 Spice değerlendirmesi 3 kişi-günde yapılmıştır. Değerlendirme profili Tablo 10 ’de özetlenmiştir.

AgilitMod modelinde değerlendirme 3 kişi-günlük bir efor gerektirmiştir. De-ğerlendirme sonucuna göre şirket Yetenek seviyesi 3’e ulaşmış durumdadır.

(10)

Tablo 10. Durum E 15504 Değerlendirme Sonuçları.

Attributes PA 1.1 Process Performance PA 2.1 Performance Management PA 2.2 Work Product Management PA 3.1 Process Definition PA 3.2 Process Deployment Durum E

Sonuçları Fully Achieved Fully Achieved Fully Achieved Partially Achieved Partially Achieved

Tablo 11. Durum E AgilityMod Değerlendirme Sonuçları.

1.Ad-Hoc 2.Lean 3.Effective

AP1 AP2 AP3 AP4 GP 2.1.1 GP 2.1.2 GP 2.2.1 GP 2.2.2 GP 3.1.1 GP 3.1.2 GP 3.2.1 GP 3.2.2 GP 3.2.3 GP 3.2.4

Durum E FA FA FA FA LA FA FA LA FA LA LA FA FA FA

Durum E için ISO 15504 ve AgilityMod karşılaştırması sonucunda Agility-Mod’un şirket yapısı ile daha uyumlu olduğu sonucuna varılmıştır. Buna ek olarak, seçilen kapsam ISO 15504 model ile örtüşse de uygulanan etkinlikler için yararlı sonuçlar vermemiştir. Olgunluk boyutundan yapılan değerlendirme, uygulanabilir iyileştirme önerilerinin bulunmasında başarısız olmuştur. E şirke-tinde çevik yazılım geliştirme mantığı benimsenmiş olduğu için ISO 15504 Spice Yazılım Geliştirme süreci dokümantasyon ve tanımlanması gereken süreçler yö-nünden şirkette pek karşılığını bulamamıştır. AgilityMod süreçleri daha genel bir tanım olarak sınıflandırmasına karşın şirket yapısı için daha uyumlu ve kul-lanışlı sonuçlar üretmiştir. Çeviklik boyutundan yapılan değerlendirme, şirket için faydalı iyileştirme önerilerinin bulunmasını sağlamıştır.

4

Sonuç

Bu çalışmada, İzmir Yüksek Teknoloji Enstitüsü Bilgisayar Mühendisliği CENG 515 dersini alan yüksek lisans ve doktora öğrencileri tarafından 5 ayrı durum ele alınarak farklı şirketlerde SPICE Süreç Yeteneği Değerlendirme ve Agility-Mod Çeviklik Yeteneği Değerlendirme modellerine göre değerlendirme yapılmış-tır. Değerlendirmeler, Bankacılık, Ulaşım, Güvenlik Yazılımı, Bilişim sektörle-rinde, farklı büyüklüklerde 4 ayrı şirkette (2 grup aynı şirketin farklı projeleri ve süreçlerini ele almıştır) farklı süreçler ve bakış açıları üzerinde yapılmıştır. Şirketlerde uygulanan süreçlerin bulundukları yetenek seviyeleri dersi alan öğ-renci grupları tarafından ISO 15504 SPICE süreçlerine ve ilgili AgilityMod bakış açılarına göre analiz edilmiştir. ISO 15504 SPICE modeline göre yapılan değer-lendirmede, ele alınan durumlardan biri seviye 3, biri seviye 2, ikisi seviye 1 düzeyinde, biri ise seviye 1’in altında çıkmıştır. AgilityMod’a göre yapılan de-ğerlendirmede ise biri seviye 3, ikisi seviye 2, biri seviye 1 düzeyinde, biri ise seviye 1’in altında çıkmıştır. Ele alınan 3 ayrı durumda ISO 15504 SPICE ve AgilityMod’da farklı sonuçlar, diğer 2 durumda ise benzer yetenek seviyesi so-nuçları elde edilmiş gibi görünse de AgilityMod ve SPICE yetenek seviyeleri birbirinden farklı olduğundan karşılaştırılabilir değildir.

Yetenek seviyesi değerlendirmeleri yapıldıktan sonra gruplardan bu iki model ile ilgili karşılaştırma yapılması istenmiştir. Bu karşılaştırmada hangi modelin ele aldıkları şirket için daha uygun olduğu, modellerde seçilen süreçlerin şirketlerde işletilen etkinlikler ile uygunluğu ve elde edilen sonuçların şirkete olan yararı de-ğerlendirilmiştir. Elde edilen sonuçlara göre, 4 durum için AgilityMod’un bakış

(11)

açıları ve yetenek seviyeleri açılarından uygunluğu değerlendirilmiştir. Karşılaş-tırmalarda genel olarak ISO 15504 SPICE süreçlerinin şirket yazılım geliştirme yapısına tam örtüşmediği ve bu süreçler üzerinden yapılan değerlendirmede zor-lanıldığı, AgilityMod bakış açılarının şirket yazılım geliştirme yapısına daha uy-gun olduğu ve sonuçların şirkette uygulanabilir olduğu belirtilmiştir. Agility-Mod’u daha uygun bulan 4 durumda incelenen şirketler Çevik yazılım geliştirme yaklaşımı, uygun bulunmayan şirkette ise Şelale yazılım geliştirme yaklaşımı kul-lanılmaktadır. Uygunluğa ek olarak, AgilityMod değerlendirmesi çoğu grupta daha kısa sürede tamamlanmıştır. AgilityMod değerlendirmelerinin girildiği ve sonuç raporunun otomatik olarak üretildiği bir araç da ayrıca kullanılmıştır. Bu aracın değerlendirmeyi kolaylaştırdığı belirtilmiştir.

ISO 15504 SPICE modeli süreçleri Şelale yaşam döngüsü ile uyumlu bir mi-maride tanımlamaktadır. Bu yapı Şelale yaşam döngüsü ile yazılım geliştiren şirketler için daha uygun olmaktadır. Çevik prensiplerle uyumlu yazılım ge-liştiren şirketlerde ise yazılım bu bu tanımlı yöntemlerin belirlediği pratiklere bölünmekte bu da ISO 15504 SPICE modeli ile değerlendirilecek sürecin sınır-larını belirlemede güçlük yaratmaktadır. Ayrıca ISO 15504 SPICE modelinde belirtilen süreçler çevik yazılım geliştirme pratiklerine tam örtüşmediğinden de-netlemede bu pratiklerin şirkette tam anlamıyla uygulandığının belirlenmesi güç olmaktadır. AgilityMod modeli çevik yazılım geliştirme pratiklerini temel alarak geliştirildiğinden; çevik yazılım geliştiren şirketlerin uygulamalarının değerlendi-rilmesine daha uygun olmaktadır. AgilityMod modelindeki bakış açısı yaklaşımı çevik yazılım geliştirmedeki gibi bu pratikleri bir bütün olarak ele almakta ve çe-vik yazılım geliştirme pratiklerinin uygulanabilirliğini sorgulamaktadır. Bu yapı çevik yazılım geliştiren şirketlerde pratiklerin tam anlamıyla uygulandığını be-lirlemede ve sonuçlara göre iyileştirme yapılmasında kolaylık sağlamaktadır.

ISO 15504 SPICE modeli yazılım geliştirme süreçleri dışında farklı süreç gruplarını da içermektedir. Bu yazılım geliştirme süreçleri dışında faklı süreç-lerin yeteneğini belirlemek isteyen şirketlere yararlı olmaktadır. AgilityMod ise yazılım geliştirme süreçlerini kapsadığı için bu süreçler dışında farklı süreçlerin yeteneğinin belirlenmesinde kullanılamamaktadır.

ISO 15504 SPICE modelinde yer alan yetenek boyutu çevik yazılım geliştiren 4 şirket için tam anlamıyla karşılık bulamamıştır. Çevik yazılım geliştiren şir-ketlerde basamaklı bir yapı olmadığından yetenek boyutunun verdiği iyileştirme önerileri bu şirketler için uyumlu olmamıştır. AgilitMod modelindeki çeviklik boyutu ise bu 4 şirkette daha uygun iyileştirme önerileri oluşturmuştur.

Kaynakça

1. ISO/IEC 12207:1995/Amd.1:2002. Information technology — Software life cycle processes (2002)

2. ISO/IEC 12207:1995/Amd.2:2004 (2004)

3. International Organization for Standardization. ISO/IEC 15504 International Standard Information Technology – Software Process Assessment: Part 1–Part 7 (2008)

(12)

4. Adali, O.E., Top, Ö.Ö., Demirörs, O.: Assessment of agility in software organizati-ons with a web-based agility assessment tool. In: 2017 43rd Euromicro Conference on Software Engineering and Advanced Applications (SEAA). pp. 88–95. IEEE (2017)

5. Ahern, D.M., Clouse, A., Turner, R.: CMMI distilled: a practical introduction to integrated process improvement. Addison-Wesley Professional (2004)

6. Beck, K., Beedle, M., Van Bennekum, A., Cockburn, A., Cunningham, W., Fowler, M., Grenning, J., Highsmith, J., Hunt, A., Jeffries, R., et al.: Manifesto for agile software development (2001)

7. Becker, J., Knackstedt, R., Pöppelbuß, J.: Developing maturity models for it ma-nagement. Business & Information Systems Engineering 1(3), 213–222 (2009) 8. Becker, J., Niehaves, B., Poeppelbuss, J., Simons, A.: Maturity models in is

rese-arch. (01 2010)

9. Elssamadisy, A.: Agile Adoption Patterns: A Roadmap to Organizational Success (Adobe ebook). Addison-Wesley Professional (2008)

10. Garcia, S.M.: Evolving improvement paradigms: capability maturity models and iso/iec 15504 (pdtr). Software Process: Improvement and Practice 3(1), 47–58 (1997)

11. Humble, J., Russell, R.: The agile maturity model applied to building and releasing software. ThoughtWorks White Paper (2009)

12. Łukasiewicz, K., Miler, J.: Improving agility and discipline of software development with the scrum and cmmi. IET software 6(5), 416–422 (2012)

13. Ozcan-Top, O., Demirörs, O.: Assessment of agile maturity models: a multiple case study. In: International Conference on Software Process Improvement and Capability Determination. pp. 130–141. Springer (2013)

14. Patel, C., Ramachandran, M.: Agile maturity model (amm): A software process improvement framework for agile software development practices. International Journal of Software Engineering, IJSE 2(1), 3–28 (2009)

15. Paulk, M.C.: Extreme programming from a cmm perspective. IEEE software 18(6), 19–26 (2001)

16. Paulk, M.C.: A history of the capability maturity model for software. ASQ Software Quality Professional 12(1), 5–19 (2009)

17. Paulk, M.C., Curtis, B., Chrissis, M.B., Weber, C.V.: Capability maturity model, version 1.1. IEEE software 10(4), 18–27 (1993)

18. Schwaber, K.: Agile project management with Scrum. Microsoft press (2004) 19. Smith, G., Sidky, A.: Becoming Agile:–in an Imperfect World. Manning Greenwich

(2009)

20. Top, O., Demirörs, O.: Agilitymod: Software agility assessment reference model v3. 0 application: Case study results. In: Technical Report METU/II-TR-2014–40. Informatics Institute. Middle East Technical Universit (2014)

21. Yin, A., Figueiredo, S., da Silva, M.M.: Scrum maturity model. Proceedings of the ICSEA pp. 20–29 (2011)

22. Yürüm, O.R., Demirörs, O.: Agile maturity self-assessment surveys: a case study. In: 2017 43rd Euromicro Conference on Software Engineering and Advanced App-lications (SEAA). pp. 392–399. IEEE (2017)

23. Yürüm, O.R., Demirörs, O., Rabhi, F.: A comprehensive evaluation of agile ma-turity self-assessment surveys. In: International Conference on Software Process Improvement and Capability Determination. pp. 300–315. Springer (2018)

Şekil

Tablo 1. Gerçekleştirilen beş durum değerlendirmesi. Durumlar Şirket Sektörü Şirket Boyutu 15504 Kapsamında

Referanslar

Benzer Belgeler

Yapılan çalışma sonucunda, CMMI Modeli kullanılarak yapılan süreç yönetimi çalışmala- rındaki web tabanlı uygulamaların, yazılım geliştirme yapan kuruluşlara,

 Nesneye dayalı yazılım geliştirmek için var olan yöntemlerin deneyimler sonucu kabul gören en iyi özellikleri bir araya getirilerek tümleştirilmiş yazılım geliştirme

T k MM toplantıları tamamlandıktan sonra TBMM genel kuruluna sunulan 2011 bütçesi her yıl olduğu gibi, bu yıl da itirazlar, savunular arasında kabul edilmiş

Aslında güvenlik sadece yazılım geliştirme sürecinde değil, ağ kurulumu, veritabanı yönetimi gibi bilgi sistemleri ile ilgili tüm süreçlerde daha en

Brentano’yu sadece fenomenolojiyi Varoluşçuluğun temeli sayılan Husserl değil, Alexius Meinong’un (1853-1921) “nesne kuramı”nda fenomenolojiyi çıkış notası olarak

Platon için adalet, siyasal anlamda sınıfların kendi işini yapmasını ve bireysel anlamda ruhun bir işlevi olarak kişideki uyumu ifade etmektedir.. Adalet, “herkes kendi

[r]

 Uzun dönemli amaçlar, bir öğretim yılı sonunda Uzun dönemli amaçlar, bir öğretim yılı sonunda öğrencinin kazanması beklenen davranışlardır.. öğrencinin