<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Küçük Ölçekli Takımlar İçin TMM</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Enformatik Enstitüsü</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ankara erennarin.</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>@gmail.com</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>esadik@metu.edu.tr</string-name>
          <email>esadik@metu.edu.tr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Anahtar Kelimeler: Yazılım Yönetimi</institution>
          ,
          <addr-line>Yazılım Mühendisliği, Yazılım Test Mühendisliği, Süreç İyileştirme, TMM, CMM, Girişimcilik</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>METU</institution>
          ,
          <addr-line>Informatics Institue, Ankara</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>Özet. Yazılım endüstrisinde gelinen nokta, bilginin tekrar kullanımını kaçınılmaz hale getirmiştir. Özellikle uluslararası geçerliliği olan standartların süreçlerde kullanımı, projelerin maliyetlerini düşürmekte ve başarı olasılığını keskin bir şekilde arttırmaktadır. Ancak, kendini ispat etmiş ve uluslararası geçerliliğe ulaşmış standartların çoğu, büyük ölçekli organizasyonların bakış açısından geliştirilmiştir. İçinde bulunduğumuz ve “Girişimcilik Çağı” olarak adlandırılan bu çağda, küçük ölçekli organizasyonlar da yazılım endüstrisinde büyük rol oynamaktadırlar. Bu sebeple, küçük ölçekli firmaların bakış açısıyla geliştirilmiş standartlara olan ihtiyaç gün geçtikçe artmaktadır. Bu ihtiyaçtan yola çıkarak biz, bu çalışmada, uyarlanmış ve küçük ölçekli takımlar için özelleştirilmiş bir Test Olgunluk Modeli (TMM) geliştirmeyi hedefledik. Bu çalışma aynı zamanda, küçük takımların gereksinim, tasarım, kodlama gibi bütün süreçlerini kapsayan detaylı bir kalite rehberi oluşturma hedefimizin ilk adımıdır. TMM v2.0 dokümanı referans kaynak olarak kullanılmıştır ve bu dokümanın 2. ve 3. olgunluk seviyelerinin bütün pratiklerinin fayda/maliyet oranları, geçmiş tecrübeler ve akademik birikim kullanılarak puanlanmıştır. Bu puanlama aynı zamanda dört farklı vaka çalışması ile de desteklenmiştir. Vaka çalışmalarının katılımcıları teknokent yerleşkelerinde faaliyetlerini sürdüren küçük ölçekli yazılım firmalarından seçilmiştir. Puanlama işleminin sonunda pratikler yeniden önceliklendirilerek ve gruplandırılarak yeni olgunluk seviyeleri tanımlanmıştır. Bu yeni olgunluk seviyesi tanımları, küçük ölçekli takımların, yazılım test süreçlerini daha verimli yürütmelerinde yol gösterici olacaktır.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Modified TMM for Small Teams</p>
    </sec>
    <sec id="sec-2">
      <title>Eren Narin, Dr. Sadık Eşmelioğlu</title>
      <sec id="sec-2-1">
        <title>Genel Açıklama</title>
        <p>Yazılım endüstrisinde gelinen nokta, bilginin tekrar kullanımını kaçınılmaz hale
getirmiştir. Özellikle uluslararası geçerliliği olan standartların süreçlerde kullanımı,
projelerin maliyetlerini düşürmekte ve başarı olasılığını keskin bir şekilde
arttırmaktadır. Ancak, kendini ispat etmiş ve uluslararası geçerliliğe ulaşmış
standartların çoğu, büyük ölçekli organizasyonların bakış açısından geliştirilmiştir.</p>
        <p>Dünya genelinde en yaygın kullanılan yazılım standartlarından biri Yetenek
Olgunluk Modeli’dir (Capability Maturity Model). Bizim bu çalışmada konu aldığımız
Test Olgunluk Modeli de (Test Maturity Model) Yetenek Olgunluk Modeli’nden
türetilmiştir. Ancak en geniş kabul görmüş bu yazılım standartları, büyük projeler ve
geniş takımlar düşünülerek geliştirilmiştir. Bu standartları eksiksiz yerine getirmeye
çalışmak, eforlarının çoğunu varlıklarını sürdürmeye harcayan küçük işletmeler için
çok maliyetli olabilir. Bir diğer açıdan standartların her bir pratiğinin uygulanmasının,
küçük işletmeler için vazgeçilmez olduğunu söylemek de çok doğru bir yaklaşım
olmayabilir. Bütün bu sebeplerden dolayı biz, bu çalışmamızda, küçük işletmelerin
optimum eforla maksimum faydayı sağlayabilecekleri bir “Özelleşmiş Test Olgunluk
Modeli” geliştirmeyi hedefledik. Bu hedefimiz aynı zamanda, küçük işletmelerin
gereksinim, tasarım, kod geliştirme gibi bütün süreçlerini kapsayacak bir rehber
oluşturma hedefimizin de ilk adımıdır.
1.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Kısaltmalar</title>
        <p>CMM: Capability Maturity Model (Yetenek Olgunluk Modeli)
