• Sonuç bulunamadı

Yazılım mühendisliği alanında, kişisel özelliklerin etkilerini incelemek üzere araştırmacılar farklı kişilik testleri kullanılarak çalışmalar yapmıştır. Çizelge 2’de bu konuda yapılan çalışmalar özet halinde yer almaktadır.

Çizelge 2.1. Yazılım mühendisliğinde kişisel özellikler ile ilgili yapılan çalışmalar

Yöntem Kapsam Yıl Kaynak

No Eşli programlama gözlemleme, Katılımcılar ile

görüşmeler.

Eşli Programlama için gereken kişisel özelliklerin

tespiti 2002 [10]

16PF kişilik testi kullanılmıştır Kişisel yeteneklere göre yazılım proje rol

tanımlarına uygun kişinin atanması 2004 [11]

MBTI (Myers Briggs Type Indicator) kişilik testi uygulanarak, kod bulgularını tespit edebilen kişilerin

gözlemlenmesi

Kod bulgularının tespitinde kişilik tiplerinin önemi 2007 [12]

Anahtar kelimeler kullanılarak makale veritabanlarından uygun çalışmaların tespit edilmesi

Yazılım Mühendisliğinde motivasyonu etkileyen

faktörlerin araştırılması 2007 [13]

Literatür taraması yapılmış, motivasyon yeni bir model

ile açıklanmıştır Motivasyon ile ilgili yeni bir model tespiti 2009 [14]

Beş faktör kişilik testi uygulanarak öğrenciler arasındaki kişilik farklarının eşli programlamaya

etkisinin tespiti

Eşli programlamanın 5 faktör kişilik boyutları ile

ilişkilendirilmesi 2009 [15]

Keirsey Temparement Sorter kişilik testi, diskriminant analiz.

Kişisel özellikler ve eşli programlama performansı

arasındaki ilişkinin tespiti 2009 [16]

Ses kayıtların analizi, Beş faktör kişilik modeli Eşli programlamada işbirliği ve kişilik arasındaki

ilişkinin tespiti 2009 [17]

Beş faktör kişilik boyutları İş tatmini ve ürün kalitesinin kişisel özellikler ile

ilişkisinin tespiti 2009 [18]

IPIP 50-item beş faktör kişilik testi İş tutumu ve kişilik tipleri arasındaki ilişki 2010 [19]

IPIP kişilik testi ve ANFIS(Bulanık mantık öğrenme

yöntemi) Yazılım projelerinde kişilik tiplerine uygun olarak

rol tanımlarına atama 2010 [20]

Beş faktör kişilik boyutları Tasarım desenlerine yaklaşım ve kişilik tipleri

arasındaki ilişki 2010 [21]

IPIP-NEO kişilik testi (Kısa versiyon). ANOVA ile analiz.

Sorumluluk özelliğinin eşli programlama üzerindeki

etkisinin incelenmesi 2010 [22]

MBTI Yazılım proje rol tanımları için uygun MBTI kişilik

tiplerinin tespit edilmesi 2010 [23]

MBTI, bulanık mantık (ağaç test modeli) MBTI kişilik tiplerine uygun olarak yazılım rol

tanımlarına atama işlemi 2011 [24]

Beş faktör kişilik boyutları Yazılım proje rol tanımları için uygun beş faktör

kişilik tiplerinin tespit edilmesi 2012 [25]

Beş faktör kişilik boyutları

Beş faktör model boyutlarından sorumluluk, deneyime açıklık ve duygusal dengenin eşli

programlamaya etkileri

2012 [26]

500 adet IT iş ilanının incelenmesi Yazılım proje rolleri için talep edilen yumuşak

becerilerin tespiti 2012 [27]

Kişilik ve iş tercihleri arasındaki ilişki Yazılım Mühendisliğinde duygusal zeka, kişilik ve iş

tercihleri arasındaki ilişkilerin incelenmesi 2014 [28]

Literatür taraması Yazılım Mühendisliğinde kişilik özellikleri ile ilgili

