Bir çevik yazılım geliştirme sürecinin uyarlanması ve uygulanması
Implementation and tailoring of agile software development process
Yazar: DERYA AKBAYIR
Danışman: PROF. DR. FUAT İNCE
Maltepe Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2010
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Çevik, dünyada yazılım süreçlerini daha esnek ve güçlü kılmak için kullanılan aynı zamanda yazılım süreçlerini de kısaltan kavramsal bir yazılım geliştirme metodolojisi yaklaşımıdır. 1990'lı yıllarda ?çevik? adı altında toplanan yeni yazılım geliştirme yaklaşımları, kısa süreli ve değişken projeler için yeni metodolojiler önermiştir. Çalışan yazılımı kapsamlı belgelemeye tercih eden, plan izleme yerine değişime açık ve müşteriyle sıkı bir etkileşim içinde olan bu metodolojiler sayesinde klasik yaklaşımlarla başarılması riskli projeler, kabul edilebilir ölçüde başarılı olabilmiştir.Bu tezin konusunu, hem çevik yaklaşımlarla yazılım geliştirme hem de kullanılması gereken internet tabanlı programlama teknolojilerine aşina olmayan bir yazılım ekibi tarafından üniversite otomasyon sisteminin geliştirilmesine yönelik proje süreci oluşturmuştur.Bu tezin amacı, gerçekleştirilen projede tek bir çevik metodolojiye bağlı kalınmadan ekibe ve müşteri gereksinimlerine özgün pratiklerin seçilerek uyarlanmasıdır. Bu uyarlama ile tercih edilen pratikler, projenin büyüklüğü, gereksinimlerin karmaşıklığı, yazılımın kapsamı ve ekibin yapısı değerlendirilerek belirlenmiştir. Ayrıca çevik metodolojiler içinden seçilen pratiklerin proje sürecine nasıl uyarlandığı ve uygulandığı, uygulama aşamasında hangi sıkıntılarla karşılaşıldığı ve bu sıkıntıları çözümleme yolları anlatılmıştır. Bu pratikleri uygulayacaklar için önerilerde bulunulmuştur.

Abstract:
During the 1990s, a new approach to software development, called ?agile?, brought forth new methodologies for projects of relatively short duration and changing requirements. Software projects which start with uncertain requirements are considered risky under classical approaches, but they became fairly well manageable and successful by using these newer methods. Agile methods emphasize working software to detailed documentation, remaining open to change and advocating strong interaction with customers.This study reports the results of a project development effort deriving its development process from different agile methods adapted for the circumstances. The project aimed to develop a university automation system by a software team which was initially unfamiliar with the agile software development approach and internet based programming technologies.The aim of this thesis is that the original practices are tailoring by choosing related to the requirements of the software team and customer without sticking to only one agile methodology in the applied project. The preferred practices with this tailoring have been determined the size of the project, the complexity of the requirements, the scope of the software and the structure of the software team by evaluating them. Furthermore, this thesis describes the approach and the evaluation on how to tailor and implement the chosen practices from the different agile methods the reasoning behind the selection, which challenges were addressed during the implementation, and the ways to solve these challenges. We comment on the experience gained and make recommendations on the implementation of these practices.