TMM: Test Maturity Model (Test Olgunluk Modeli)
1.3</p>
      </sec>
      <sec id="sec-2-3">
        <title>Doküman Organizasyonu</title>
        <p>Bu dokümanın ilk başlığı yapılan çalışmalarla ilgili kısa bilgileri ve kısaltmaları
içermektedir. İkinci başlıkta benzer akademik çalışmalardan bahsedilmiştir. “Küçük
Takım” tanımı ve bu tanımın kaynağı da bu başlıkta verilmiştir. Üçüncü başlık, bu
çalışmaya başlama motivasyonumuzu ve hedeflerimizi içermektedir. Çalışma sırasında
izlediğimiz yol ise dördüncü başlıkta açıklanmıştır. Çalışma sırasında uyguladığımız
vaka çalışmaları ile ilgili bütün detaylar beşinci başlıkta yer almaktadır. Altıncı ve son
başlıkta ise çalışmamızın sonuçları ve gelecek çalışmalar tartışılmıştır.
2
2.1</p>
        <sec id="sec-2-3-1">
          <title>Teknik Altyapı ve Tanımlar</title>
        </sec>
      </sec>
      <sec id="sec-2-4">
        <title>Literatür Taraması</title>
        <p>
          Literatürde, küçük takımlara bir rehber oluşturabilecek kadar çok çalışma
bulunmamaktadır. Küçük yazılım takımlarına yönelik öncü çalışmalardan biri, Mark C.
Paulk’un “Using Software CMM in Small Organizations (CMM’nin Küçük
İşletmelerde Uygulanması)” [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] çalışmasıdır. Bu çalışmada Paulk, “küçük” kelimesinin
karşılığını ve bu karşılığa etki eden kişi sayısı, zaman, proje büyüklüğü, ürün kritikliği
gibi parametreleri incelemektedir. Ayrıca, bizim bu çalışmadaki amaçlarımıza benzer
olarak, CMM’nin bütün pratikleri küçük organizasyonlarda uygulanmalı mıdır ve “iyi
süreç” tanımı organizasyondan organizasyona değişken midir gibi soruların cevaplarını
da aramaktadır. Bu alandaki bir diğer öncü çalışma ise, A. Laryd and T. Orci’nin
“Dynamic CMM for Small Organizations (Küçük Organizasyonlar için Dinamik
CMM)” [2] çalışmasıdır. Laryd ve Orci bu çalışmada küçük yazılım
organizasyonlarının karşılaştıkları zorluklardan bahsetmektedirler. Aynı zamanda
küçük organizasyonların yazılım endüstrisindeki önemini vurgulayarak küçük
organizasyonların süreçlerinin iyileştirilmesinin bütün endüstriye katkısı olacağını
savunmaktadırlar. Bunun sonucunda da “Dinamik CMM” ismini verdikleri yeni bir
standart ortaya koymaktadırlar.
2.2
        </p>
        <p>CMM ve TMM
CMM
CMM, etkili bir yazılım geliştirme sürecinin anahtar noktalarını tanımlayan bir yazılım
geliştirme standardıdır. Yazılım geliştirme ve yazılım bakımıyla ilişkili bütün
planlama, mühendislik ve yönetim aktiviteleri CMM’nin kapsamına dahildir. Bu
anahtar noktalar, organizasyonun maliyet, takvim, işlev ve kalite gereksinimlerini
karşılayabilme kabiliyetini arttırmaktadır [3].</p>
        <p>CMM, 5 farklı olgunluk seviyesi içermektedir. Bu seviyelerin kısa tanımları
aşağıdaki gibidir [4].</p>
        <p>Seviye 1 – Başlangıç: Başarının bireysel gayretlere dayandığı, çok az sayıda sürecin
tanımlı olduğu seviyedir. Bu seviye hariç diğer bütün seviyelerde o seviyelerin
ilgilendiği belirli konular olmasına rağmen bu seviyede yoktur.</p>
        <p>Seviye 2 – Tekrarlanabilir: Bu seviyede, ilk olarak yazılım gereksinimleri yönetilir ve
