Yapay zeka teknikleri kullanarak yazılım proje yönetim süreçlerini iyileştirme
Improving software project management processes using artificial intelligence techniques
Yazar: NURHAN GÜL
Danışman: PROF. DR. NURSAL ARICI
Gazi Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Doktora, 2024
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Yazılım projelerinin başarıya ulaşma oranı teknolojik gelişmelere rağmen hala istenen düzeyde değildir. Yazılım projelerinin büyük çoğunluğu ya istenen özelliklerde teslim edilememekte ya da planlanan bütçe ve zaman sınırını aşarak teslim edilebilmektedir. Bu durum, zaman, para, insan kaynağı gibi kayıpların yanı sıra itibar gibi ticari kayıplara da neden olabilmektedir. Bu çalışmada, yazılım projelerinin minimum sürede ve minimum bütçe ile gerçekleştirilebilmesi için proje yöneticilerine yardımcı olacak proje çizelgeleme yöntemleri geliştirilmiştir. Yazılım projelerinde insan kaynaklarının görevlere etkin bir şekilde atanması sağlanarak, projelerin tamamlanma süresi ve bütçesi en aza indirilmiştir. İnsan kaynaklarının görev atamaları öncesinde yaşayabilecekleri boşta bekleme süreleri azaltılarak, insan kaynaklarının etkin kullanımının proje süresi ve bütçesine etkileri analiz edilmiştir. Optimizasyon süreçlerinde yapay zekâ algoritmalarından genetik algoritma, bozkurt optimizasyon algoritması ve yapay arı kolonisi algoritmasının kullanıldığı hibrit bir model tasarlanmıştır. Yöntemlerdeki rastgelelik kaotik fonksiyonlar aracılığıyla gerçekleştirilmiştir. Popülasyon çeşitliliğinde çaprazlama ve mutasyon oranları bulanık mantık süreçleri ile belirlenerek, durum uzayında arama süreçlerinin iyileştirilmesi sağlanmıştır. Geliştirilen yöntemlerin farklı büyüklükte durum uzayına sahip problemlerde etkin sonuçlar ürettiği ve literatürdeki çalışmalarla karşılaştırıldığında %13'e varan iyileştirmeler sağladığı görülmüştür.

Abstract:
Despite technological advancements, the success rate of software projects is still not at the desired level. Most software projects either fail to deliver the desired features or exceed the planned budget and time limits. This situation causes losses in time, money, human resources, and reputation. In this study, project scheduling methods that will assist project managers in achieving software projects in the minimum time and budget have been developed. By effectively assigning human resources to tasks, the completion time and budget of projects are minimized. Idle times that human resources may experience before task assignments are reduced, and the effects of the efficient use of human resources on project duration and budget are analyzed. A hybrid model using artificial intelligence algorithms, including genetic algorithms, wolf optimization algorithms, and artificial bee colony algorithms, is designed for optimization processes. Randomness in methods is achieved through chaotic functions. In population diversity, crossover and mutation rates are determined by fuzzy logic processes, improving search processes in the state space. The developed methods have been shown to produce effective results in problems with different sizes of solution spaces and have achieved improvements of up to 13% compared to the studies in the literature.