40 yıllık çalışmaların taraması 2015 [29]

MBTI kişilik tipleri kullanılmıştır. Yazılım projelerinde görev tercihinde kişilik

tiplerinin etkisi 2015 [30]

Beş faktör kişilik tipleri kullanılarak geliştirilen yeni anket ile deneysel çalışma yapılmıştır.

Kişisel özelliklerin yazılım takımlarına etkisinin

incelenmesi 2017 [31]

İncelemedir. Yazılımda insan etkisi ve yumuşak becerilerin önemi 2017 [32]

Dick ve Zarnett yaptıkları çalışmada iki kişinin aynı bilgisayar üzerinde çalışarak yazılım geliştirme yönteminin başarılı olabilmesi için gerekli olan kritik kişilik özellikleri incelemişlerdir. 8 yazılım geliştirici ile 3 hafta eşli programlama çalışması gözlemlenmiştir ve geliştiriciler ile süreç ile ilgili görüşmeler yapılmıştır. Bu süreç sonunda, eşli programlama için gereken özelliklerin iletişim, rahatlık, güven ve uzlaşma olduğu tespit edilmiştir. Eşli programlama için gereken kişilik özelliklerine sahip olan ekibin, sadece teknik beceriler ile oluşturulan bir programlama ekibinden daha başarılı olacağı ileri sürülmüştür [10].

Acuna ve Juristo proje rollerine uygun kişilerin atanması ile ilgili bir çalışma gerçekleştirdiler. Yazılım proje sürecindeki çeşitli görevleri yapmakla sorumlu 20 farklı rol tanımı için gereken kişisel yetenekleri tespit ederek yüksek ve orta olarak ağırlıklandırmışlardır. 16PF kişilik testini kullanarak yaptıkları deneysel çalışma ile kişilik rol eşleştirmesini yapmışlardır. Çalışma sonucunda yetenek odaklı yazılım süreç modelini ortaya koymuşlardır [11].

Cunha ve Greathead’ ın çalışmasında kodlardaki bulguları bulabilme yeteneği MBTI kişilik tipleri ile ilişkilendirilmiştir. 64 adet 2. Sınıf lisans öğrencisi ile yapılan deneysel çalışmada MBTI kişilik tiplerinden NT (Sezgilerini Kullanan - Düşünen) kişilik tipine sahip bireylerin kod bulgularını tespit etme konusunda daha başarılı oldukları ortaya çıkmıştır [12].

Beecham, Baddoo ve Hall yazılım mühendisliğinde motivasyon ile ilgili literatürde yapılan çalışmaları incelemişlerdir. Yaptıkları literatür taramasına göre 9 çalışmada çalışma koşulları ve kaynak eksikliği motivasyonu düşüren nedenler arasında gösterilmiştir.

Ücretin etkisi ise statüye bağlı olarak değişkenlik göstermektedir. Genç mühendislerde ücret motivasyonu arttırıcı bir etkiye sahipken, deneyimli mühendislerde motivasyon üzerinde çok fazla etkili olmadığı tespit edilmiştir [13].

Sharp ve arkadaşları literatür taraması yaparak yazılım mühendisliği ve motivasyon faktörleri ile ilişkili literatürdeki tüm modelleri açıklamışlardır. MOCC isminde yeni bir model geliştirerek yazılım mühendisliğindeki motivasyon kavramlarını MOCC (Motivators, Outcomes, Characteristics ve Context) modeli ile açıklamışlardır [14].

Salleh ve arkadaşlarının ikili programlama yapan öğrenciler üzerinde yaptıkları çalışmada kişilik tiplerindeki farklılığın akademik performans üzerinde etkili olmadığı belirtilmiştir.

Öğrencilerin %88 ve %87’si eşli çalışma sırasında tecrübe ve güven seviyesinin arttığını ifade etmişlerdir [15].