bu gereksinimler ile ilgili ürünler oluşturulur. Daha önceden hizmet verilen
organizasyona karşı verilen taahhütler, bu seviyede yine bu organizasyonun istek ve
revizyonlarına uygun şekilde tesis edilir, iki taraf arasında gözden geçirilip kontrol
edilir.</p>
        <p>Seviye 3 – Tanımlanmış: Bu seviyede, isminden de anlaşılacağı üzere tüm süreçler, artık
iyice tanımlanmış standartlar, prosedürler, araçlar ve metotlar ile anlatılmıştır. Bu
seviyedeki tüm süreçler, 2. seviyeye göre daha kapsamlı ve detaylı olarak
tanımlanmıştır.</p>
        <p>Seviye 4 – Yönetilen: Bu seviye yazılım süreçlerinin, iyileştirmeler öncesi son şeklini
almadan, tam anlamıyla yönetildiği ve tamamlandığı yerdir. Bu seviyede çeşitli
istatistiksel ve nicel ölçüm teknikleri kullanılarak süreçlerin performansları kontrol
edilir ve bu süreçlerin ileri zamanlardaki performansları öngörülebilir. Bu olay 4.
seviyeyi 3. seviyeden ayıran en önemli unsurdur.</p>
        <p>Seviye 5 – Optimize Edilen: 4. seviyede elde edilen veriler ve projelerin tamamlandığı
süreçte gelişen teknoloji ile bu seviyede sonuçlandırılan tüm projeleri iyileştirmeye ve
projelerden maksimum fayda sağlamaya çalışılır. Bu süreçte tüm organizasyon
projeleri iyileştirmeye odaklanmıştır.</p>
        <p>TMM
TMM, ilk olarak Illinois Teknoloji Enstitüsü’nde geliştirilen ve CMM’yi temel alan bir
test standardıdır. Test süreçlerinin iyileştirilmesini hedefler. TMM, farklı standartlar ile
beraber uygulanabildiği gibi tek başına da uygulanabilir.</p>
        <p>TMM de CMM gibi 5 farklı olgunluk seviyesine sahiptir. Bu seviyelerin kısa
tanımları aşağıdaki gibidir.</p>
        <p>Seviye 1 – Başlangıç: Bu seviyede organizasyon test için içgüdüsel yöntemler
kullanmaktadır, bu nedenle tekrar edilebilir değildir ve herhangi bir kalite standardı
bulunmamaktadır.</p>
        <p>Seviye 2 – Tanımlama: Bu seviyede test bir süreç olarak tanımlanmıştır, tanımlı
stratejiler, planlar bulunmaktadır. Bu seviyede testler, ürünün tamamlanmasıyla değil
de gereksinim aşamasından başlar.</p>
        <p>Seviye 3 – Entegrasyon: Bu seviyede test, yazılım döngüsüne entegre edilmiştir (Örn;
V Model). Yapılan testler, risk yönetimine dayanmakta ve yazılım geliştirmeden
bağımsızlaşmıştır.</p>
        <p>Seviye 4 – Yönetim ve Ölçüm: Bu seviyede test, gereksinim gözden geçirmeleri ve
tasarım da dahil olmak üzere yazılım yaşam döngüsünün her aşamasında yer
almaktadır. Dahili ve harici kalite kriterleri bütün ürünler için ortaktır.
Seviye 5 – Optimizasyon: Bu seviyede, test sürecinin kendisi test edilir ve her döngüde
süreç iyileştirilir. Bu seviyede hata önlemek, hata tespit etmekten daha önceliklidir.
2.3
“Küçük yazılım takımı” kavramı, birçok farklı akademik konferansta ve birçok farklı
akademik çalışmada tartışılmıştır. Bu tanımın birçok parametreye bağlı olarak
değişebilmesine karşın, literatürde yapılan küçük takım tanımlarının çoğu birbirine
yakındır. Yapılan bu tanımlar içerisinde, bizim çalışmamıza ve Türkiye’deki yazılım
endüstrisine en iyi uyum sağlayan tanımı Mark C. Paulk yapmıştır. Bu tanıma göre
küçük takım sınıflandırmaları aşağıdaki gibidir.</p>
        <p>
          Tablo 1. Yazılım takımlarının büyüklük kategorizasyonu [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]
“Küçük” Tanımı Ekipteki Kişi Sayısı
        </p>
        <p>Küçük 4-5
Çok Küçük 3</p>
        <p>Ufak 2
