Makine öğrenmesi destekli Scrum planlama otomasyonu


Tezin Türü: Yüksek Lisans

Tezin Yürütüldüğü Kurum: Maltepe Üniversitesi, Lisansüstü Eğitim Enstitüsü, BİLGİSAYAR MÜHENDİSLİĞİ ANABİLİM DALI, Türkiye

Tezin Onay Tarihi: 2024

Tezin Dili: Türkçe

Öğrenci: YEKTA BUĞRAHAN NİZAMOĞLU

Danışman: ÖNDER ŞAHİNASLAN

Açık Arşiv Koleksiyonu: AVESİS Açık Erişim Koleksiyonu

Özet:

Modern dünyada yazılım geliştirme süreçleri ele alındığında görülebilir ki, dünyanın her yerinde birbirinden farklı yazılım geliştirme ve planlama metotları uygulanmaktadır. Bunlardan en yayın olanlarından biri sürekli geliştirme ve sürekli çalışan bir ürün elde etmeyi hedefleyen, uzun planlamalar yerine kısa süreli ve ölçülebilir planlamaları tercih eden, takım bazlı daha ufak ekipler halinde çalışıp bir arada bir proje geliştirmeye imkan sağlayan, Agile tabanlı Scrum yöntemidir. Bu yöntemde yapılacak olan işin tamamı göz önüne alınarak daha küçük parçalara bölme ve bu küçük parçalar ile adım adım, her seferinde çalışan bir ürün elde etme odaklı bir süreç planlaması söz konusudur. Bu ufak parçalar Scrum'ın bir etkinliği olan "planlama" sırasında takım tarafından puanlanıp, bu puanlanan işler sonucunda bir Sprint süresinde ne kadar iş yapılabildiğinin ölçümü ve bir sonraki sprintte ne kadar iş yapılabileceğinin öngörüsü sağlanmaktadır. Bu puanlama sırasında verilen puanlara Story Point denmektedir. Bu süreç her ne kadar proje planlaması açısından çok verimli olsa da her sprint planlamasında tüm takımın tek tek yapılacak işlerin üzerinden geçilmesini ve puanlamasını gerektirdiği için zaman açısından çok maliyetli olmaktadır. Bu çalışma kapsamında, yazılım geliştirme sürecinde takımın üzerinde özellikle zaman açısından yüksek maliyet yaratan bu puanlama sistemini, makine öğrenmesi destekli bir otomasyon sistemi ile hafifletmeyi ve daha stabil bir süreç haline getirmek amaçlanmaktadır. Bu otomasyon sistemi kurulurken genel yazılım geliştirme ve planlama süreçleri bilgisi ile makine öğrenmesi teknolojilerinden faydalanılmıştır.