Sfetsos ve arkadaşları 70 lisans öğrencisi ile kişilik tiplerinin eşli programlama performansı ile ilişkisini incelemek amacıyla bir çalışma yapmışlardır. Farklı kişilik özelliklerine sahip programcı çiftlerinin başarısının aynı kişilik özelliklerine sahip çiftlere göre daha yüksek olduğu ortaya çıkmıştır. Kişisel özellikleri belirlemek için Keirsey Temparement Sorter envanteri, değerlendirme için istatistiksel testler ve diskriminant analiz kullanılmıştır [16].

Walle ve Hamoy eşli programlamada iş birliğinin önemini ve kişilik tiplerini incelediler.

44 adet profesyonel programcının ses kayıtları işbirliği sınıflamasına göre kategorize edilerek işbirliği kategorileri ve gruplardaki kişilerin kişilik tipleri arasındaki ilişki belirlenmiştir. Kişilik tipleri belirlenirken beş faktör model kişilik boyutlarından faydalanılmıştır. Kişiliğin çiftler arasındaki işbirliği tipi üzerinde etkili olduğu ve farklı özellikteki kişilik tiplerine sahip bireyler arasında işbirliği ve iletişimin daha fazla olduğu gözlemlenmiştir [17].

Acuna ve arkadaşları kişisel özelliklerin yazılım proje takımındaki iş tatmini ve yazılım kalitesine etkilerini ortaya koydular. Beş faktör kişilik boyutlarının 35 yazılım geliştirme takımı (105 kişi) üzerindeki ölçümlerinin sonucunda, yumuşak başlılık (agreeableness) ve sorumluluk (conscientiousness) kişilik özelliklerine sahip bireyler ile işlerini organize edebilen bireylerde iş tatminin daha fazla olduğu tespit edilmiştir. Ayrıca, dışadönüklük (extraversion) boyutu ile yazılım ürün kalitesi arasında pozitif bir bağlantı olduğu ortaya çıkmıştır [18].

Feldt ve arkadaşlarının yazılım mühendislerinin kişilik tipleri ve iş tutumları arasındaki bağlantıları ortaya çıkarmak için yaptıkları çalışma yapmışlardır. IPIP 50-item beş faktör kişilik testinin kullanıldığı çalışmada dışadönük kişilik tipine sahip mühendislerin planlı işlerde daha başarılı oldukları, gelişime açık kişilik tipine sahip mühendislerin tüm proje için sorumluluk alabildikleri ortaya çıkmıştır [19].

Martinez ve arkadaşları IPIP kişilik testi ve bir bulanık mantık metodu olan ANFIS öğrenme yöntemini kullanarak yazılım projelerinde görev ataması ile ilgili bir çalışma yapmışlardır. 72 yazılım mühendisi kendileri için uygun olan 6 rol tanımından birine bu yöntemle atanmıştır [20].

Bell ve arkadaşları, 2. Sınıf lisans öğrencileri üzerinde beş faktör kişilik testini kullanarak yaptıkları çalışmada kişisel özelliklerin tasarım desenleri ile ilgili çalışmalara ve performansa etkisini incelemişler fakat Acuna ve arkadaşlarının çalışmasının aksine performans ve kişilik özellikleri arasında çok güçlü ilişki tespit edememişlerdir [16]. Beş faktör boyutlarından duygusal denge (neurotism) ve tasarım desenleri arasında zayıf bir ilişki olduğunu belirtmişlerdir [21].

Salleh ve arkadaşları, lisans öğrencileri ile yaptıkları bir çalışmada beş faktör modeli boyutlarından biri olan sorumluluk boyutunun eşli çalışma üzerindeki etkisini araştırmışlardır. Çıkan sonuca göre sorumluluk boyutu eşli çalışma performansı üzerinde etkili değilken, deneyime açıklık boyutunun etkili olduğunu belirtmişlerdir [22].