3</p>
        <p>Motivasyon ve Hedefler
“Girişimcilik Çağı” olarak adlandırılan bu çağda, küçük organizasyonların Pazar payı
günden güne artmaktadır. Özellikle yazılım endüstrisinde, küçük girişimler
teknolojinin gelişmesinde oldukça kritik bir yol oynamaktadırlar. Bunlara rağmen,
küçük takımların organizasyon süreçlerini iyileştirmeyi hedefleyen çok az akademik
çalışma bulunmaktadır. Yazılım Mühendisliği disiplininin ilk oluştuğu dönemlere
dayanan bir kültürün etkisiyle, günümüzde hala kapsamlı ve hantal diyebileceğimiz
standartlar baskındır. TMM de bu kapsamlı ve hantal standartlardan biridir.</p>
        <p>Kaliteyi arttırmak için standartlar hala en iyi seçeneklerdir. Ancak küçük takımlar,
söz konusu standartlardan faydalanmamalarının getireceği olumsuzlukları, çevik
organizasyon yapıları ve çalışkanlıkları ile aşabileceklerini düşünmektedirler. Bu
düşüncenin haklı yanları ile birlikte bu mantalite ile çalışmanın neden olacağı ekstra
maliyeti de tartışmak gereklidir. Bu ekstra maliyet, küçük takımların kolay adapte
olabilecekleri yeni bir standart tanımlamasını gerekli hale getirmektedir.</p>
        <p>Bu çalışmada hedefimiz, küçük takımlar için daha kullanılabilir ve daha kolay
anlaşılabilir bir özelleşmiş TMM standardı oluşturabilmektedir. Uzun vadede
hedefimiz ise, küçük yazılım takımlarının bütün süreçlerinde faydalanabilecekleri
kapsamlı bir kalite rehberi oluşturabilmektir. Bu çalışma da uzun vadeli hedefimizin ilk
adımıdır. Bu çalışmanın ardından planladığımız kısa vadeli çalışmalar ise bu
çalışmanın kapsamını genişletmeye ve doğruluğunu arttırmaya yönelik çalışmalardır.
4
4.1</p>
        <sec id="sec-2-4-1">
          <title>Yöntem</title>
        </sec>
      </sec>
      <sec id="sec-2-5">
        <title>Pratik Seçimi</title>
        <p>Bu çalışmada, yeniden değerlendirme ve sınıflandırma çalışmaları için TMM
standardının 2. ve 3. seviyeleri altında tanımlanan pratikler seçilmiştir. Bu iki seviye,
temel yazılım geliştirme süreçlerini düzenlemeyi ve devamlı bir kalite standardı
sağlamayı hedeflemektedir. TMM standardının hiçbir seviyesi bir diğerinden daha
önemli değildir ancak TMM 4. ve 5. seviye pratiklerinin küçük takımlar için önemi
daha düşüktür. Bu pratikler, daha fazla tecrübe ve daha fazla iş gücü gerektirmekle
beraber, düzenli bir kalite sağlandıktan sonra bu kalitenin daha da arttırılmasını ve
süreçlerin iyileştirilmesinin hedeflemektedirler. Bu tarz çalışmaların önceliği daha
düşüktür ve bizim amacımız küçük takımların minimum efor ile önceliği yüksek
pratikleri uygulayabilmeleridir. Bu nedenle ilk planda yeniden değerlendirme ve
sınıflandırma çalışmaları için TMM standardının 2. ve 3. seviyeleri altındaki pratikler
seçilmiştir.
4.2</p>
      </sec>
      <sec id="sec-2-6">
        <title>Pratik Değerlendirmesi</title>
        <p>Pratik seçiminden sonra bütün seçilen pratikler fayda/maliyet oranlarına göre
derecelendirilmişlerdir. Bu derecelendirme işlemi sırasında endüstriyel tecrübelerden
ve akademik birikimlerden faydalanılmıştır. Fayda/maliyet oranlarının tespit edilmesi
süresince kişisel görüşler, vaka çalışmaları ile de desteklenmiştir.</p>
        <p>Fayda ve maliyet katsayıları her pratik için 4 farklı seviyede değerlendirilmiştir;
düşük, orta ve yüksek. Fayda ve maliyet katsayıları birbirlerinden bağımsız bir şekilde
belirlenmiş, derecelendirme işleminin sonunda bileşik bir puan ilişkili pratiğe
verilmiştir. Aşağıdaki tablo, fayda ve maliyet katsayılarına göre pratiklere verilen puan
karşılıklarını göstermektedir.</p>
        <p>Bu puanlama işlemi süresince, küçük takımlar tarafından geliştirilmiş 4 farklı
