Geri Dön

Tailoring scrum methodology for global software development teams

Küresel yazılım geliştirme takımları için scrum yönteminin uyarlanması

  1. Tez No: 533001
  2. Yazar: İBRAHİM SEÇKİN
  3. Danışmanlar: YRD. DOÇ. DR. TOLGA OVATMAN
  4. Tez Türü: Yüksek Lisans
  5. Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
  6. Anahtar Kelimeler: Belirtilmemiş.
  7. Yıl: 2018
  8. Dil: İngilizce
  9. Üniversite: İstanbul Teknik Üniversitesi
  10. Enstitü: Fen Bilimleri Enstitüsü
  11. Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
  12. Bilim Dalı: Bilgisayar Mühendisliği Bilim Dalı
  13. Sayfa Sayısı: 77

Özet

Dünyanın dijitalleşmesiyle birlikte şirketler için rekabet koşulları ağırlaştı. Ağırlaşan rekabet koşullarında endüstri farketmeksizin şirketler yazılım geliştirmeye veya yazılım geliştiren şirketlerden hizmet satın almaya başladı. Yazılım projeleri başarıyla sonuçlandığı takdirde şirketlere büyük avantajlar sağlamakla beraber, kompleks bir süreç barındırdığı için yüksek olasılıkla olumsuzla sonuçlanmaktadır. Yazılım projelerinin başarısızlığı olarak önceden öngürülen zamana yetişememek, öngörülen bütçeyi aşmak veya zaman ve bütçeden bağımsız olarak çalışan bir ürün ortaya koyamamak örnek olarak verilebilir. Başarısızlığın temel sebepleri olarak müşterilerin gereksinimlerinin yazılım ekipleri tarafından yanlış anlaşılması, zamanla birlikte müşterilerin gereksinimlerinin değişmesi ve buna cevap verilememesi gösterilebilir. Yazılım geliştirme genel olarak karmaşık ve zorlu bir iş olduğundan çokça yazılım geliştirme yöntemi ortaya konmuştur. Çevik yazılım geliştirme bunlar içinde en meşhuru ve yazılım dünyası tarafından kabul edildiği üzere en başarılısı olarak görülmektedir. Yazılım profesyonellerine uygulanan geniş çaplı anketlerin ve literatürdeki araştıramaların da gösterdiği üzere çevik yazılım geliştirme pratiklerini uygulayan yazılım prolerinin başarılı sonuçlanması olasılığı artmaktadır. Çevik yazılım geliştirme, yayınladığı manifesto ile yazılm geliştirme süreçlerinde kendilerine göre nelerin daha değerli olduğunu tanımlamaktadır. Manifestoya göre bireyler ve aralarındaki etkileşim süreçler ve araçlardan, çalışan bir yazılım ürünü detaylı dökümantasyondan, müşteri ile olan etkileşim kontrattan ve değişime yanıt verebilmek bir planı takip etmekten daha değerlidir. Bu dört maddenin yanı sıra çevik yazılım geliştirme aynı manifestoda on iki tane prensipten bahsetmektedir. Çevik yazılım geliştirme gereksinimleri belirsiz olan ve sürekli olarak değişebilen karmaşık ortamlar için tasarlanmıştır. Çevik yazılım geliştirme ekipleri, manifestoda belirtilen on iki prensip gereğince yüksek bir iletişime ve iş birliğine sahip olmalıdır. Çevik yazılım geliştirme, birbiriyle sıkı iletişim halinde olan yazılım ekipleri ve müşterilerin olduğu, sıkı aralıklarla çalışan bir yazılım ürününün ortaya konduğu ve bu ürün üzerinden müşteriden geri bildirim alınarak müşteri için en değerli ürünün ortaya konulmaya çalıştığı bir ortam tasarlamaktadır. Çevik yazılım geliştirme yöntemini gerçekleyen birden çok çalışma çerçevesi bulunmaktadır. Bu çerçeveler içerisinde yazılım dünyası tarafından en sıklıkla kullanılan olarak“Scrum”çatı çerçevesi gösterilebilir. Bu tez kapsamında“Scrum”çatı çerçevesine odaklanılacaktır.“Scrum”rolleri, toplantıları, yapay olguları“Scrum Guide”adlı dökümanda ortaya konmuş bir çalışma çerçevesidir.“Scrum”çatı çerçevesi“Scrum Guide”adlı dökümanda ortaya konduğu üzere“Sprint”adı ile tanımlanan zaman çerçeveleri dahilinde çalışan bir ürün ortaya koyan, bu ürünü müşterilerin de katılabildiği bir toplantı olan“Sprint Review”adlı toplantıda inceleyen ve bu incelemeler sonucunda geri bildirimler alıp, bu geri bildirimler ışığında geleceği planlayan, sıkı iletişim ve iş birliği halinde olan bir“Scrum takımı”tasarlamaktadır.“Scrum Guide”yazarları tarafından sürekli olarak güncellenebilen yaşayan bir dökümandır. Şirketler yazılım geliştirme ile yoğun şekilde ilgilendiği için maliyetleri arttırıp kalitesini arttırmak istemektedirler. Bundan dolayı küresel yazılım geliştirme pratiği kullanılmaya başlandı. Literatürde küresel yazılm geliştirmenin birçok tanımı bulunmaktadır. Bu çalışma kapsamında küresel yazılım geliştirme, takım üyelerinin en azından birinin takımın diğer üyelerinden farklı bir ülkede ikamet ediyor olması olarak tanımlanmaktadır. Küresel yazılım geliştirme de kendi içinde kategorilere ayrılmış durumdadır. Bu kategoriler iç kaynaklar ve dış kaynaklar ile yapılan küresel yazılım geliştirme olarak gruplanabilir. Dış kaynaklar ile yapılan küresel yazılım geliştirmede en az 2 farklı şirket bulunmakta ve bu şirketlerden biri diğerine yazılım hizmeti satmaktadır. İç kaynaklarla yapılan küresel yazılım geliştirme de aynı şirketin farklı lokasyonları birbiriyle iş yapıp, birlikte yazılım geliştirmeye çalışmaktadır. Küresel yazılım geliştirme pratiğinin şirketlere önemli avantajları vardır. Bu avantajların en önemlileri olarak maliyetleri düşürmek, küresel çaptaki yeteneklere ulaşabilmek, satış yapmak istenen pazarlara yakın olmak gösterilebilir. Avantajların yanı sıra bu pratiğin birçok zorluğu ve dezavantajı da bulunmaktadır. Yazılım geliştirme beraber ikamet eden geleneksel takımlar için bile karmaşık bir iştir. Küresel yazılım geliştirme bu karmaşıklığa ek olarak iletişim, eş güdüm ve entegrasyon zorlukları getirmektedir. İlk bakışta çevik yazılım geliştirme ve küresel yazılım geliştirme birbiriyle çelişiyor gibi gözükmesine rağmen, küresel yazılım geliştiren şirketler de çevik yazılım geliştirme pratiklerini sıklıkla kullanmaya başladı. Bu çalışma kapsamında“Scrum”çatı çerçevesine odaklanıldığı için küresel yazılım geliştirme ekiplerinde“Scrum”çatı çerçevesinin nasıl kullanıldığı incelenecektir.“Scrum”çalışma çerçevesi aynı yerde ikamet eden birbirleriyle yüksek iletişim ve iş birliğine sahip takımlar için tasarlanmıştır.“Scrum”çalışma prensiplerinin rol tanımları ve toplantıları beraber ikamet eden takımlar içindir.“Scrum”rollerinden biri olarak geliştirme ekibi tanımlanmaktadır. Geliştirme ekibi birbiriyle yoğun şekilde iletişim halinde olan yazılım ekibi olarak tanımlanmaktadır. Küresel yazılım geliştirme ekiplerinde takımın bazı üyeleri başka ülkelerde ikamet ettiğinden iletişim daha sorunlu olabilmektedir. Ek olarak“Scrum”çatı çerçevesinde tanımlanan“Daily Scrum”,“Sprint Review”,“Sprint Retrospective”gibi toplantılar, bütün rollerin katılımıyla yüz yüze olarak yapılması için tasarlanmıştır. Bu tanım ve toplantılar küresel yazılım geliştirme ortamları için uyarlanmalıdır. Literatür araştırmalarına göre bu uyarlamanın nasıl yapılacağı üzerine genel bir yöntem geliştirilmemiştir. Bu zorluklarla karşılaşan ekipler kendi gereksinimleri doğrultusunda bu pratikleri uyarlamaktadır. Bu tez kapsamında,“Scrum”çatı çerçevesinin küresel yazılım geliştirme ekipleri için nasıl uyarlanması gerektiğine dair bir model önerilmeye çalışılacaktır. Bu kapsamda“Scrum”çalışma çerçevesini uygulayan dünya çapında yazılım geliştirme merkezleri bulunan küresel bir şirket üzerinde araştırma yapılmıştır. Bu araştırma kapsamında şirketin Türkiye merkezinde“SWOT”analizi yapılmış, buradan çıkan sonuçlar ışığında araştırma soruları belirlenmiştir. Bütün araştırma sorularını kapsayacak şekilde online bir anket tasarlanmıştır. Hazırlanan online anket çeşitli kanallar aracılığıyla şirketin dünyadaki bütün lokasyonlarına gönderilmiş ve çoğunluğu Türkiye'den olmak kaydıyla çeşitli lokasyonlardan bilgi toplanmıştır. Tüm bu verilerin ve literatür taramalarının ışığında küresel yazılım takımlarının“Scrum”çatı çerçevesini nasıl uyarlaması gerektiğine dair bir model tasarlanmış, bu çalışma üzerinde tehdit oluşturabilecek maddeler anlatılmış ve gelecekteki çalışmalar için önerilerde bulunulmuştur.