Capretz ve Ahmed, yazılım proje rol tanımlarından sistem analisti, tasarımcı, programcı, test uzmanı ve bakımcı için gereken teknik ve yumuşak becerileri belirleyerek MBTI kişilik tipleri ile eşleştirmeler yapmışlardır. Proje rolleri için uygun MBTI kişilik tipleri tespit edilmiştir. Çalışmadaki eşleştirmeye göre, sistem analisti dışadönük ve duygusal, sistem tasarımcısı sezgisel ve düşünsel, programcı içe dönük, duyusal ve düşünsel, testçi duyusal ve yargılayıcı, bakımcı ise duyusal ve algılayıcı kişilik tipine sahip olmalıdır [23].

Martinez ve arkadaşları, bulanık mantık yöntemini kullanarak rol atamasında kullanılmak üzere yazılım mühendisliği dersleri için bir uygulama geliştirdiler. Kişilik tipleri belirlemede MBTI testi kullanılmıştır. Bu çalışmada MATLAB bulanık mantık aracını kullanılarak her bir rol tanımına uygun kişilik tipleri için ağırlıklandırma yapılarak rol ataması gerçekleştirilmiştir [24].

Rahman ve arkadaşları yazılım proje rol tanımlarından sistem analisti, tasarımcı, programcı, test uzmanı ve bakımcı için gereken teknik ve yumuşak becerileri belirleyerek beş faktör kişilik tipleri (dışadönüklük, yumuşak başlılık, deneyime açıklık, duygusal denge, sorumluluk) ile eşleştirmeler yapmışlardır. Proje rolleri için uygun beş faktör kişilik

tipleri tespit edilmiştir. Sistem analisti ve tasarımcısı rolü için deneyime açıklık ve yumuşak başlılık, programcı rolü için deneyime açıklık, yumuşak başlılık ve dışadönüklük, testçi ve bakımcı rolü için deneyime açıklık ve sorumluluk tiplerinin olması gerektiğini belirlemişlerdir [25].

Salleh ve arkadaşları yaptıkları çalışmalarda 2009 ve 2010 yıllarında Auckland Üniversitesi’nde 594 öğrenci ile yaptıkları deneysel çalışmalarda beş faktör kişilik modelinden deneyime açıklık, sorumluluk ve duygusal dengenin eşli programla performansı üzerindeki etkileri incelemişlerdir. Duygusal denge ve sorumluluk boyutunun ikili programlama üzerinde etkisi görülmezken, deneyime açık kişilik özelliğine sahip öğrencilerin ikili programlama çalışmasındaki akademik başarılarının daha yüksek olduğu ortaya çıkmıştır [26].

Ahmed ve arkadaşlarının çalışmalarında, Kuzey Amerika, Avrupa, Asya ve Avustralya bölgelerine ait 500 IT iş ilanı incelenerek yazılım proje rolleri için şirketlerin talep ettiği yumuşak beceriler belirlenmiştir. Talep derecesine göre yüksek, orta, düşük şeklinde sınıflandırma yapılmıştır. Roller için yüksek oranda talep edilen beceriler şu şekildedir:

 Sistem Analisti: İletişim becerisi, analitik düşünme ve problem çözme becerisi, takım oyuncusu olma.

 Sistem Tasarımcısı: İletişim becerisi, kişilerarası beceri

 Programcı: İletişim becerisi

 Testçi: İletişim becerisi

Bölgesel olarak talep edilen becerilerin değiştiği belirtilmiştir. Bakımcı için herhangi bir araştırma yapılmamıştır [27].

Kosti ve arkadaşları 279 yüksek lisans öğrencisi üzerinde gerçekleştirdikleri deneysel bir çalışma sonucunda, duygusal zekâ ve kişilik ile iş tercihleri arasında bağlantı olduğu, öz anlayış özelliği ile iş tercihleri arasında bir bağlantı kurulamadığı belirtilmiştir [28].

Cruz ve arkadaşları kişilik tiplerini konu alan son 40 yılı kapsayan bir literatür tarama çalışması gerçekleştirdiler. 1970 ve 2010 yılları arasındaki yazılım projelerine kişilik tiplerinin etkisini inceleyen çalışmada, 2002 yılı sonrasında, çalışmaların daha çok eğitim ve çift kişi programlama üzerine yoğunlaştığını tespit edilmiştir. Ayrıca, kişilik tiplerini