başarılı proje vaka çalışmaları kapsamında incelendi. Bu projelerin ortak aktivitelerinin
fayda katsayıları yükseltilerek puanları arttırıldı.</p>
        <p>Maliyet katsayılarının doğru karşılığını belirlemek için vaka çalışmaları
kullanılmadı. Projelerdeki benzer aktivitelerin birbirinden çok farklı sürelerde
tamamlanmış olduğunun gözlemlenmesi üzerine, aşağıdaki maliyet katsayıları tablosu,
endüstriyel tecrübelerden faydalanılarak belirlendi.</p>
        <p>Tablo 3. Maliyet derecelendirilmesinde kullanılan maliyet katsayısı</p>
        <p>sınıflandırmaları</p>
      </sec>
      <sec id="sec-2-7">
        <title>Efor</title>
        <p>Efor &lt; 2-3 Adam Saat
2-3 &lt; Efor &lt; 10-12 Adam Saat
Efor &gt; 10-12 Adam Saat</p>
      </sec>
      <sec id="sec-2-8">
        <title>Maliyet Katsayısı</title>
        <p>Düşük
Orta
Yüksek
4.3</p>
      </sec>
      <sec id="sec-2-9">
        <title>Pratik Önceliklendirmesi</title>
        <p>Puanlama işleminin ardından her pratik, Tablo 2’deki kriterlere bağlı olarak bir öncelik
puanına sahip olmuş oldu. Önceliklendirmenin ardından yeniden gruplandırma, “Özel
Amaç (Specific Goal)” seviyesinde yapıldı. Bu nedenle özel amaç başlığının altında
yer alan pratiklerin öncelik puanlarının ortalaması, özel amaç başlığının öncelik puanı
olarak atandı. Ardından bu puanları kullanarak eleme yapabilmek için bir eşik değeri
belirlenmesi gerekiyordu. Bu eşik değeri organizasyonun büyüklüğü, ekibin tecrübesi,
projenin zorluk derecesi gibi birçok farklı parametreye göre farklılık gösterebilir. Bu
eşik değerini organizasyonlar kendi politikaları doğrultusunda değiştirerek, TMM’ye
harcayacakları eforu değiştirebilirler. Bizim burada birincil hedefimiz, TMM’nin bütün
pratiklerini kritiklik seviyelerine göre sıralayarak, farklı karakteristik özelliklerdeki
organizasyonların farklı eşikler belirleyerek kendilerine en uygun TMM tanımını
oluşturabilmeleridir.</p>
        <p>Sektör tecrübelerimize ve vaka çalışmaları sırasında yaptığımız gözlemlere
dayanarak, bu çalışmada, pratik elemesinde kullanacağımız eşik değerini 5,25 olarak
belirledik. Bu değer, tamamen puanlama sonrasında yapılan gözlemlere dayanan teorik
bir değerdir, değiştirilmesi bu çalışmanın ana çıktılarını etkilemez. Özel amaçların son
puanları ve elenme durumları Tablo 4 ve Tablo 5’te verilmiştir.</p>
        <p>Tablo 4. TMM Seviye 2 özel amaçlar öncelik puanlandırması
Özel Amaç Puan Elenme Durumu
Test Politikası Oluşturma 6,0 Elenmedi</p>
        <p>Test Stratejisi Kurma 5,6 Elenmedi
Performans Göstergelerini 3,0 Elendi</p>
        <p>Oluşturma
Ürün Risk Değerlendirmesi Yapma 5,0 Elendi
Test Yaklaşımı Oluşturma 5,8 Elenmedi
Test Tehminlerini Belirleme 4,3 Elendi</p>
        <p>Test Planı Geliştirme 5,4 Elenmedi
Plana Bağlılığı Takip Etme 3,3 Elendi</p>
        <p>Süreci İzleme 5,6 Elenmedi
Ürün Kalitesini İzleme 4,6 Elendi</p>
        <p>Düzeltici Eylemler 4,3 Elendi
Test Analizi ve Tasarımı 6,5 Elenmedi
Test Uygulamasının 4,2 Elendi</p>
        <p>Gerçekleştirilmesi</p>
        <p>Test Yürütme Faaliyetleri 4,7 Elendi
Test Bileşenlerinin Yönetimi 3,9 Elendi
Ortam Gereksinimlerinin 3,0 Elendi</p>
        <p>Geliştirilmesi
