=Paper= {{Paper |id=Vol-1980/UYMS17_paper_71 |storemode=property |title=Ise Alistirma (Onboarding) Sureclerinin Iyilestirilmesi icin Dusunulmus Bir Endustriyel Vaka Calismasi(An Industrial Case Study to Improve the Onboarding Process in Software Management) |pdfUrl=https://ceur-ws.org/Vol-1980/UYMS17_paper_71.pdf |volume=Vol-1980 |authors=Murat Yilmaz,Ulas Gulec,Rory O'Connor,Paul Clarke,Eray Tuzun |dblpUrl=https://dblp.org/rec/conf/uyms/YilmazGOCT17 }} ==Ise Alistirma (Onboarding) Sureclerinin Iyilestirilmesi icin Dusunulmus Bir Endustriyel Vaka Calismasi(An Industrial Case Study to Improve the Onboarding Process in Software Management)== https://ceur-ws.org/Vol-1980/UYMS17_paper_71.pdf
  Yazılım Yönetiminde İşe Alıştırma Süreçlerinin
  İyileştirilmesi İçin Düşünülmüş Bir Endüstriyel
                    Vaka Çalışması

Murat Yilmaz1 , Ulaş Güleç1 , Rory V. O’Connor2 , Paul Clarke2 ve Eray Tüzün3
         1
          Çankaya Üniversitesi, Bilgisayar Mühendisliği, Ankara, Türkiye
                      {myilmaz,ulasgulec}@cankaya.edu.tr
     2
       Dublin Şehir Üniversitesi, Bilgisayar Bilimleri Bölümü, Dublin, İrlanda
                      {rory.oconnor,paul.m.clarke}@dcu.ie
                     3
                        HAVELSAN A.Ş., Ankara, Türkiye
                             etuzun@havelsan.com.tr



      Özet. Bu çalışmada, tecrübeli yazılım geliştiricilerden, yeni katılan ge-
      liştiricilere aktarılmasını beklenen bilgileri, ve bu bilginin katılımcıya olan
      değerini anlatmak için neler yapıldığı araştırılacaktır. Bu sayede, işe veya
      projeye yeni başlayan geliştiricilerin organizasyonu ve sosyal yapıyı daha
      verimli bir şekilde tanıması ve anlaması öngörülmektedir. Bu çalışma yar-
      dımıyla, özellikle, yazılım ürününün yapısal ve algoritmik iyileştirmelerin
      yanı sıra ekip kültürüne alışma, şirket kültürüne alışma ve kullanılan ya-
      zılım geliştirme araçlarına alışma ile ilgili problemler araştırılacaktır. Bu
      çalışma, işe alıştırma süreçlerinin bir ciddi oyuna dönüştürülebilmesi için
      piyasadaki gereksinimleri bulmayı hedefler. Yapılan endüstiyel vaka ça-
      lışması sayesinde, yazılım şirketlerinde bir sıkıntı olarak karşımıza çıkan
      işe alıştırma süreçlerinin iyileştirilmesi, ciddi oyun kavramı yardımı ile,
      işe yerleştirmenin endüstriyel alanda uygulanabilirliği sorgulanmıştır.


   Anahtar Kelimeler: Yazılım yönetimi, Sosyal etmenler, İşe alıştırma, or-
yantasyon.




                                                                                        24
       An industrial case study to improve the
      onboaring process in software management



       Abstract. In this study, we investigate expert information about soft-
       ware process known to experienced software developers and study how
       this is to be transferred to the newly recruited software developers. By
       this means, the developers who are recruited to a software project should
       understand better the software development organization and especially
       its social structure more effectively. Through this work, along with struc-
       tural and algorithmic improvements of the software product, problems
       related to adaptation to team culture, adaptation to company culture,
       and adaptation to software development tools used are also investigated.
       This study aims to find the requirements in the market so that the re-
       cruitment processes can be explored using serious game mechanics. With
       the help of an industrial case study, we question the applicability a seri-
       ous game for recruitment in the industry by improving the on-boarding
       process which has been identified as a problem for many software com-
       panies.


Keywords: Software management, Social factors, onboarding, orientation.


1    Giriş
Pek çok yazılım geliştirici, iş hayatı boyunca, başkaları tarafından yazılan kay-
nak kodu anlamaya çabalamakta ve bu da yazılım geliştirme masraflarını arttır-
maktadır. Ülkemizde, bugüne kadar yazılım geliştirme anlayışı üzerine yapılan
ampirik araştırmalar, kod anlamaya çalışan bireysel geliştiricilerin sorunlarına
odaklanmıştır. Ancak, unutulmamalıdır ki yazılım geliştiriciler aynı zamanda
başkalarının yazdığı kaynak kodları anlamak ve aktarmak için uzman yazılım
geliştiriciler ile birlikte uzun süre çalışırlar. Bu tür etkinlikler, özellikle yeni bir
geliştirici bir projeye katıldığında, işe alıştırma süreci sırasında sıkça pratik edilir.
    İşe alıştırma, herhangi bir sürece yeni katılanların takımlarıyla birlikte çalış-
mayı öğrenmeleri için uygulanan bir oryantasyon sürecidir. Bu kavram, yeni işe
alınanların efektif yazılım geliştiricilere dönüştürülmesini sağlayan bir oryantas-
yon süreci olarak da nitelendirilebilir. Ayrıca, terim, yazılım geliştirme gruplarına
yeni katılan bireylerin, ekibin araçlarını, süreçlerini, kültürünü ve sürdürülecek
mevcut kod tabanını öğrenmesi için gereken sistematik yaklaşımı anlatmak için
de kullanılır. Yazılım kaynak kodu, bir projede uzman yazılım geliştirici ile yeni
başlayan geliştirici arasındaki kategorizasyonu göstermektedir. Yazılım mühen-
disliği araştırmalarında yerleştirme, yazılım göçmenlerinin vatandaşlığa kavuştu-
rulması, iklimlendirme şeklindeki ifadelerle de belirtilebilmektedir [1]. Örneğin,
yazılım geliştiren organizasyonuna ait örtük bilgiler, bir yapboz gibi parçalara




                                                                                            25
ayrılarak yazılım geliştiriciye sunulur. Bu parçaların işe yeni başlayan geliştirici-
ler tarafından bir araya getirilmesi bir işe alıştırma pratiği olabilir [1].
     Oyunlaştırma, oyun oynayarak bazı kavramları yerleştirme, çeşitli alanlarda
kullanılan bir yaklaşımdır. Bu çalışma ile bu yaklaşımın yazılımların öğrenilmesi
ve bu yazılımların içerdiği görevlerin yazılım geliştiricilere verimli bir şekilde
atanması için de kullanılması hedeflenmektedir. Bu yaklaşımın kullanılması ile
yazılım ürünlerinin teslim alınması sırasında verilen eğitimlerden daha etkin bir
öğrenmenin sağlanabileceği değerlendirilmektedir.
     Bu çalışmanın amacı, yazılım geliştiren organizasyonlarda işe alıştırma sü-
reçleri ile ilgili gereksinimleri belirleme ve sonrasında bu bilgileri kullanarak bir
ciddi oyun geliştirmek için neler yapılabileceğini sorgulamaktır.
     Bu makalenin devamı şu şekilde oluşturulmuştur. Bir sonraki bölümde, araş-
tırmanın esasları vurgulanacak ve konu ile ilgili bir literatür taraması sunulacak-
tır. Ek olarak, ciddi oyun kavramı detaylandırılacaktır. Üçüncü bölümde, litera-
türdeki bilgiler ışığında hazırlanmış bir endüstriyel vaka çalışması sunulacaktır.
Dördüncü bölümde ise araştırma sırasında elde edilen sonuçlar tartışılacak, gele-
cekte yapılması planlanan işler hakkında bilgiler verilerek makale son bulacaktır.

2     Araştırmanın Temelleri
Oyun ve oyunlaştırma kavramı birçok alanda olduğu gibi yazılım mühendis-
liği literatüründe de önemli bir yere sahiptir. İnsanların yaşam standartlarını
yükselten ve kolaylaştıran yazılımlar hayata geçmesine rağmen birçok yazılım
daha geliştirilme aşamasındayken başarısız olabilmektedir. Başarısızlıkla sonuç-
lanan projelerin çeşitli nedenleri olabilir. Yılmaz ve O’Connor [2] oyun kuramı
kavramını kullanarak yazılım firmalarının üretkenliğini ve yatırım karlılıklarını
artırmayı hedefleyen bir çalışma yapmıştır. Yılmaz ve O’Connor [3] başka bir
çalışmalarında ise, yazılım geliştirme sürecini bilgi alışverişi açısından ekonomik
bir faaliyet olarak değerlendirip, dolayısıyla süreci oyun kuramı ilkelerine dayan-
dırarak insan merkezli bir süreç modeli geliştirmeyi hedeflemişlerdir. Yılmaz ve
diğerleri [4], yazılım geliştirme ekiplerinin karar alma süreçlerindeki üretkenlik-
lerini arttırmayı hedefleyen ve oyun teorisi prensiplerinden faydalanan ekonomik
bir mekanizma geliştirmeyi hedeflemişlerdir. Yılmaz ve O’Connor [5], yazılım
geliştirme süreçlerinde yaşanan görev paylaştırma sorununu çözmek için süreci
ekonomik aktivite olarak değerlendirip, oyun teorisi prensiplerine dayanan bir
model geliştirmişlerdir. Yılmaz ve O’Connor [6] bir başka çalışmalarında, yazı-
lım geliştirme metodolojileri ve oyunlaştırma tekniklerini birleştirerek kişilerin
veya takımların iş geliştirme süreçlerinde üretkenliklerini arttırmayı hedeflemiş-
lerdir. Yılmaz ve diğerleri [7], yazılım geliştirme süreçlerinin verimliliğini arttır-
mak için oyunlaştırma tekniği kullanarak ekip içindeki çalışanların kişilik analizi
yapmalarına olanak sağlayan bir araç geliştirmişlerdir.

2.1   İşe Alıştırma (Onboarding) Kavramı
İşe alıştırma kavramı, en genel anlamda işe yeni başlayan bir kişiyi o organizas-
yonun etkin bir üyesi olabilmesi için ihtiyacı olan bilgiyi, yetenekleri ve davranış-




                                                                                         26
ları aktarma mekanizmasına denir. Bu süreçte işe yeni başlayan kişi veya kişileri
yeni işlerine ve organizasyona adapte etmek için toplantı, eğitim, video, basılı
materyaller veya bilgisayar tabanlı araçlardan faydalanılmaktadır [8].
    Her sektörde olduğu gibi yazılım mühendisliği alanında da işe alıştırma sü-
reçlerinin zorlukları bulunmaktadır. Öğrenimini yeni tamamlamış mezun fakat
iş tecrübesi olmayan bir bilgisayar mühendisi, iş tecrübesi olup fakat yeni baş-
ladığı işteki ortama ve sisteme hakim olmayan mühendis ve yine belirli bir süre
iş tecrübesi olup çalıştığı proje konusu üzerinde uzman olan mühendislerin aynı
projede çalışması gereken durumlarda uyum sorunları projenin başarısını doğru-
dan etkilemektedir. Yates [1], bu uyumun en kısa sürede sağlanması için işe yeni
başlayan mühendislere veya yazılım geliştiricilere etkili bir işe alıştırma süreci
tekniği üzerinde araştırmalar yapmıştır.
    İşe alıştırma kavramı, çalışan bir sistemi, iyi bilen bir rehber uzman veya sis-
temi geliştiren pratisyenler tarafından sisteme yeni dâhil olacak kişilere bir süreç
vasıtası ile yazılımın öğretilmesi veya kişinin yapacağı işe alıştırması şeklinde de
tanımlanabilmektedir. Teknolojinin gelişmesiyle beraber şirketler işe alıştırma
sürecini bilgisayar tabanlı araçlarla daha etkili ve ucuz şekilde yapmaya başla-
mıştır. Garvey’e [9] göre, birçok şirket geleneksel grup tabanlı eğitimlerden vaz-
geçip yerine bilgisayar tabanlı oturumlara geçmeye başlamışlardır. Wesson ve
Göğüş [10], geleneksel işe alıştırma teknikleriyle bilgisayar tabanlı işe alıştırma
tekniklerini karşılaştıran ve iki tekniğinde avantaj ve dezavantajlarını ortaya ko-
yan bir çalışma gerçekleştirmişlerdir.

2.2    Ciddi Oyunlar
Oyunlar, karmaşık konuları öğretmek için düşünülebilecek eğitim araçları olarak
nitelendirilebilirler. Oynama, bireylerin gelişimi, olgunlaşması ve anlamlı karar-
lar verebilmesi için kişilerin eğitiminde önemli bir etkendir [11]. Ciddi oyunlar
birincil amacı eğlendirmek olmayan oyunlar olarak tanımlanır [12]. Buna bağlı
olarak, ciddi oyunların temel amacı eğlence dışında bir gaye için oyun oyna-
maktır [13]. Dolayısıyla, ciddi bir oyunun kendisinden çok etkileriyle ilgilenilir.
Bu oyunlar, gerçek hayatta yaşanabilecek durumları gözeterek, tanımlanmış bir
problemin çözümünü dijital ortamlarda benzetim yoluyla (konu üzerinde kullanı-
cının tecrübesini arttırma) öğretme amacıyla düşünülmüş etkileşimli uygulama-
lardır. Böylelikle, öğrenici öğrenme pratiklerini gerçek dünyada var olan pahalı
veya tehlikeli bir ortam yerine sanal veya yapay bir kurgu yardımıyla gerçekleşti-
rebilir. Ciddi oyunlarda oynama kavramı önceliklidir, dolayısı ile öğrenici oyunu
bir oyuncak gibi kullanabilmektedir [14]. Bu durumda, dijital oyunun oyuncak
gibi (sürekli) kullanılması oyuncunun içrek güdülenmesi (intrinsic motivation)1
süreçlerini dolayısı ile eğlence açılımını arttıracaktır [15]. Bazı oyuncu tipleri
mücadeleyi ve yarışmayı eğlenceli bulabilirken diğerleri rol-yapma veya daha az
mücadeleci aktiviteleri eğlenceli bulabilmektedir.
1
    Güdüleme konsepti iki ana bileşenle tanımlanmaktadır; içrek ve dışrak güdüleme.
    İçrek güdüleme bireyin tamamen içinden gelerek (davranış ile güdülenme) başka bir
    ödül içermeden yapma isteği, dışrak güdüleme ise o davranış dışındaki dış faktörler
    vasıtası ile oluşan güdülemedir.




                                                                                          27
    Ciddi oyunlar, diğer tür oyunlardan farklı olarak bünyesinde bir eğitim bi-
leşeni içerir, dolayısıyla bu tür oyunlar, öğreniciler gerçek dünya temelli olası
senaryolara dayalı yapay ama etkili ve anlamı bir mücadeleye çağrılırlar [16].
Belki de yapılmış en eski tanımına göre ciddi oyunlar, açık hava, masaüstü, rol
yapma, ve dijital oyunlara öğrenme açısının eklemlenmesidir [17]. Bununla bir-
likte, iyi tasarlanmış ciddi oyunlar, oynanabilirliğin yanı sıra öğrenme, öğretme,
etkileşim, iletişim ve bilgi gibi faydacılık ilkelerine dayanan bir takım “ciddi” bi-
leşenler içermelidir [18]. Bu görünümler, oyunun amaçları ile örtüşecek şekilde,
hikâye, sesler, kural gibi oyunun dramatik parçaları ile bağlantılı olarak kur-
gulanmalıdırlar. Ciddi oyunlar genellikle öğrenme süreçlerinde eksik kalan bir
boyutun tamamlanması için tasarlanırlar. Dolayısıyla öğreniciler bu tür oyun-
lara bir takım beklentilerle katılırlar. Ciddi oyunlar saha eğitiminin pahalı veya
güç olduğu koşullar ağırlıklı olmak üzere; acil yardım eğitimleri, askeri birlik eği-
timleri, şirket için eğitimler, sağlık amaçlı bilinçlendirme eğitimleri gibi sosyal
yapıda önem taşıyan birçok sektörde başarı ile kullanılmaktadır. Bunun yanı sıra
ilkokul, ortaokul, lise ve üniversite eğitimi dahil olmak üzere eğitim sektöründeki
birçok seviyede ciddi oyunlardan faydalanılmaktadır. Ciddi oyunlar öğrenicileri
bilinçlendirmek amacıyla da kullanılmaktadır. Ancak bazı durumlarda öğreni-
cinin eğlenceden feragat etmesi ve oyunu oynayarak bilinçlendirilmesi amaçlan-
maktadır.
    Oyuncuların sanal ortamda yaptıkların hareketlerin gerçek ortamdakine uy-
gun bir benzetim yapılarak, farkındalık yaratmak veya öğrenme süreçleri sıra-
sında oluşacak potansiyel maliyeti sıfırlamak, böyle oyunların kurgusundaki ana
hedeflerdir. Ciddi oyunlar bilinçlendirme ve yetenek geliştirme süreçlerine yardım
etmek dışında, oyun kavramından kalıtsal bir özellik olarak taşıdığı bireyleri iç-
rek güdüleme yetisi sayesinde oyuncuların davranış biçimi değiştirme yeteneğine
de sahiptir [19]. Sonuç olarak ciddi oyun, oyun uzamı için kurgulanmış, oyna-
nabilir bir kurgu ile oyunun oynanması ile elde edilebilecek bir fayda kümesinin
mutlak bileşeni olmak zorundadır.
    Bu durumda herhangi bir oyunun ciddi oyun olabileceği düşünülebilir [20].
Ancak, bazı durumlarda ciddi oyun olarak tasarlanan oyunların eğitsel etkisi
beklenenin aksine çok düşük olabilmektedir. Bu bağlamda, üretilen her ciddi
oyun eğitsel veya eğlence açısından beklenen etkiyi yaratamamaktadır [16]. Buna
bağlı olarak araştırmacılar, ciddi oyun araştırmaları yaparken daha çok eğitsel
süreçler veya mekanizmalar geliştirmektedirler [20].
    Ciddi oyunlar, geliştirilme yöntemleri ve interaktif içerikleri açısından ben-
zerlikler içerseler de tasarımsal açıdan ve içeriği yönünden çeşitlilik gösterdikleri
için eğitsel başarıları konusunda farklılık gösterirler. Bu interaktif yapılarından
dolayı aynı oyunu oynayan farklı bireyler birbirinden tamamen farklı tecrübe-
ler yaşayabilirler. Dolayısıyla bir araştırmanın sonuçlarını başka bir araştırmaya
taşınması veya sonuçların genellemesi zordur [21].
    Ciddi oyunların savunma, eğitim ve sağlık sektörleri başta olmak üzere, bir-
çok sektörde uygulaması mevcuttur. Örnek olarak oyunlar, bir askerin savaş
koşullarına göre karar verme kabiliyetini geliştirmek veya bir doktora ameliyat
için gerekli olan motor yeteneğini kazandırmak için tasarlanabilmektedirler. Bu-




                                                                                        28
nun dışında bu tür oyunlar politik mesajları yaymak veya hayır ve yardım işleri
için de sıkça kullanılmaktadır.
     Ciddi endüstriyel oyunlara bir örnek olarak çevrimiçi ve çok oyunculu olarak
oynanabilen, Mecagenius [22] verilebilir. Bu oyunun amacı makine mühendisliği
alanında eğitim alan öğrencilere yardımcı olmaktır. Mecagenious, makine mü-
hendisliği öğrencilerine dijital kontrollü makinelerin üretim optimizasyonu konu-
sunda bilgi vermek için kullanılmaktadır. Pulse [23] ciddi oyunu bu güne kadar
üretilmiş en pahalı ciddi oyundur. Bu oyunda amaç öğreniciye, sanal bir grup
hasta yardımıyla, 25.000 acil durum için oyuncunun uygun tedaviler önermesi
ve tıbbi konular üzerinde tecrübe kazandırmayı hedeflemektedir.
     Yukarıda verdiğimiz tüm örneklerde de görülebileceği gibi ciddi oyunlar özel-
likle konu üzerinde bilgisi olmayan bireylerin fikir edinebilmeleri konusunda bir-
çok fırsat ve imkân sağlamaktadır. Bu bilgilerin ışığında, amacımız, yazılım ge-
liştiren organizasyonların işe alıştırma süreçlerinin iyileştirilebilmesi için bir çer-
çeve kurgulamak ve endüstriden gelecek edinim ve isterler doğrultusunda altyapı
hazırlamaktır.


3    Endüstiyel Vaka Çalışması

Vaka çalışması, çok sayıda kanıt ve kaynak kullanarak, belirli bir olgunun ampi-
rik araştırmasını içeren bir araştırma stratejisi olarak nitelendirilebilir. Ancak,
olgu ve bağlamı arasındaki sınırlar açıkça belli olmadığında, bu tür bir çalışma
yalnızca belirlenen bir fenomeni araştıran ampirik bir yaklaşım olarak kalmakta-
dır. Bu çalışmalarda belirlenen bir sorun, ortamında incelenerek insanlar, gruplar
veya organizasyonlardan bu durumlar ilgili bilgi toplanılmaktadır. Bu araştırma
tekniği sosyal bilimler alanında özellikle psikoloji, sosyoloji, siyaset bilimi, ve
idari bilimler araştırmalarında yaygın olarak kullanılmaktadır. Vaka çalışması,
son yıllarda, yazılım mühendisliği araştırmalarında da sıkça kullanılmaya baş-
lanmıştır.
     Yazılım mühendisliğinde vaka çalışmaları, endüstriyel bağlamda bir yazılım
mühendisliği fenomenini araştırmak için ampirik bir yöntem olarak kurgulana-
bilir. Robson [24] bunu bir araştırma stratejisi olarak nitelendirir ve çok sayıda
kanıt kaynağının kullanımı gerekliliğini özellikle vurgular. Yin [25] bunun bir
soruşturma olduğunu belirtir ve fenomen ile onun bağlamı arasındaki sınırın be-
lirsiz olabileceğini önerir. Bunun yanında, az sayıdaki denekten toplanabilecek
bilginin potansiyel zayıflıklarından bahseder.
     Yazılım mühendisliği araştırmacıları, ürün geliştirme sırasında oluşan prob-
lemlerin nasıl ve neden gerçekleştirileceğini daha iyi anlamak ve bu bilgiyle ya-
zılım mühendisliği sürecini ve sonuçta elde edilen yazılım ürünlerini iyileştirmek
için çalışmaktadır. Dolayısıyla, yazılım mühendisliği araştırmaları, vaka çalışma-
larına uygun hedeflere sahiptir.
     Bu çalışmanın ampirik kısmının gerçekleşmesi için ODTU teknokentte bulu-
nan orta ölçekli üç yazılım firması seçilmiştir. Bu çalışmada toplam 15 yazılım
uzmanı ile görüşülmüş, ancak bunların sadece 10 tanesi araştırma sürecine dahil
olabilmiştir. Çalışmayı yürüttüğümüz firmalar, yöneticileri ile yaptığımız çeşitli




                                                                                          29
görüşmeler sonucunda seçilmiştir. Kriterlerimiz şu şekilde sırlanabilir: Öncelikle,
araştırmamızın bulguları ile ilgilenen ve aktif olarak bulguları deneyimleyebi-
lecek ve işe alıştırma konusundaki aktivitelerden faydalanmak isteyen firmalar
taranmıştır. Ayrıca, veri toplamak için işe alıştırma süreçlerini işleten, uygun
sayıda yazılım geliştiriciye sahip firmalar olması diğer bir kriter olarak kabul
edilmiştir.
    Literatür araştırması sırasında elde edinilen bilgiler, seçilen firmalarda gö-
revli kişiler ile yapılan endüstriyel seri odak grup toplantılarında elde edilen geri
beslemeler doğrultusunda güncellenmiştir.
    Odak grup çalışması, araştırmacının yürüttüğü bir grup görüşmesi olarak
bilinir. Araştırma sürecinin esası, önceden belirlenmiş olan katılımcıların bir konu
üzerinde fikirlerini ve deneyimlerini tartışarak araştırmacı tarafından kayıt altına
alınmasına dayanır [26].
    Bu çalışma, literatürde taranan ciddi oyunlar ve işe alıştırma süreçleri hak-
kındaki bilgilerin katılımcılarla paylaşılması ile başlatılmıştır. Tablo 1’de odak
grup çalışmasına katılan yazılım uzmanlarının şirketlerindeki rolleri (ünvanları),
yaşları, iş tecrübeleri ve eğitim seviyeleri sunulmuştur.


             Katılımcı NO           Ünvan             Yaş Tecrube(yıl) Eğtimi
                  K1          Yazılım Geliştirici     30       5        Lisans
                  K2          Proje Mühendisi         36       4        Lisans
                  K8           Yazılım Testçisi       26       6        Lisans
                 K11      Kıdemli Yazılım Geliştirici 38      12      Y. Lisans
                  K9          Yazılım Geliştirici     33       3        Lisans
                  K6          Sistem Mühendisi        39       8        Lisans
                  K3           Yazılım Testçisi       32       6        Lisans
                 K10           Sistem Analisti        34       9        Lisans
                 K12         Ar-Ge Takım Lideri       47       8       Doktora
                  K7          Ar-Ge Mühendisi         42      13       Y.Lisans

              Tablo 1. Odak Grup Çalışması Katılımcılarının Bilgileri




    Odak grup çalışması esnasında, araştırmacılara aşağıda belirtilen örnek so-
rular yönlendirilerek katılımcıların konu üzerinde tartışmaları sağlanmıştır.

 – Yazılım geliştirme süreçlerinde işe alıştırma ile ilgili problemler nelerdir?
 – İşe alıştırma sırasında hangi etmenlerin yapılan seçimlerde sorun çıkarttık-
   larını gözlediniz?
 – Oryantasyon sırasında kaynak kodu ve ürün ile ilgili olarak sunulan etmen-
   lerden sizce hangisi daha etkin bir değişkendir?
 – İşe alıştırma ciddi oyunu için düşündüğünüz fonksiyonları tanımlayabilir mi-
   siniz?
 – Bir yazılım yardımı ile aday mühendis başarısını gözlediniz mi?

     Sonuç olarak, odak grup çalışması yardımı ile işe alıştırma üzerinde endüst-
riyel bir yaklaşım sağlanmış, araştırmacıların sunduğu argumanlar ve gözlemleri
ile işe alıştırma ciddi oyunu isterleri için olan bekletileri belirlenmiştir. Yapılan




                                                                                        30
toplu görüşmelerden yaklaşık on saatlik konuşma ve tartışma metinleri toplan-
mıştır. Araştırmacıların önemli gördüğü birkaç örnek aşağıdaki gibidir:


   Söyleşi ayrıntısı: “Onboarding (işe alıştırma), mevcut ekip üyelerinin
   yeni gelen bir kişiye takım ile çalışmaya alışmalarına yardımcı olmak için
   gereken süreci denetler. Yeni gelenlerin bizim projelerde büyük miktarda
   sosyal ve teknik bilgiyi almaları beklenir; bizim yazılım geliştirme takımı
   için, bu genellikle üzerinde çalışacakları kaynak kodun anlaşılmasını içe-
   rir; bu nedenle, geliştirilecek ciddi oyun, program anlama örnekleri
   sunmalıdır. Ayrıca, modüler olmalı ve yönetici arayüzü ile bilgi girişi
   sağlanmalıdır.”

   Diğer bir katılımcı işe alıştırmanın takım genişletmek için zorunlu olduğunu
söyleyerek şu bilgileri iletmiştir:


   Söyleşi ayrıntısı: “Şu ana kadar yaşadığımız deneyimler göstermekte-
   dir ki işe alıştırma sırasında, yazılım takımının üretkenliği zarar görmek-
   tedir: yeni gelen üye verimsiz olmak zorunda değildir ancak, diğer tüm
   takım ile zaman geçirmek onları verimsizleştirmek zorundadır. Bu du-
   rumda geliştirilecek bir ciddi oyun ile takımdan çalınan zaman azal-
   tılmalıdır. Ciddi oyun bu durumla ilgili farkındalık yaratmalıdır. Ayrıca,
   belki mobil veya web üzerinden bir oryantasyon sistemi kurgulanabilir.
   Birçok yazılım uzmanı eksik bilgilerini bu gün artık youtube veya stack
   overflow ile kapatıyor. Yeni başlayanlara sunacağımız program bu tür
   kaynaklardaki bilgileri derler veya kullanırsa çok işimize yarar. ”

   Birçok katılımcı aşağıdaki önermelerin doğru olduğunu düşünmüştür.


   Söyleşi ayrıntısı:“İşe yeni başlayanlar, işe alıştırma süreçlerinde daha
   deneyimli geliştiriciler tarafından yönlendirilebilir. Bu durumda, uzman
   geliştirici yeni gelen kişiye yararlı bilgiler sağlamaktan sorumludur. Bu
   bilgiler, takıma yeni katılan kişinin kendi başına bulması zor bilgileri
   içermelidir. Bu bilgiler İnternette bulunabilen bilgiler oldukça sürece
   olumlu katkı sağlanması zor olacaktır. Bir yazılım projesinin özellikleri
   için, yeni gelenler için, ilgili projelerin özellikleri yönlendirme yardım-
   cıları ve ’engeller (kısıtlar) olarak gruplandırılabilir. Elbette ki yetersiz
   dokümantasyon ve kullanılan geliştirme ortamının öğrenilmesi gibi en-
   geller her zaman süreci yavaşlatacaktır.”

   Başka bir uzman katılımcı şu yorumu yapmıştır.


   Söyleşi ayrıntısı:“Bizim şirkette yeni işe başlayanlar, özellikle uzun so-
   luklu projelerde altı aydan önce istediğimiz üretkenliğe kavuşamıyorlar.
   Ayrıca daha kötüsü birçoğu birçok farklı sebepten ötürü bizimle bir yıldan




                                                                                   31
   uzun zaman çalışamıyorlar. Biz şirket olarak takım hızı kavramının ya-
   nında bazı özel kişiler bulunmakta. Bu kişiler, kendilerine verilen hikâye
   kartlarını zorluklarından veya hikâye puanlarından bağımsız olarak akıcı
   bir şekilde yapabiliyorlar. Bu kişilerin başarısı bilmekten çok o bilgiye
   ulaşabileceklerini kolay bulma yeteneklerinden geçiyor. Bence çaylaklar
   hem ürünü hem de kaynak kodları birlikte incelemeli”
    Ayrıca odak grup çalışmasına katılamayan diğer uzmanlardan aşağıdaki gö-
rüşler alınmıştır.


   Söyleşi ayrıntısı:“Oryantasyon sürecinde bence en büyük (TR’deki)
   problem, işverenlerin bu süreci minimal maliyetle kurtarmak istemesi
   sonucu, gerekli yatırımın yapılmamasıdır. Zira yeni personel işe alış-
   tırılırken illa ki bir mentor ya da senior personel ile beraber çalışmalıdır.
   Bunun da işveren için yalnızca yeni işe alınan personel değil, mentor
   tarafında da bir maliyeti vardır. Bunun gözardı edilmesi, oryantasyon
   sürecinin mentor için esas iş kalemlerinden bir iş yerine yük olarak gö-
   rülmesi sonucu doğurmakta ve yeni personelin alışma sürecini uzatmakta
   / sekteye uğratmaktadır. Bence ikinci problem de çoğu işverende işe alı-
   mına kadar olan süreçlerin epeyce tanımlı olmasına karşın işe başlama
   gününden sonraki sürecin yazılı tanımlı bir süreci olmamasıdır. Kay-
   nak kod için Kurum’un sahip olduğu lessons learned ve coding standarts
   dokümantasyonu ve süreç olarak da pair programming etkin değişkenler
   olduğunu düşünüyorum.”


   Söyleşi ayrıntısı:“Yazılım geliştirme süreçlerinde işe alıştırma ile il-
   gili problemler arasında en göze çağranları: (i) sosyal ağ bağımlılığı, (ii)
   yazılımcının işi beğenmemesi ve/veya yeterince istekli olmaması. Ayrıca
   yeni mezun arkadaşların, bütün gereksinim analizleri bitmiş proje bek-
   lentisi ve düzeltmelerdeki isteksizliği işe alıştırma sürecini olumsuz yönde
   etkilemektedir. ”




                                                                                   32
   Yapılan tüm görüşmeler ışığında, odak grup çalışması ve karşılık sağlanan
toplantı ortamı ile aşağıda belirlenen bazı gereksinimler ön plana çıkmaktadır.

  I. İşe alıştırma, rehber geliştirici veya yazılım takımı için çok sıkıntılı olma-
     malıdır. Rehber yazılım uzmanının tamamlaması gereken aktiviteler diğer
     işlerine zaman ayırmamasını sağlayacak kadar çok olursa kişi üretkenliği
     olumsuz yönde etkilenecektir.
 II. İşe yeni başlayan için süreç olması gerektiğinden zor olmamalıdır. Yeni
     başlayan kişi karmaşık ve işine kısa vadede yaramayacak konularla vakit
     kaybetmemeli, sonuç odaklı olarak çalışmalıdır. Belki işe alıştırma süreci
     altı ay ile bir yıl içinde tanımlanacak şekilde düşünülmelidir.
III. Konu ile ilgili olarak geliştirilecek bir ciddi oyun işe yeni başlayan içinde
     rehber kişi içinde kolay kullanılabilir olmalıdır. Ciddi oyuna alışma süreci
     minimal tutulmalıdır. Amaç odaklı basit bir ara yüz kurgusu tercih edil-
     melidir
IV. Yeni başlayan oyun kavramının en temel özelliklerinden biri olan sürekli ve
     anlık geri besleme alabilmelidir.
 V. İşe alıştırma uygulaması işe yeni başlayan kişilere göre yapılandırılabilmeli-
     dir. Oyun elementleri bu yapılandırmayı seviye, rozet ve armalarla görünür
     hale getirebilir.
VI. Yeni geliştirilecek işe alıştırma modeli ve buna bağlı olarak düşünülen ciddi
     oyun çerçevesi işe alıştırma maliyetlerini düşürecek şekilde kurgulanmalıdır.


4   Sonuçlar ve Gelecek Çalışmalar

Yazılım mühendisliği vaka araştırmaları, yazılım mühendisliği ile ilgili olayları
ampirik olarak inceler. Bu tür çalışmalarda yazılım geliştirme aktivitelerinin kar-
maşıklığı yüzünden klasik deneylerin sabit tasarımlarının aksine, bu tür çalışma-
lar oldukça esnek bir tasarım gerektirmektedir. Bu bilgiler ışığında işe alıştırma
kavramının yazılım geliştiricilere sunulabilecek sistematik bir imkan haline geti-
rilmesi bilimsel bulgular üretebilme kabiliyeti de gerektirir.
    Bu makalede yazılım geliştiren organizasyonların işe alıştırma (onboarding)
süreçleri uzman görüşleri ışığında incelenmiş ve oluşturulabilecek bir ciddi oyun
için alt yapı oluşturulmaya çalışılmıştır. Bulgular, öncül modellerin kod anlama
ve programlama becerilerine odaklandığını göstermektedir. Gelişmeler, işe alış-
tırmanın bir süreç olarak nitelendirilmesi gerekliliğini göstererek, yazılım gelişti-
renlerin davranış biçimlerini ele almaya yöneltmektedir. Bu sürecin iyileştirilmiş
halinin yazılım pratisyeni merkezli sosyal süreçler, kullanılan araçlar ve geliştirme
ortamına odaklanarak geliştiricilerin bilgiyi anlaması dışında bilgiye ulaşabilme
yeteneğinin önemini vurgulamaktadır.
    İşe alıştırma süreci hem işe yeni başlayan hem de onları yönlendirecek danış-
man kişilerin yönetimini sağlamalıdır. Yazılım mühendisleri zaman kısıtlamaları
altında çalışırlar. Dolayısıyla, kaynak seçiminin başarısı verimlilik için önemli
bir etkendir.Bu tür kısıtlar, iş alım süreçlerinde, bireylerin bilgi kaynağını doğru
tespit etme ve proje için kullanma yeteneklerini de ölçer.




                                                                                        33
    Bu bilgiler ışığında, yeni işe başlayan bireylerin doğru seçimi ve yerleştirilmesi
dışında iyi bir şekilde işe alıştırılması önemli bir gereksinimdir. Bu bağlamda ile-
riki çalışmalarımızda aldığımız geri beslemeler ve gereksinimler ışığında bir ciddi
oyun geliştirmeyi planlamaktayız. Bu sayede endüstriyel olarak tanımlanmış bir
ihtiyacın adreslenmesi mümkün olacaktır. Çalışmanın ikinci ayağı İrlanda’da ger-
çekleştirilecek ve iki ülke arasındaki yazılım geliştiren organizasyonların işe alış-
tırma birimleri incelenecektir.


Kaynaklar

 1. Yates, R.Y.: Onboarding in software engineering. PhD thesis, University of Lime-
    rick (2014)
 2. Yilmaz, M., O’Connor, R.: Oyun kuramı kullanarak yazılım takımlarının Üretken-
    liğini artırmak İçin. geliştirilen bir yazılım süreç mühendisliği yaklaşımı. In: Ulusal
    Yazılım Mühendisliği Sempozyumu (UYMS). (2011)
 3. Yilmaz, M., O’Connor, R.V.: Maximizing the value of the software development
    process by game theoretic analysis. In: Proceedings of the 11th International Con-
    ference on Product Focused Software. PROFES ’10, New York, NY, USA, ACM
    (2010) 93–96
 4. Yilmaz, M., O’Connor, R., Collins, J.: Improving software development process th-
    rough economic mechanism design. In: Proceedings of the 17th European Systems
    and Software Process Improvement and Innovation (EuroSPI 2010). Volume 99.,
    Springer-Verlag (2010) 177–188
 5. Yilmaz, M., O’Connor, R.V.: A market based approach for resolving resource const-
    rained task allocation problems in a software development process. In: European
    Conference on Software Process Improvement, Springer (2012) 25–36
 6. Yilmaz, M., O’Connor, R.: A scrumban integrated gamification approach to guide
    software process improvement: a turkish case study. Tehnicki Vjesnik (Technical
    Gazette) 23 (2016) 237–245
 7. Yilmaz, M., Yilmaz, M., O’Connor, R.V., Clarke, P.: A gamification approach to
    improve the software development process by exploring the personality of software
    practitioners. In: International Conference on Software Process Improvement and
    Capability Determination, Springer (2016) 71–83
 8. Bauer, T.N., Erdogan, B.: Organizational socialization: The effective onboarding
    of new employees. (2011)
 9. Garvey, C.: The whirlwind of a new job. HR Magazine 46 (2001) 110–118
10. Wesson, M.J., Gogus, C.I.: Shaking hands with a computer: an examination of two
    methods of organizational newcomer orientation. Journal of Applied Psychology
    90 (2005) 1018
11. Jambor, T., Van Gils, J.: Several Perspectives on Children’s Play: Scientific Ref-
    lections for Prac[ti]tioners. Garant (2007)
12. Michael, D.R., Chen, S.L.: Serious games: Games that educate, train, and inform.
    Muska & Lipman/Premier-Trade (2005)
13. Khosrow-Pour, M.: Encyclopedia of information science and technology. Volume 1.
    IGI Global (2008)
14. Goldstein, J., Buckingham, D., Brougère, G., et al.: Toys, games, and media.
    Routledge (2004)
15. Bryant, J., Vorderer, P.: Psychology of entertainment. Routledge (2013)




                                                                                              34
16. Ritterfeld, U., Cody, M., Vorderer, P.: Serious games: Mechanisms and effects.
    Routledge (2009)
17. Abt, C.C.: Serious games. University Press of America (1987)
18. Alvarez, J., Djaouti, D.: Introductions au serious game. questions theoriques. Seri-
    ous Games for Healthcare: Applications and Implications. Hershey, PA: IGI Global
    (2010) 313–314
19. Werbach, K., Hunter, D.: For the win: How game thinking can revolutionize your
    business. Wharton Digital Press (2012)
20. Haring, P., Chakinska, D., Ritterfeld, U.: Understanding serious gaming: A psyc-
    hological perspective. Handbook of research on improving learning and motivation
    through educational games: Multidisciplinary approaches (2011) 413–430
21. Klimmt, C., Vorderer, P., Ritterfeld, U.: Interactivity and generalizability: New
    media, new challenges. Communication methods and measures 1 (2007) 169–179
22. Galaup, M., Amade-Escot, C., Montaut, T., Viallet, F.: Mecagenius, a serious
    game for mechanical engineering in higher education: A trace driven analysis of
    knowledge and learning. paper presented in network ict in education and training.
    In: European Conference on Educational Research (ECER), Association: EERA,
    Cadix–17-21 September. (2012)
23. Bowyer, M.W., Streete, K.A., Muniz, G.M., Liu, A.V.: Immersive virtual environ-
    ments for medical training. In: Seminars in Colon and Rectal Surgery. Volume 19.,
    Elsevier (2008) 90–97
24. Robson, C.: Real world research: a resource for social scientists and practitioner.
    Adapting Open Innovation in ICT Ecosystem Dynamics References Real World
    Research: A Resource for Social Scientists and Practitioner (2002) 270
25. Yin, R.K.: Case study research: Design and methods. Sage publications (2013)
26. Edmunds, H.: The focus group research handbook. McGraw-Hill (2000)




                                                                                           35