belirlemek için MBTI testinin en çok kullanılan kişilik testi olduğunu ortaya koyuldu.

Ayrıca deneysel çalışmalarda, katılımcıların %60 öğrenciler, %40 profesyoneller olarak dağılım gösterdiği tespit edilmiştir. Şekil 2.2’de yazılım mühendisliğinde kişilik tipleri ile ilgili çalışmaların yıllara göre dağılımı bulunmaktadır [29].

Capretz ve arkadaşları yazılım projelerinde görev tercih etme durumunun MBTI kişilik tipleri ile ilişkisini incelemişlerdir. Analist, tasarımcı ve programcı rolleri tüm kişilik tiplerinde en çok tercih edilen roller iken, testçi ve bakımcı rollerinin daha az tercih edildiği tespit edilmiştir [30].

Yılmaz ve arkadaşları kişisel özelliklerin yazılım geliştirme takımları üzerindeki etkilerini incelemişlerdir. Beş faktör model kişilik tiplerinden duygusal denge, yumuşak başlılık, dışadönüklük, sorumluluk sahibi tiplerine sahip kişilerden oluşan takımların daha etkili olduğunu tespit etmişlerdir. Dışadönüklük kişilik tipinin literatürdeki araştırmalara kıyasla çok daha etkili bir faktör olduğunu belirtmişlerdir [31].

Capretz ve arkadaşları yazılımda insan etkisinin, yumuşak becerilerin önemini ve kültürel etkileri açıklamışlardır. İnsan psikolojisinin yazılımda önemli olmasına rağmen bu konudaki çalışmaların yetersiz kaldığını belirtmişlerdir [32].

Şekil 2.1. Yıllara göre yazılım mühendisliğinde kişilik tipleri ile ilgili çalışmaların dağılımı

Literatür taraması sonucu yapılan çalışmaların yazılım alanında yapılan çalışmalarda kişilik tipleri ve kişisel becerilerin etkileri, takım performansı ve uygun proje rolü atama

ile ilgili oldukları görülmektedir. Literatürde yazılım rolleri için gereken teknik görevler, kişisel beceriler, kişilik tipleri belirlenmiştir [23,25,27,30]. Literatürde tespit edilen eksikler şu şekildedir:

 Yazılım rolleri için gerekli teknik görevler belirlenirken ulusal veya uluslararası meslek tanımlamaları incelenmemiş, iş ilanlarında kullanılan teknik gereklilikler esas alınmıştır.

 Yazılım mühendislerinin kişilik tiplerini belirlemek için en çok kullanılan kişilik envanterinin MBTI olduğu tespit edilmiştir [29]. Ancak, yazılım proje rolleri için gereken becerilerin beş faktör kişilik özellikleri ile daha çok eşleştiği görülmüştür.

 Yapılan çalışmalarda yazılım rolleri için gerekli kişilik tipleri tespit edilirken uzman kişilerin görüşleri esas alınmamıştır.

Bu tezde beş faktör kişilik tiplerine yazılım rolleri için önem derecesine göre bir skor verilerek, takım üyelerinin kişiliklerine göre hangi role hangi oranda uygun olduğunu tespit etmek amacıyla yeni bir yöntem geliştirilmiştir. Literatürde, MBTI ve beş faktör model kişilik tipleri proje rolleri ile eşleştiren çalışmalarda kişilik tiplerinin roller için önem derecesi belirlenmemiştir [23,25]. Rol atama için literatürde bulanık yaklaşımların kullanımı mevcuttur [20,24]. Ancak, bu çalışmalar bulanık mantık çerçevesinde yapılmış olup bulanık kümelemenin rol belirleme için kullanıldığı bir çalışma mevcut değildir. Bu tez, makine öğrenmesine dayalı kümeleme yönteminin uygun rol belirleme için kullanıldığı ilk çalışmadır.

3. YAZILIM GELİŞTİRME SÜREÇLERİ VE MESLEKİ

Benzer Belgeler