Ortam Gereksinimlerinin 3,7 Elendi</p>
        <p>Uygulanması
Ortamların Yönetilmesi ve Kontrolü 4,7 Elendi
Tablo 5. TMM Seviye 3 özel amaçlar öncelik puanlandırması
Özel Amaç Puan Elenme Durumu</p>
        <p>Test Organizasyonu Kurma 3,3 Elendi
Test Prosedürlerini Geliştirme 5,6 Elenmedi
Test Kariyer Yollarını Kurma 2,0 Elendi
Test Süreci İyileştirmelerini 5,0 Elendi</p>
        <p>Uygulama
Öğrenilen Dersleri Sonraki Test 2,6 Elendi</p>
        <p>Süreçlerine Dahil Etme
Test Eğitimi Planlaması Yapma 2,5 Elendi</p>
        <p>Test Eğitimleri Sağlama 5,3 Elenmedi
Organizasyonel Test Süreci 2,5 Elendi</p>
        <p>Varlıklarını Kurma
Test Modellerini Geliştirme 3,3 Elendi
Modellerine</p>
        <p>Entegre Etme</p>
        <p>Ana Test Planı Oluşturma
Ürünün İşlevsel Olmayan Risklerini</p>
        <p>Analiz Etme
İşlevsel Olmayan Gereksinimler</p>
        <p>için</p>
        <p>Test Yaklaşımı Belirleme
İşlevsel Olmayan Gereksinimler</p>
        <p>için
Belirlenen Testleri Analiz Etme</p>
        <p>ve Tasarlama
İşlevsel Olmayan Gereksinimler</p>
        <p>için
Belirlenen Testleri Gerçekleştirme
İşlevsel Olmayan Gereksinimler</p>
        <p>için
Belirlenen Testleri Uygulama
Denk Gözden Geçirmelerin</p>
        <p>Planlanması
Denk Gözden Geçirmelerin</p>
        <p>Uygulanması</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Elenmedi</title>
    </sec>
    <sec id="sec-4">
      <title>Elenmedi</title>
    </sec>
    <sec id="sec-5">
      <title>Elendi</title>
    </sec>
    <sec id="sec-6">
      <title>Elenmedi</title>
    </sec>
    <sec id="sec-7">
      <title>Elenmedi</title>
    </sec>
    <sec id="sec-8">
      <title>Elenmedi</title>
      <p>5
5.1</p>
      <sec id="sec-8-1">
        <title>Vaka Çalışmaları</title>
        <sec id="sec-8-1-1">
          <title>Vaka Çalışmalarının Uygulanması</title>
          <p>Vaka çalışmaları için, 4 farklı küçük ölçekli organizasyonun 4 farklı başarılı projesi
seçildi. Vaka çalışmalarının temel amacı, küçük ölçekli şirketler tarafından başarıyla
tamamlanmış projelerin ortak aktivitelerini tespit edebilmekti. Başarılı projelerin ortak
aktiviteleriyle ilişkili pratiklerin daha faydalı olduğu görüşüyle bu pratiklerin fayda
katsayıları daha yüksek olarak belirlendi. Ortak aktiviteleri belirleyebilmek için
TMM’nin bütün pratikleri bir anket formu haline getirildi ve katılımcılar her bir pratik
için “Uygulandı” veya “Uygulanmadı” cevabı verdiler.
5.2</p>
        </sec>
        <sec id="sec-8-1-2">
          <title>Organizasyon Profilleri</title>
          <p>Vaka çalışmalarına katılan her organizasyon, Ankara’daki farklı teknokent
yerleşkelerinde faaliyetlerini sürdürmektedirler. Organizasyonların yazılım ekiplerinin
büyüklükleri organizasyon büyüklükleri olarak kabul edildi. Katılımcı
organizasyonların genel bilgileri aşağıdaki gibidir.</p>
          <p>Tablo 6. Vaka çalışmalarına katılan organizasyonların büyüklükleri</p>
        </sec>
        <sec id="sec-8-1-3">
          <title>Organizasyon Büyüklük (Kişi) Kategori</title>
          <p>VÇ1 3 Çok Küçük
VÇ2 5 Küçük
Proje
Yöneticisi
Genel Müdür
Genel Müdür
Genel Müdür
2
4</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-9">
      <title>Ufak Küçük Organizasyonların proje veya takım liderleri organizasyonlarını temsilen vaka çalışmalarına katıldılar. Organizasyon temsilcilerinin genel bilgileri aşağıdaki gibidir.</title>
      <p>Vaka çalışmalarında konu alınan projelerin genel bilgileri de aşağıdaki gibidir.
