Yazılım projeleri için yapay zeka tabanlı risk yönetimi
Artificial intelligence based risk management for software projects
Yazar: MUHAMMED HANEFİ CALP
Danışman: PROF. DR. MUHAMMET ALİ AKCAYOL
Gazi Üniversitesi / Bilişim Enstitüsü / Yönetim Bilişim Sistemleri Ana Bilim Dalı
Derece: Doktora, 2017
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control ; Bilim ve Teknoloji = Science and Technology ; Endüstri ve Endüstri Mühendisliği = Industrial and Industrial Engineering
Dizin: Kurumsal risk yönetimi = Enterprise risk management ; Sistematik risk tahmini = Prediction of systematic risk ; Yazılım projeleri = Software projects

Özet:
Yazılım projeleri, günümüzde hayatın her alanında yer almaktadır. Bu durum, söz konusu projelerin hacminin ve karmaşıklığının artmasına sebep olmaktadır. Böylece, projelerde kritik hatalar meydana gelmekte ve geliştirilen yazılımların kullanıldığı alanlarda olumsuz sonuçlar doğmaktadır. Bu hataları önlemek veya minimuma indirmek için "Yazılım Risk Yönetimi" faaliyetlerinin eksiksiz bir şekilde uygulanması gerekmektedir. Bu çalışmada, yazılım projeleri için yapay zekâya dayalı risk yönetimi sağlayan web tabanlı bir model önerilmiştir. Önerilen model, proje iş paketleri ve çıktıların risk düzeylerine göre yazılım projesinin bütçe, takvim, personel sayısı, projenin hedefi ve proje başarısı gibi değerlerinde oluşabilecek sapmaları tahmin edebilmektedir. Çalışmada, risk faktörlerinin belirlenmesi için yazılım mühendisliği alanındaki akademisyen, uzman ve proje yöneticileriyle öngörüşmeler yapılmıştır. Teknokent'lerde bulunan 774 farklı yazılım firmasından toplamda 467 adet gerçek yazılım proje verisi toplanmıştır. Toplanan veriler, genel proje verileri ve proje süreci içerisinde karşılaşılan risk faktörlerini içermekte olup modelin girişlerini oluşturmaktadır. Modelin çıktıları ise, projenin süresinde, bütçesinde, personel sayısında, hedeflerde ve başarısındaki sapmalardır. Modelin eğitimi için ileri beslemeli çok katmanlı ağ mimarisi kullanılmıştır. Model; 45 giriş, tek gizli katman (15 nörona sahip) ve 5 çıkışa sahiptir (45-15-5). Analiz sonuçları, önerilen modelin performansının yüksek olduğunu (Eğitim Regresyon Oranı 0,9978, Test Regresyon Oranı 0,9935 ve Hata Oranı 0,001) ve yazılım projeleri için risk yönetim faaliyetlerinde yapay sinir ağları kullanımının etkili olduğunu açıkça ortaya koymuştur. Ayrıca, geliştirilen risk yönetim sistemi irdelendiğinde, uygulamanın kullanılabilirliğinin yüksek, cevap verme süresi (ms)'nin (işlem performansının) hızlı olduğu ortaya çıkmıştır. Geliştirilen yaklaşımla, yazılım risk faktörlerinin meydana gelmeden önlenmesi sağlanmaktadır.

Abstract:
Software projects are in every aspect of life nowadays. This leads to an increase in the size and complexity of these projects. Thus, critical errors occur in projects and negative results occur in areas where developed software is used. Therefore, "Software Risk Management" activities must be fully implemented to prevent or minimize this errors. In this study, a web-based model was proposed that provides artificial intelligence based risk management for software projects. Suggested model can predict the deviations of the software project such as budget, calendar, number of personnel, project target and project success based on the risk levels of the project work packages and outputs. In the study, preliminary interviews were held with the academicians, experts and project managers in the field of software engineering to determine the risk factors. A total of 467 actual software project data have been collected from 774 different software companies located in Technoparks. The collected data includes the general project data and the risk factors encountered in the project process and constitutes the inputs of the model. Outputs of the model are deviations on the duration, budget, number of staff, targets and success of the project. Forward-feed multi-layer network architecture is used for training of the model. Model have 45 inputs, a single hidden layer (with 15 neurons) and 5 outputs (45-15-5). The results of the analysis clearly show that the performance of the suggested model is high (Training Regression Rate is 0.9978, Test Regression Rate is 0.9935 and Error Rate is 0.001) and that the use of artificial neural networks in risk management activities for software projects is effective. In addition, when the developed risk management system are examined, it has been found that the usability of the application is high and the response time (ms) (transaction performance) is fast. With the developed approach, it is ensured that software risk factors are avoided.