Özet (Çeviri)

Nowadays software is extensively used for any industry. Since companies start to produce software for any kind of work, they want to decrease the cost and increase the quality of software. Because of these reasons Global Software Development is started to use. Some of the reasons of why companies start to use it are that low cost, accessing the global talent pool, to be close to the new markets. On the other hand GSD has lots of challenges. Software development is a complex work even for traditional teams which all members located in the same location. GSD brings additional challenges like communication, coordination and integration challenges. Since software development is a complex and challenging work, there are lot of development methodologies. Agile is the most famous and most successful methodology which is accepted by software world. Agile has four values and twelve principles which are published in“Agile Manifesto”. Agile is designed for complex environments which has changing and uncertain requirements. Agile teams should have a great communication and collaboration. There are a lot of frameworks implementing Agile software development. In this thesis, Scrum framework is focused on. Scrum is a framework, which its roles, events and artifacts are defined in Scrum Guide. Scrum Guide is a living document which can be updated by its authors. Scrum is started to be used in GSD environments. Scrum is designed for collocated teams with an extensive communication and collaboration. Scrum has events and role definitions for collocated teams. These should be tailored for GSD environments. There is not a general methodology how to tailor it. In this thesis, a global company which is implementing Scrum framework all over the world with its software centers are researched. Scrum application patterns will be found and there will be some recommendations for GSD teams which implement Scrum framework.