TMM toplantılar, gözden geçirmeler gibi birçok kalabalık hareket etmeyi gerektiren
etkinlik de içermektedir. Ancak bu etkinliklerin birçoğu, küçük şirketlerde, ekip üyeleri
masalarını bile terk etmeden uygulanabilir. Hatta masadan masaya yapılan tartışmalar,
beyin fırtınaları, detaylı planlanmış toplantılardan çok daha verimli olabilir. Bu nedenle
TMM’de yer alan bireysel aktiviteler, küçük takımların gözünde ekip aktivitelerinden
daha önceliklidir.</p>
      <p>Vaka çalışmaları sırasında bir diğer göze çarpan nokta ise görev dağılımıdır. Küçük
ekipler genellikle çok keskin görev tanımlarına ve iş dağılımlarına sahip değildirler.
TMM, bütün iş paketlerini, projenin erken safhalarında belirleyip, görev dağılımlarının
yapılmasının önermektedir. Ancak bu çalışma şekli, küçük ekipler için uygun
olmayabilir. Küçük ekiplerin iş güçlerinin az olmasının yanı sıra, genellikle ekip
üyelerinin de benzer kabiliyetlere sahip oldukları gözlemlenmektedir. Bu nedenle her
işle herkes ilgilenebilmektedir. Bu sebeple, bütün iş paketleri projenin erken
safhalarında belirlense bile, görev dağılımlarının gün gün yapılması küçük ekipler için
daha verimli olabilir.</p>
      <p>Sürdürülebilir ve iyileştirilebilir bir kalite standardı sağlayabilmek, TMM’nin temel
amaçlarından biridir. Bu amaca yönelik bütün etkinlikler sadece büyük takımlar için
değil küçük takımlar için de oldukça önemlidir. Buna rağmen, bu süreç iyileştirme
etkinliklerinin önceliği küçük takımlar için daha düşük olabilir. Sürekli iyileştirme
endişesinin taşınması ve bu doğrultuda adımların atılması her büyüklükteki yazılım
şirketleri için önemlidir. Ancak, TMM’nin içerdiği süreç iyileştirme etkinlikleri çok
detaylı ve maliyetlidir. Küçük takımlar bu etkinlikleri uyguladıklarında elde edecekleri
faydayı, çok daha az eforla, bir araya getirilmiş ve sadeleştirilmiş etkinliklerle
sağlayabilirler. Bu nedenle bu amaca yönelik pratiklerin, daha yüksek olgunluk
seviyelerine ait olması verimi arttırabilir.
6</p>
      <sec id="sec-9-1">
        <title>Sonuç ve Gelecek Çalışmalar</title>
        <p>Günümüzde yazılım endüstrisi, ürünlerin ve süreçlerin kalitesini arttırmak için göz ardı
edilemeyecek miktarda efor sarf etmektedir. Kullanıcı beklentileri ve projelerin
büyüklükleri ile karmaşıklıkları günden güne büyürken, iyileştirme yapmak da günden
güne zorlaşmaktadır. Çeşitli girişimlerde ileriye dönük cesaret verici sonuçlar gözlense
de yazılım endüstrisi hala sıfır hatadan çok uzaktadır [5].</p>
        <p>Bütün standartlar tekrar eden tecrübelerin ve kazanımların bir ürünüdür. Bu nedenle
genel kabul görmüş standartları kullanmak, sürekli bir kalite sağlayabilmenin en hızlı
yoludur. Ancak standartların bütün organizasyonlara eşit derecede uygun olduğunu
söylemek doğru değildir. Bütün standartlar kendi alanlarında detaylı iş paketi
tanımlarına sahiptir ve bir organizasyonun bu standartların bütün yönlendirmelerini
takip etmeleri çok fazla iş gücüne sahip olmalarını gerektirmektedir. Bu nedenle küçük
bir organizasyon için bu standartları uygulamak demek asıl geliştirme işlemlerine vakit
ayıramamaları anlamına gelebilir. Bütün bunlar, standartların ana amacını
kaybetmeden hazırlanmış ve daha az iş gücü gerektiren bir alt standart tanımının
olmasını gereklilik haline getirmektedir.</p>
        <p>Kalite tanımının neredeyse bütün organizasyonlar için aynı olmasının yanı sıra
