=Paper=
{{Paper
|id=Vol-1980/UYMS17_paper_27
|storemode=property
|title=Cevik Donusumun Etkilerini Nasil Olceriz? Orta Olcekli Bir Yazilim Kurumu Icin Bilgi Ihtiyaclari ve Metrikler(How Do We Measure the Effects of Agile Transformation? Information Needs and Metrics for a Medium-sized Software Company)
|pdfUrl=https://ceur-ws.org/Vol-1980/UYMS17_paper_27.pdf
|volume=Vol-1980
|authors=Feyza Nur Kilicaslan,Ayca Tarhan,Haluk Altunel
|dblpUrl=https://dblp.org/rec/conf/uyms/KilicaslanTA17
}}
==Cevik Donusumun Etkilerini Nasil Olceriz? Orta Olcekli Bir Yazilim Kurumu Icin Bilgi Ihtiyaclari ve Metrikler(How Do We Measure the Effects of Agile Transformation? Information Needs and Metrics for a Medium-sized Software Company)==
Çevik dönüşümün etkilerini nasıl ölçeriz? Orta ölçekli bir yazılım kurumu için bilgi ihtiyaçları ve metrikler Feyza Nur Kılıçaslan1, Ayça Tarhan1, Haluk Altunel2 1Yazılım Mühendisliği Araştırma Grubu (HUSE) Bilgisayar Mühendisliği Bölümü, Hacettepe Üniversitesi, Ankara Türkiye 2 Softtech, Ankara, Türkiye l {feyza.kilicaslan, atarhan}@hacettepe.edu.tr 2 haluk_altunel@hotmail.com Özet. Birçok yazılım kuruluşu çevik dönüşümün avantajlarından yararlanabil- mek için çalışma süreçlerini plan güdümlüden çevik yöntemlere doğru değiştir- meye başlamıştır. Böylece çevik yöntemlerin benimsenmesinin, yazılım kuruluş- larını nasıl etkilediği sıklıkla tartışılmaktadır. Çevik dönüşümün etkilerini ölç- mek, çevik yöntemlerin yazılım kuruluşlarına ne ölçüde katkı sağladığını değer- lendirmek ve anlamak açısından önemlidir. Bu çalışma, çevik dönüşümü gerçek- leştiren orta ölçekli bir yazılım kurumunda, dönüşümün etkilerini ölçmek ama- cıyla belirlenen bilgi ihtiyaçlarını ve metrikleri tanımlamaktadır. Ölçmeye temel olacak tanımları belirlerken öncelikle literatürde mevcut çalışmalar incelenmiş ve bu çalışmalardan çıkartılan metrikler; ölçtükleri iş, süreç, ürün ve kaynak var- lıklarına göre gruplanmıştır. Ardından yazılım kurumunda bu varlıklar açısından çevik dönüşümün etkilerini ölçmeyi sağlayacak bilgi ihtiyaçları, ISO 15939 Ya- zılım Ölçme Standardı rehber alınarak belirlenmiş ve literatürden derlenen met- riklerle ilişkilendirilmiştir. Sonuç olarak iş, süreç, ürün ve kaynak açılarından çe- vik dönüşümün etkilerini ölçmeyi sağlayacak bilgi indikatörleri (grafik, tablo, vb.) ve ilişkili ölçme yapıları (türetilmiş ve temel metrikler, ölçme fonksiyonları, vb.) tanımlanmıştır. Gelecek çalışmamızda bu bilgi ihtiyaçları üzerinden, yazılım kurumundaki çevik dönüşümün etkilerini ölçmeyi planlıyoruz. Oluşturduğumuz ölçüm tasarımının sadece çalıştığımız yazılım kurumu için değil, çevik dönü- şümü gerçekleştiren diğer birçok firma için de yol gösterici olacağını umuyoruz. Anahtar Kelimeler: Çevik dönüşüm, Yazılım metrikleri, Ölçüm tasarımı How do we measure the effects of agile transformation? Information needs and metrics for a medium-sized software company Abstract. Many organizations have started to change their working process from plan-driven to agile in order to leverage the benefits of agile transformation, so it 12 is frequently discussed how adopting agile methodologies affect software organ- izations. Measuring effects of agile transformation is important in terms of eval- uating and understanding to what extent agile methods contribute to software or- ganizations. This study describes a set of information needs and metrics that are designed to measure the effects of agile transformation in a medium-sized soft- ware organization that has been going through agile transformation. While defin- ing the base of measurement, firstly related studies in literature are examined, and metrics derived from these studies are grouped by the measured entities of business, process, product and resource. The information needs for measuring effects of agile transformation are determined by the guidance of ISO 15939 standard for Software Measurement Process, and then are correlated with the metrics compiled from the literature. As a result, information indicators (graphs, tables etc.) and associated measurement constructs (derived and base metrics, measurement functions etc.) that enable measuring impacts of agile transfor- mation are described from business, process, product and resource perspectives. In our future work, we plan to measure the effects of agile transformation in the software organization using these information needs. We hope that our measure- ment design will be guide not only for the software company we work with, but also for many other organizations who adopt agile transformation. Keywords: Agile transformation, Software metrics, Measurement design 1 Giriş Çevik yazılım geliştirme yöntemleri, ürün teslimatını hızlandırması, değişen öncelikleri yönetme becerisini geliştirmesi, üretkenliği arttırması ve yazılım kalitesini iyileştirmesi [1] gibi sebeplerle farklı büyüklükteki firmalar arasında oldukça yaygınlaşmakta ve her yıl sektörde artan oranda benimsenmektedir. Bununla birlikte çevik dönüşümün yazı- lım firmalarını nasıl etkilediği birçok kez tartışma konusunu olmaktadır. Bu bağlamda çevik dönüşümün etkilerinin ölçülmesi, çevik yöntemlerin yazılım firmalarına sağla- dığı katkıların daha iyi anlaşılabilmesi ve değerlendirilebilmesi bakımından önemli bir yere sahiptir. Bir deneyim raporunda [2], Yahoo! Music’deki çevik dönüşümün üretkenliği ve ta- kım moralini önemli ölçüde artırdığı öne sürülmüştür. Başka bir şirket olan Primavera Systems tarafından, çevik yöntemlerin bir türü olan Scrum’ı uyguladıktan sonra müşteri tarafından bildirilen kusur sayısıyla ölçülen kalitede %30 artış olduğu bildirilmiştir [3]. Prochazka ve arkadaşlarının yaptığı bir çalışmada [4] ise “yeni bir çalışma yolu” olarak belirtilen çevik dönüşümün sonuç olarak müşteri ve takım memnuniyetini arttırmaya olanak sağladığı yönünde kanıtlar ortaya koyulmuştur. Çevik yazılım geliştirmenin birçok açıdan iyileştirmeler sağladığı düşünülse de [5, 6] bazı çalışmalar çevik dönüşüm çabalarından yeterince kazanım sağlanamadığını ya da çabaların başarısızlıkla sonuçlandığını bildirmiştir. Zamana yayılan bir vaka çalış- masında [7], çevik yazılım geliştirme yöntemi benimsendikten sonra takip edilen pro- jedeki hata yoğunluğunda önemli bir azalma ya da hata profillerinde değişiklik gözlem- lenmediği raporlanmıştır. Ericsson’daki bir pilot çevik dönüşüm projesi kapsamında 13 yapılan başka bir çalışmada [8] çevik çalışma yöntemlerinin projelerin başarı oranını arttırmadığı bildirilmiştir. Yukarıda bahsedilen hususlar çerçevesinde birçok yazılım kurumunun çevik yön- temleri uygulamaya başlamasıyla çevik dönüşümün etkilerini ölçmek mutlak bir ihtiyaç haline gelmiştir. Çevik dönüşümün firmaya sağladığı katkıların objektif bir şekilde öl- çülebilmesi de bilgi ihtiyaçlarına uygun metriklerin tanımlanmasıyla yapılabilir. Bu ça- lışmada, “Çevik dönüşümün etkilerini nasıl ölçeriz?” sorusuyla çevik dönüşüm öncesi ve sonrasını nicel olarak karşılaştırabilmeye olanak sağlayacak metrik tabanlı bir ölçüm tasarımı sunulmuştur. Bu ölçüm tasarımı, çevik dönüşüm gerçekleştirmiş orta ölçekli bir yazılım kurumuyla birlikte ve çevik dönüşümün iş, süreç, ürün ve kaynak üzerindeki etkilerini ölçmek üzere, tekrarlamalı olarak geliştirilmiştir. Makalenin ilerleyen kısımlarında; Bölüm 2’de literatürdeki ilgili çalışmalara yer ve- rilmiştir. Bölüm 3’de bu çalışmada kullanılan araştırma yöntemi tanımlanmıştır. Bölüm 4’de ölçüm tasarımı sunulmakta, Bölüm 5’de sonuçlar ve gelecek çalışmalara yer ve- rilmektedir. 2 İlgili çalışmalar Literatürde çevik yazılım ölçümüne [9-12] yönelik çalışmalar bulunsa da; geleneksel (çağlayan, spiral vb.) geliştirme metotları ile çevik geliştirmenin karşılaştırılmasına ola- nak sağlayarak çevik dönüşümün etkilerini ölçen metrik modeli ya da ölçüm tasarımı sunan az sayıda çalışma bulunmuştur. Bu alanda yapılmış çalışmalardan [13] ve [14] bir yazılım geliştirme organizasyonundaki çevik dönüşümün nicel olarak ölçülmesine yönelik bir metrik modeli sağlamıştır. Heidenberg ve arkadaşlarının yaptığı bir çalışmada [13], çevik ve yalın dönüşümün yazılım geliştirme organizasyonlarına etkilerini ölçmek için geliştirilen bir metrik mo- deli sunulmuştur. Olszewska ve arkadaşları yapmış oldukları çalışmada [14], çevik ve yalın dönüşümün etkilerini performans ve kalite bakımından ölçmeye yönelik metrikler sunmuşlardır. Korhonen’in vaka çalışmasında [15], çevik dönüşümün ilk on iki ayı bo- yunca büyük ölçekli bir firmadaki hata verileri analiz edilmiş; çevik dönüşüm öncesi ve sonrası hata raporlama uygulamasında değişimi sunulmuştur. Petersen ve Wohlin tarafından 2010 yılında yapılan vaka çalışmasında [16], plan güdümlü yazılım geliştirmeden çevik yönteme geçişin etkileri karşılaştırılmıştır. Bu vaka çalışmasında, firma çalışanlarıyla yapılan görüşmelerden toplanan nitel verilere odaklanılmıştır. Çevik yazılım geliştirmede Scrum master, test yöneticileri ve test gö- revlilerine odaklanan çalışmada [17], test metrikleri kullanılarak çağlayan modelden çevik modele geçişin etkileri karşılaştırılmıştır. Carnegie Mellon Üniversitesinde yapı- lan kontrollü deneysel çalışmada [18] ise sonuçlar ve takımlar tarafından üretilen met- rikler, şelale modelinden uçdeğer programlama (İng. Extreme Programming-XP) mo- deline geçişin avantaj ve dezavantajlarına bakmak için kullanılmıştır. 14 3 Araştırma yöntemi Bu çalışmada, Hedef-Soru-Metrik (İng. Goal-Question-Metric) yaklaşımı [19] benim- senerek halen devam etmekte olan çevik dönüşüm ile ilgili sistematik literatür harita- lama çalışmamızın makale havuzundan, ölçüm ile ilişkilendirilen makaleler [20] ince- lenmiştir. Çalışmanın hedefi, çevik dönüşümün etkilerini nicel olarak ölçmeyi sağlaya- cak bir ölçüm tasarımı ortaya çıkarmaktır. Bu hedefi adresleyen dört araştırma sorusu (AS) tanımlanmıştır. AS1: Çevik dönüşüm yazılım kurumunda işi (İng. Business) nasıl etkilemiştir? AS2: Çevik dönüşüm yazılım kurumunda süreci nasıl etkilemiştir? AS3: Çevik dönüşüm yazılım kurumunda ürünü nasıl etkilemiştir? AS4: Çevik dönüşüm yazılım kurumunda kaynağı nasıl etkilemiştir? İncelenen makalelerden, araştırma soruları kapsamında çevik dönüşümün etkilerini ölç- meye yönelik metrikler çıkarılmış ve bu metrikler ölçtükleri iş, süreç, ürün ve kaynak varlıklarına göre gruplandırılmıştır. Daha sonra çalıştığımız yazılım kurumunun bilgi ihtiyaçları göz önünde bulundurularak ve ISO 15939 Yazılım Ölçme Standardı [21] rehberliğinde, yazılım kurumunun işbirliği ile tekrarlamalı çalışarak bir ölçüm tasarımı ortaya çıkarılmıştır. Ölçüm tasarımının oluşturulmasında izlenen adımlar şeması Şekil 1’de sunulmuştur. Çevik dönüşüm öncesinde ve sonrasında ölçüm tasarımının durum karşılaştırmasında yararlı olmasını sağlamak amacıyla, tasarım metrikleri aşağıdaki kri- terler göz önünde bulundurularak ortaya konulmuştur. ─ Metrikler, hem plan güdümlü (şelale vb.) hem de çevik geliştirme yöntemine uygu- lanabilir olmalı. ─ Metrikler, geçmişteki (çevik dönüşüm öncesindeki) ve devam etmekte olan proje- lerden toplanabilir olmalı. ─ Metrikler, herhangi bir kapsam, boyut ve karmaşıklıktaki projelerden toplanabilir ve kullanılabilir olmalı. ─ Metrikler objektif olarak değerlendirmeye olanak sağlamalı. Geribesleme Bilgi Araştırma Literatürdeki Ölçüm Çalışma hedefinin ihtiyaçlarının sorularının çalışmaların tasarımının belirlenmesi gözden belirlenmesi incelenmesi yapılandırılması geçirilmesi Şekil 1. Ölçüm tasarımının oluşturulmasında izlenen adımlar 4 Ölçüm tasarımı Ölçüm tasarımı yapılandırılırken; iş, süreç, ürün ve kaynak açılarından çevik dönüşü- mün etkilerini ölçmeyi sağlayacak bilgi indikatörleri (grafik, tablo, vb.) ve ilişkili ölçme yapıları (türetilmiş ve temel metrikler, ölçme fonksiyonları, vb.) ISO 15939 Yazılım Ölçme Standardı rehberliğinde tanımlanmıştır. Bu ölçüm yapısı, ilgili yazılım özellik- lerinin (İng. Software Attribute) nasıl nicelleştirildiğini ve karar verme sürecine temel oluşturan indikatörlere nasıl dönüştürüldüğünü açıklamaktadır [22]. Ölçüm yapısının, 15 geleneksel yöntemlerle geliştirilmeye başlanılmış, sonrasında çevik dönüşüm gerçek- leştirilmiş ürünler üzerinde uygulanması hedeflenmektedir. Aşağıda ölçüm yapısıyla ilişkili kavramların açıklamalarına yer verilmiştir. ─ Bilgi ihtiyacı: Amaç ve hedeflere ulaşılabilmesi, risk ve sorunlarla baş edilebilmesi için gerekli olan bilgiler ─ Analiz birimi: Üzerinde analiz yapılacak temel öğe ─ Ölçme birimi: Aynı türdeki iki büyüklüğün oranlarını bir sayı olarak ifade ederek bunların karşılaştırılmasını sağlayan, genel kabul ile tanımlanmış büyüklük ─ Türetilmiş metrik: İki veya daha fazla temel metrik değerinin bir fonksiyonu ─ Temel metrik: Bir özellik (İng. Attribute) ve onu nicelleştirme yöntemi açısından tanımlanan metrik ─ Ölçme fonksiyonu: İki veya daha fazla temel metriği birleştirmek için uygulanan algoritma veya hesaplama ─ İndikatör yorumu: Beklenen durumların ya da çıktıların tanımlanması 4.1 Çevik dönüşüm yazılım kurumunda işi nasıl etkilemiştir? Çevik dönüşümü gerçekleştiren kurumların hedeflerinden biri de müşteriye dönüş hı- zını artırmaktır. Müşteriden gelen talebe karşılık verme esnekliğinin ölçülmesi, çevik dönüşümün işe yansıyan etkilerinin açıkça görülmesini mümkün kılar. İndikatör 1- Çevrim süresi ve bekleme süresi. Bu çalışmada çevrim süresi (İng. Cycle Time); müşteriden gelen talebin işleme ko- nulduğu andan, tamamlamasına kadar geçen süre olarak ele alınmaktadır. Bekleme sü- resi ise talebin işleme konulmadan önce işin yapılmaya hazır hale gelmesi için beklenen zaman dilimidir. Bilgi İhtiyacı Çevrim süresini ve bekleme süresini değerlendirmek Analiz Birimi Ürün Ölçme Birimi Zaman Türetilmiş Metrik(ler) 1.Ortalama çevrim süresi, 2.Ortalama bekleme süresi Ölçme Fonksiyonu 1. Toplam çevrim süresi / çevrim sayısı 2. Toplam bekleme süresi / bekleme sayısı Temel Metrik(ler) Çevrim süresi (ürüne yönelik talep başına), bekleme süresi (ürüne yönelik talep başına) İndikatör Yorumu Çevik yöntemlerle geliştirilen üründe, çevrim ve bekleme süresinin kısa olması; ayrıca bekleme süresinin çevrim sü- resine oranının düşük olması beklenir. İndikatör 2- Akış zamanı. Müşteriden talebin geldiği andan, talebin işlenip ürünün müşteriye teslim edildiği ana kadar geçen zaman dilimi akış zamanı (İng. Lead Time) olarak değerlendirilmiştir. Akış zamanı, talebin önceliklendirilmesi, doğru ürüne yönlendirilmesi, bekleme süresi, çevrim süresi gibi süreçlerin toplam zamanı olarak hesaplanır. 16 Bilgi İhtiyacı Akış zamanını değerlendirmek Analiz Birimi Ürün Ölçme Birimi Zaman Türetilmiş Metrik(ler) Ortalama akış zamanı Ölçme Fonksiyonu Toplam akış zamanı / akış sayısı Temel Metrik(ler) Akış zamanı (ürüne yönelik talep başına) İndikatör Yorumu Çevik yöntemlerle geliştirilen üründe, akış zamanının kısa süreli olması beklenir. 4.2 Çevik dönüşüm yazılım kurumunda süreci nasıl etkilemiştir? İndikatör 3- Test commit. Fonksiyonel test, bir doğrulama (İng. Verification) aktivitesi olarak yazılımın ta- nımlı gereksinimleri sağlayıp sağlanmadığının teyit edilmesi için yapılır. Yazılım test sürecinin son aşaması olan kullanıcı kabul testi, bir geçerleme (İng. Validation) aktivi- tesi olarak yazılımın kullanılması beklenen tipik senaryolarını kapsar. İndikatör 3 ya- pısına uygun temsili karşılaştırma grafiği Şekil 2’deki gibidir. 80 Test commit sayısı 60 40 20 0 Fonksiyonel test Kullanıcı kabul testi Şelale/ Plan Güdümlü Çevik Şekil 2. Fonksiyonel ve kullanıcı kabul test commit sayıları Bilgi İhtiyacı Fonksiyonel ve kullanıcı kabul testi “commit”lerini değer- lendirmek Analiz Birimi Ürün Ölçme Birimi Commit Türetilmiş Metrik(ler) 1. Toplam fonksiyonel test “commit” sayısı 2. Toplam kullanıcı kabul test “commit” sayısı Ölçme Fonksiyonu 1.Fonksiyonel test commit sayılarının toplanması 2.Kullanıcı kabul test commit sayılarının toplan- ması Temel Metrik(ler) Fonksiyonel ve kullanıcı kabul testlerindeki “commit” sayı- ları İndikatör Yorumu Çevik yöntemlerle geliştirilmiş üründe; fonksiyonel test “commit” sayısının, kullanıcı kabul test “commit” sayısına göre daha az olması ve bu azalış eğiminin de daha fazla ol- ması beklenir. 17 İndikatör 4- Test durumu etkililiği. Test durumu (İng. Test Case), test edilen bir sistemin gereksinimlerini yerine getirip getirmediğini ya da doğru bir şekilde çalışıp çalışmadığının gösterilmesi için kullanılan girdiler, gerçekleşmesi beklenen adımlar ve beklenen sonuçlardan oluşan bir dizi koşul ya da değişkendir. İndikatör 4 yapısına uygun temsili karşılaştırma grafiği Şekil 3’deki gibidir. 400 70% 60% 300 50% 40% 200 30% 100 20% 10% 0 0% Şelale/ Plan Güdümlü Çevik # hata # test durumu Test durumu etkililiği Şekil 3. Test durumu etkililiği Bilgi İhtiyacı Test durumu etkililiğini değerlendirmek Analiz Birimi Ürün Ölçme Birimi Hata, test durumu Türetilmiş Metrik(ler) Test durum etkililiği Ölçme Fonksiyonu Kaydedilen hata sayısı / Toplam test durum sayısı Temel Metrik(ler) Kaydedilen hata sayısı, test durum sayısı İndikatör Yorumu Çevik yöntemlerin kullanımında az sayıda test durumu ile çok sayıda hata yakalanması hedeflenir. İndikatör 5-Hata çözme başarısı. Müşterinin bildirdiği hataların ne kadarının çözüme kavuşturulduğunun ölçülmesi, hata çözme başarısı olarak değerlendirilmiştir. Bilgi İhtiyacı Hata çözme başarısını değerlendirmek Analiz Birimi Ürün Ölçme Birimi Hata Türetilmiş Metrik(ler) Hata çözme başarı oranı Ölçme Fonksiyonu Çözülen hata sayısı / Müşterinin bildirdiği hata sa- yısı Temel Metrik(ler) Müşteriden dönen hata sayısı, çözülen hata sayısı İndikatör Yorumu Çevik yöntemlerin hata çözme başarı oranının daha yüksek olması beklenir. 18 İndikatör 6- Açılan, kapatılan ve yeniden açılan hataların durumu. Geliştirme süreci boyunca ilk defa karşılaşılan sorunlar açılan hata, sorunların çö- zümlenmesi kapatılan hata [23], sorunların tam çözümlenmemesi ya da yeniden ortaya çıkması yeniden açılan hata olarak ele alınmaktadır. İndikatör 6 yapısına uygun temsili karşılaştırma grafiği Şekil 4’deki gibidir. 160 140 120 Hata sayısı 100 80 60 40 20 0 Tarih açılan hata kapatılan hata tekrar açılan hata Şekil 4. Şelale (Nis.16-Eyl.16) ve çevik (Eki.16-Mar.17) yöntemlerde hata durumu izleme Bilgi İhtiyacı Hataların durumunu değerlendirmek Analiz Birimi Ürün Ölçme Birimi Hata Türetilmiş Metrik(ler) 1. Ortalama açılan hata sayısı 2. Ortalama kapatılan hata sayısı 3. Ortalama yeniden açılan hata sayısı Ölçme Fonksiyonu 1. Toplam açılan hata sayısı / Ürün sayısı 2. Toplam kapatılan hata sayısı / Ürün sayısı 3. Toplam yeniden açılan hata sayısı / Ürün sayısı Temel Metrik(ler) Açılan hata sayısı, Kapatılan hata sayısı, Yeniden açılan hata sayısı İndikatör Yorumu Çevik yöntemlerle geliştirmede kapatılan hata sayısının açı- lan hata sayısına daha yakın bir değerde ve tekrar açılan hata sayısının da kapatılan hata sayısına daha yakın bir değerde olması beklenir. 4.3 Çevik dönüşüm yazılım kurumunda ürünü nasıl etkilemiştir? İndikatör 7- Hata yoğunluğu. Hata yoğunluğu, ürünlerin kalite değerlendirmesinde kullanılan önemli göstergeler- den biridir. Hata yoğunluğunun yüksek olması, düşük kaliteli ürün olarak değerlendi- rilmektedir. Yazılım büyüklük ölçümü için çalıştığımız firmanın işlev puanı (İng. Func- tion Point) verilerine erişilememesi sebebiyle ölçme birimi olarak kod satır sayısı kul- lanılmıştır. 19 Bilgi İhtiyacı Hata yoğunluklarını değerlendirmek Analiz Birimi Sürüm Ölçme Birimi Hata, kod satırı Türetilmiş Metrik(ler) Hata yoğunluğu Ölçme Fonksiyonu Sürümdeki toplam hata sayısı / Sürümün kod satır sayısı Temel Metrik(ler) Hata sayısı, sürüm sayısı, sürümün kod satır sayısı İndikatör Yorumu Çevik yöntemlerle geliştirmede hata yoğunluğunun düşmesi beklenir. İndikatör 8- Hatanın önem derecesi. Hatalar, yazılım kalitesi üzerinde oluşturduğu olumsuz etkinin şiddetini vurgulamak için önem derecesine göre sınıflandırılır. Bu çalışmada hatalar; düşük, orta, yüksek ve kritik olmak üzere dört sınıfa ayrılmıştır. Düşük önem derecesi; ürünün işlevselliğini ya da veriyi etkilemeyen, yazım denetimi/ dilbilgisi hataları ya da tasarımdaki yüzeysel hataları temsil eder. Orta önem derecesindeki hatalar; ürünün birincil özelliklerini veya işlevselliğini engellemezken, düşük dereceli hatalara göre daha büyük bir olumsuz etki oluştururlar. Ürünün tanımlı gereksinimlerini karşılamasını veya bir özelliğini yerine getirmesini engelleyen sorunlar, yüksek önem dereceli hata olarak sınıflandırılır. Kritik önem derecesindeki hatalar, çözümlenmedikçe ürünün işlevselliğini yerine getireme- diği, veri kaybına veya bozulmasına sebep olan hatalar olarak değerlendirilir. Bilgi İhtiyacı Hataların önem derecesini değerlendirmek Analiz Birimi Ürün Ölçme Birimi Hata Türetilmiş Metrik(ler) Toplam Hata Sayısı, her hata tipinin oranı Ölçme Fonksiyonu Hata tipine ait toplam hata sayısı / Tüm tipteki top- lam hata sayısı Temel Metrik(ler) Hata tipine göre hata sayısı İndikatör Yorumu Çevik yöntemlerle geliştirilen üründe her bir üst hata seviye- sinin, bir alt hata seviyesine göre daha düşük oranda hataya sahip olması beklenir. Örneğin kritik hata derecesindeki hata oranının, diğer hata seviyelerine göre en düşük oranda ol- ması beklenir. İndikatör 9- Müşteriden dönen hata (Gizli hata). Fonksiyonel test aşamasında tespit edilemeyip kullanıcı kabul testinde ortaya çıkan hatalar, ürün içindeki gizli hata veya müşteriden dönen hata olarak ele alınmaktadır. Bilgi İhtiyacı Müşteriden dönen hata durumunu değerlendirmek Analiz Birimi Ürün Ölçme Birimi Hata Türetilmiş Metrik(ler) Gizli hata sayısı yoğunluğu Ölçme Fonksiyonu Toplam gizli hata sayısı / Toplam hata sayısı Temel Metrik(ler) Gizli hata sayısı, Tespit edilen hataların toplam sayısı 20 İndikatör Yorumu Çevik yöntemlerle geliştirilmiş üründe, geliştirme sürecinde tespit edilen hata sayısı ile gizli hata sayısının toplamından ortaya çıkan toplam hata sayısı içinde gizli hata sayısının az olması beklenir. İndikatör 10- Kurallara uyum indeksi Kurallara Uyum İndeksi (İng. Rules Compliance Index) teknik kalite değerlendir- mesinde kullanılır. Sonar Qube [24] aracı üzerinden verimlilik (İng. Efficiency) , sür- dürülebilirlik (İng. Maintainability), taşınabilirlik (İng. Portability), güvenilirlik (İng. Reliability), kullanılabilirlik (İng. Usability) kategorileri için belirlenen kural setine göre ihlal yoğunluğu hesaplanır. Bilgi İhtiyacı Kurallara uyum indeksini değerlendirmek Analiz Birimi Ürün Ölçme Birimi Ağırlıklandırılmış ihlal, kod satırı Türetilmiş Metrik(ler) İhlal yoğunluğu Ölçme Fonksiyonu 100-(Ağırlıklandırılmış ihlaller / (Kod satır sayısı *100)) Temel Metrik(ler) Verimlilik, sürdürülebilirlik, taşınabilirlik, güvenilirlik, kul- lanılabilirlik İndikatör Yorumu Çevik yöntemlerle geliştirilmiş üründe; kurallara uyum in- deksinin yüksek olması, ihlal yoğunluğunun düşük olması beklenir. İndikatör 11- Çevrimsel karmaşıklık. McCabe’in çevrimsel karmaşıklığı (İng. Cyclomatic Complexity), bir yazılım prog- ramının karmaşıklığını nicelleştiren bir yazılım kalitesi metriğidir [25]. Karmaşıklık, program aracılığıyla kontrol akış diyagramını kullanarak doğrusal bağımsız yolların sayısının ölçülmesiyle çıkarılır. Bilgi İhtiyacı Ürünün karmaşıklığını değerlendirmek Analiz Birimi Ürün Ölçme Birimi Kontrol akış diyagramı Türetilmiş Metrik(ler) Çevrimsel karmaşıklık Ölçme Fonksiyonu Kenar sayısı-Düğüm sayısı+2*Programdaki bile- şen sayısı Temel Metrik(ler) Kenar sayısı, düğüm sayısı, programdaki bileşen sayısı İndikatör Yorumu Çevrimsel karmaşıklık değeri ne kadar yüksekse, program o kadar karmaşık ve hata eğilimli olarak değerlendirilir. Çev- rimsel karmaşıklık değerinin yüksek olması, programların bakım yapılabilirliğini ve test edilebilirliğini zorlaştırması sebebiyle istenmeyen bir durumdur. Çevik yöntemlerle ge- liştirilmiş üründe, çevrimsel karmaşıklığın düşük olması beklenir [26]. 21 4.4 Çevik dönüşüm yazılım kurumunda kaynağı nasıl etkilemiştir? İndikatör 12- Üretkenlik. Üretkenlik, takımın performans değerlendirmesinde kullanılan göstergelerden biri- dir. [27] Bilgi İhtiyacı Takımın üretkenliğini değerlendirmek Analiz Birimi Takım Ölçme Birimi Kod satırı, zaman Türetilmiş Metrik(ler) Ortalama Üretkenlik Ölçme Fonksiyonu Kod satır sayısı / Adam ay Temel Metrik(ler) Satır sayısı, adam ay İndikatör Yorumu Çevik geliştirme yöntemleriyle çalışan takımların üretkenli- ğinin yüksek olması beklenir. Takımın üretkenliğin yüksek olması, en az kaynak ve çaba sonuncunda en fazla çıktının elde edilmesi olarak değerlendirilir. 5 Sonuçlar ve gelecek çalışmalar Çevik yöntemlerin, yazılım kuruluşlarına ne ölçüde katkı sağladığını değerlendirmek ve anlamak açısından çevik dönüşümün etkilerini ölçmek bir ihtiyaç haline gelmiştir. Bu çalışmada, çevik dönüşümü gerçekleştiren orta ölçekli bir yazılım kurumunda, dö- nüşümün etkilerini ölçmek amacıyla belirlenen bilgi ihtiyaçları ve metrikler üzerinden bir ölçüm tasarımı tanımlanmıştır. Ölçüm tasarımı, literatürde yapılan araştırmalar ve çalıştığımız yazılım kurumunun iş birliği ile ISO 15939 Yazılım Ölçme Standardı reh- ber alınarak oluşturulmuştur. Ölçüm tasarımında kullanılan indikatör 7 ve 12 için yazı- lım büyüklüğünü ölçme birimlerinin çalıştığımız firma baz alınarak oluşturulması, kısıt olarak değerlendirilebilir. Gelecek çalışmamızda sunduğumuz bu ölçüm tasarımı ile yazılım kurumundaki çevik dönüşümün etkilerini ölçmeyi planlıyoruz. Oluşturduğu- muz ölçüm tasarımının sadece çalıştığımız yazılım kurumu için değil, çevik dönüşümü gerçekleştiren diğer birçok firma için de yol gösterici olacağını umuyoruz. Kaynaklar 1. One, V., 11th Annual State of Agile Report. 2017. 2. Cloke, G. Get your agile freak on! agile adoption at yahoo! music. Agile Conference (AGILE), IEEE, 2007. 3. Schatz, B. and Abdelshafi, I., Primavera gets agile: a successful transition to agile development. IEEE, 22(3): p. 36-42, 2005. 4. Prochazka, J., et al. Keeping the Spin--From Idea to Cash in 6 Weeks: Success Story of Agile/Lean Transformation. Global Software Engineering (ICGSE), 6th IEEE International Conference, 2011. 5. Tarhan, A. and Yilmaz, S.G., Systematic analyses and comparison of development performance and product quality of Incremental Process and Agile Process. Information and Software Technology, 56(5): p. 477-494, 2014. 22 6. Ozkan, N., Tarhan, A., and Kucuk, C., Scrum at Scale in a COBIT Compliant Environment: The Case of Turkiye Finans IT. 2017. 7. Li, J., Moe, N.B., and Dybå, T. Transition from a plan-driven process to scrum: a longitudinal case study on software quality. Proceedings of the ACM-IEEE international symposium on empirical software engineering and measurement, 2010. 8. Lagerberg, L. and Skude, T., The impact of agile principles and practices on large-scale software development projects: A multiple-case study of two software development projects at Ericsson. 2013. 9. Kunz, M., Dumke, R.R., and Schmietendorf, A., How to measure agile software development. Software Process and Product Measurement, Springer, p. 95-101, 2008. 10. Concas, G., et al. An agile development process and its assessment using quantitative object- oriented metrics. International Conference on Agile Processes and Extreme Programming in Software Engineering, Springer, 2008. 11. Dubinsky, Y., et al. Agile metrics at the israeli air force. Agile Conference Proceedings, IEEE, 2005. 12. Hayes, W., et al., Agile metrics: Progress monitoring of agile contractors. DTIC Document, 2014. 13. Heidenberg, J., et al. A metrics model to measure the impact of an agile transformation in large software development organizations. International Conference on Agile Software Development, Springer, 2013. 14. Olszewska, M., et al., Quantitatively measuring a large-scale agile transformation. Journal of Systems and Software, 117: p. 258-273, 2016. 15. Korhonen, K. Evaluating the effect of agile methods on software defect data and defect reporting practices-a case study. Quality of Information and Communications Technology (QUATIC), Seventh International Conference, IEEE, 2010. 16. Petersen, K. and Wohlin, C., The effect of moving from a plan-driven to an incremental software development approach with agile practices. Empirical Software Eng., 15(6): p. 654-693, 2010. 17. Gupta, R.K., Manikreddy, P., and Abhinandan, G. Challenges in Adapting Agile Testing in a Legacy Product. Global Software Eng. (ICGSE), IEEE 11th International Conference, 2016. 18. Ji, F. and Sedano, T. Comparing extreme programming and Waterfall project results. Software Engineering Education and Training (CSEE&T), 24th IEEE-CS Conference, 2011. 19. Van Solingen, R., et al., Goal question metric (gqm) approach. Encyclopedia of software engineering, 2002. 20. Kılıçaslan, F.N. and Tarhan, A. Online Paper Repository for 'Measuring the effects of agile transformation'. cited 2017; Available from: https://goo.gl/ZShQ16. 21. Standardization, I.O.f. ISO/IEC 15939:2002 Software engineering -- Software measurement process. Available from: https://www.iso.org/standard/29572.html. 22. McGarry, J., Practical software measurement: objective information for decision makers. Addison-Wesley Professional, 2002. 23. Korhonen, K., Evaluating the impact of an agile transformation: a longitudinal case study in a distributed context. Software Quality Journal, 21(4): p. 599-624, 2013 24. SonarQube. The leading product for Continuous Code Quality. cited 2017; Available from: https://www.sonarqube.org/. 25. McCabe, T.J., A complexity measure. IEEE Transactions on Software Eng. 1976(4): p. 308-320. 26. Sato, D., Goldman, A., and Kon, F. Tracking the evolution of object-oriented quality metrics on agile projects. International Conference on Extreme Programming and Agile Processes in Software Engineering. Springer, 2007. 27. Sureshchandra, K. and Shrinivasavadhani, J. Adopting agile in distributed development. Global Software Engineering, ICGSE, IEEE International Conference, 2008. 23