Makine öğrenmesi destekli Scrum planlama otomasyonu
Machine learning supported automation in Scrum planning
Yazar: YEKTA BUĞRAHAN NİZAMOĞLU
Danışman: DR. ÖĞR. ÜYESİ ÖNDER ŞAHİNASLAN
Maltepe Üniversitesi / Lisansüstü Eğitim Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Bilgisayar Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2024
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Ö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.

Abstract:
When it comes to software development processes in the modern world, it can be seen that various software development and planning methods are implemented across the globe. One of the most popular ones is the Agile-based Scrum method, which aims to achieve continuous development and continuously working product delivery, preferring short-term and measurable planning over long-term planning. It allows teams to work together in smaller teams, enabling the development of a project collectively.
In this method, the entire task at hand is divided into smaller pieces, and a process plan is focused on obtaining a working product step by step with these smaller pieces. These small pieces are scored by the team during the "planning" phase, which is an activity of Scrum. By scoring these tasks, the measurement of how much work can be done in a Sprint period and the prediction of how much work can be done in the next sprint are provided. This scoring is referred as Story Points. Although this process is very efficient in terms of project planning, it becomes time-consuming because it requires the entire team to go through and score each individual task during each sprint planning.
Within the scope of this study, the aim is to mitigate the high time cost of this scoring system, which particularly burdens the team in terms of time, and transform it into a more stable process using a machine learning-supported automation system. When establishing this automation system, both general software development a planning process knowledge and machine learning Technologies have been utilized