kaliteyi sağlama yöntemi farklılık gösterebilir. Takımın büyüklüğü, takımın tecrübesi
ve takım uyumu gibi parametreler kaliteyi sağlama yöntemlerini farklılaştırabilir. Biz
bu çalışmada, takım büyüklüğünün kaliteyi sağlama yöntemi üzerindeki etkisini ele
aldık.</p>
        <p>Küçük organizasyonların pazar payları gün geçtikçe büyümektedir. Piyasa da
girişimciliği desteklemekte ve her yıl yeni birçok yazılım şirketi kurulmaya devam
etmektedir. Bu sınıfa dahil olan organizasyonlardaki takımlar genellikle kesin görev
dağılımlarına sahip değillerdir. Standartlar genellikle organizasyonel bir hiyerarşinin
varlığını ve kesin görev tanımlarının yapılmasını gerekli kılmaktadır. Bu nedenle
standartların önerdiği yöntemler küçük takımların çalışma yöntemleriyle yeterince
örtüşmemektedir. Ancak küçük takımların da kendi avantajları bulunmaktadır. Büyük
organizasyonlarda çok fazla iş gücü gerektiren toplantılar veya gözden geçirmeler,
küçük takımlarda çok daha hızlı ve etkili yapılabilmektedir. Bu gerçeği de yaptığımız
pratik önceliklendirmesinde göz önünde bulundurduk.</p>
        <p>Yapılan pratik değerlendirmelerinde endüstriyel tecrübelerden ve akademik
birikimden faydalanıldı. Ancak yeni bir alt standart tanımının yapılabilmesi için tecrübe
ve akademik birikim yeterli değildir. Bu nedenle çalışma süresince ortaya atılan
görüşler, uygulanan vaka çalışmaları ile desteklendi. TMM’nin 2. ve 3. seviyeleri
altında yer alan pratikler bir anket formu haline getirildi. Vaka çalışmasına katılan
organizasyonlardan ilgili pratikleri kendi projelerinde uygulayıp uygulamadıklarını
beyan etmeleri istendi. Bu işlem katılımcılara bire bir röportaj yöntemi ile uygulandı.
Vaka çalışmalarının sonucunda pratik değerlendirmeleri tekrar düzenlendi ve başarılı
projelerin ortak pratiklerinin etki katsayıları yükseltildi. Bu yöntem ile Türkiye
pazarında yer alan küçük organizasyonlara has değişkenler değerlendirme sonuçlarına
yansıtılmış oldu.</p>
        <p>Bu çalışmaların sonucunda, küçük takımlar için özelleşmiş bir TMM tanımı
hazırladık. Çalışmaların tamamı, küçük takımların ve girişimcilerin gözünden
yürütüldü. Hacettepe Teknokent’te ve ODTÜ Teknokent’te yer alan girişimcilerin
görüşlerinden de çalışmaların yöntemine karar verilirken faydalanıldı. Ancak çalışma
süresince görüşülen küçük organizasyonların sayısı oldukça kısıtlıdır. Uygulanan vaka
çalışmalarının sayısını arttırarak “Özelleşmiş TMM”nin kapsamının genişletilmesi ve
doğruluğunun arttırılması, ileriye dönük hedeflerimizdendir.</p>
        <p>Gelecek çalışmalarda hedefimiz, küçük yazılım takımlarının gereksinim, tasarım,
geliştirme gibi bütün süreçlerinde takip edebilecekleri detaylı bir kalite rehberi
hazırlamaktır. “Özelleşmiş TMM” bu hedefimizin ilk adımıdır.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Paulk</surname>
          </string-name>
          , Mark C.
          <article-title>: Using the Software CMM in Small Organizations (</article-title>
          <year>1998</year>
          ). 2.
          <string-name>
            <surname>Laryd</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Orci</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Dynamic CMM for Small Organizations (</article-title>
          <year>1999</year>
          ). 3.
          <string-name>
            <surname>Kumta</surname>
            ,
            <given-names>M. D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gita</surname>
            <given-names>A.: Capability</given-names>
          </string-name>
          <string-name>
            <surname>Maturity Model</surname>
          </string-name>
          (
          <year>2002</year>
          ). 4.
          <string-name>
            <surname>Paulk</surname>
            ,
            <given-names>Mark C.</given-names>
          </string-name>
          :
          <string-name>
            <surname>The Capability Maturity Model: A Summary</surname>
          </string-name>
          (
          <year>1999</year>
          ). 5.
          <string-name>
            <surname>Veenendaal</surname>
          </string-name>
          , E. v.:
          <string-name>
            <surname>Test Maturity Model Integration (TMMi)</surname>
          </string-name>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>