Benzer Tezler

  1. Impact of scrum tailoring choices on technical debt

    Scrum uyarlama tercihlerinin teknik borç üzerindeki etkisi

    ÖZGÜN ÖZKAN

    Yüksek Lisans

    İngilizce

    İngilizce

    2023

    Yönetim Bilişim SistemleriOrta Doğu Teknik Üniversitesi

    Bilişim Sistemleri Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ ÖZDEN ÖZCAN TOP

  2. Proje yönetimi bilgi birikim kılavuzu'nun (PMBOK 7'nci sürüm) uyarlanması üzerine bir araştırma

    A study on tailoring of the project management body of knowledge (PMBOK 7th edition)

    ERSİN AKTÜRK

    Yüksek Lisans

    Türkçe

    Türkçe

    2024

    Yönetim Bilişim SistemleriBaşkent Üniversitesi

    Yönetim Bilişim Sistemleri Ana Bilim Dalı

    PROF. DR. MURAT PAŞA UYSAL

  3. Pelvik kitlelerin preoperatif değerlendirilmesinde transvajinal renkli doppler görüntüleme

    The Value of color doppler ultrasound imaging in evaluation of adnexial masses

    GÖKHAN BAYHAN

    Tıpta Uzmanlık

    Türkçe

    Türkçe

    1995

    Kadın Hastalıkları ve DoğumGATA

    PROF.DR. SAFFET DİLEK

  4. İnsan kanı serumunda karvedilol ilaç etken maddesinin yüksek performanslı sıvı kromatografisi (HPLC) yöntemi ile tayini için metot optimizasyonu ve validasyonu

    Method optimization and validation for the determination of carvedilol in human blood serum by high-performance liquid chromatography (HPLC)

    KEMAL KAPLAN

    Yüksek Lisans

    Türkçe

    Türkçe

    2016

    KimyaAkdeniz Üniversitesi

    Kimya Ana Bilim Dalı

    PROF. DR. SİBEL TUNÇ

  5. Investigation of swift heavy ion irradiated graphitic surfaces and novel graphene based devices

    Yüksek enerjili ağır iyonlar ile bombardıman edilmiş grafitik yüzeylerin ve yeni grafen cihazlarının araştırılması

    CEM KINCAL

    Yüksek Lisans

    İngilizce

    İngilizce

    2017

    Fizik ve Fizik Mühendisliğiİstanbul Teknik Üniversitesi

    Fizik Mühendisliği Ana Bilim Dalı

    DOÇ. DR. OĞUZHAN GÜRLÜ