Çevik yazılım geliştirme projelerinde kritik başarı faktörlerinin modellenmesi: Çevik projelerin Türkiye'deki uygulamaları
Modelling critical success factors in agile software development projects: Applications of agile projects in Türkiye
Yazar: BURCU BİNBOĞA
Danışman: DOÇ. DR. ÇİĞDEM ALTIN GÜMÜŞSOY
İstanbul Teknik Üniversitesi / Lisansüstü Eğitim Enstitüsü / Endüstri Mühendisliği Ana Bilim Dalı / Endüstri Mühendisliği Bilim Dalı
Derece: Doktora, 2024
Konu: Bilim ve Teknoloji = Science and Technology ; Endüstri ve Endüstri Mühendisliği = Industrial and Industrial Engineering

Özet:
Son yıllarda hızla gelişen teknoloji ile değişen müşteri ihtiyaçlarına kaliteden ödün vermeden hızlı bir şekilde cevap vermek çok önemlidir. Günümüzde, piyasada her ihtiyaç duyulan ürünün muadili bulunmaktadır. Ürünleri, muadillerinden farklılaştıran bir çok özellik örneğin müşteri odaklılık, ihtiyaçlara hızlı cevap verebilme, kalite ve güvenilirlik gibi kavramlar sadece müşteri memnuniyetini artırmakla kalmaz aynı zamanda tüm paydaşların memnuniyetini artıracaktır.
Yazılım geliştirmede kullanılan proje yönetimi metodolojileri de teknolojik gelişmelerle değişeme uğramaktadır. Önceki yıllarda daha çok şelale yöntemleri diye adlandırdığımız klasik yazılım geliştirme metodolojileri kullanılırken günümüzde çevik yazılım proje yönetimi yaklaşımları tercih edilmektedir. Çevik proje yazılımı, hızla değişen gereksinimlere uyum sağlayabilmek için esnek ve dinamik bir yaklaşım sunan bir proje yönetim metodolojisidir. Kısa geliştirme döngüleriyle çalışan ekipler, müşteri geri bildirimlerini doğrudan kullanarak yazılım geliştirme sürecini yönlendirir. Böylece yazılımın kalitesi, müşteri memnuniyeti ve proje verimliliği artar. Sürekli iyileştirme ve işbirliğini teşvik eden bu metodoloji, özellikle belirsizlik ve sürekli değişimle karşılaşılan sektörlerde projelerin başarılı bir şekilde yürütülmesine yardımcı olmaktadır. Bu nedenle çevik yazılım geliştirme metodolojileri son yıllarda müşteri ve iş gereksinimlerini hızlı ve etkili bir şekilde karşılamak amacıyla giderek daha popüler hale gelmektedir.
Yazılım gereksinimlerindeki belirsizlikler ve değişiklikler, şirketleri yazılım geliştirme projelerinde daha çevik olmaya zorlamaktadır. Günümüzde çevik bir ortamda şirketler ilerleyebilmek için projelerine çevik yazılım geliştirme metodolojilerini entegre etmektedir. Ancak çevik metodolojinin uygulanma şekli projenin başarısını belirleyebilir. Bu tez kapsamında, çevik uygulayıcıların bakış açısından çevik projelerin başarısını etkileyen kritik başarı faktörleri ve çevik başarı ölçütlerinin belirlenmesi amaçlanmaktadır. İlk olarak Çevik Manifesto, Çevik İlkeler ve Scrum Kılavuzu'nun detaylı incelenmesiyle kapsamlı bir sistematik literatür taraması yapılarak Çevik Yazılım Proje Başarı Modeli geliştirilmiştir. İkinci olarak altı çevik proje uygulayıcısı ile bire bir görüşmeler yapılarak kritik başarı faktörleri ve çevik başarı ölçütleri güncellenmiş ve ardından model üzerinde fikir birliğine varmak için katılımcılarla grup toplantısı yapılarak nihai Çevik Yazılım Proje Modeli geliştirilmiştir. 
Modelde çevik başarı ölçütleri olarak süreç verimliliği, sürdürülebilir yazılım ürün kalitesi ve paydaş memnuniyeti belirlenmiştir. Kritik başarı faktörleri ise müşteri faktörleri, ekip faktörleri, organizasyonel faktörler, çevik süreç faktörleri, teknik faktörler ve proje faktörleri olarak altı ana başlıkta tanımlanmıştır. Sonrasında kritik başarı ölçütleri ile çevik başarı ölçütleri arasındaki ilişki literatürden desteklenerek Çevik Yazılım Proje Modeli tanımlanmıştır.  Ayrıca kritik başarı faktörlerinin ve çevik başarı ölçütlerinin alt başlıkları da tanımlanmış ve bu alt başlıkları tanımlayan soru ölçekleri geliştirilmiştir. Tasarlanan Çevik Yazılım Proje Anketi çevik proje başarısını etkileyen kritik başarı ölçütlerinin belirlenmesinde kullanılabilecektir. 
Geliştirilen modeli test etmek için çevik yazılım proje yönetimi deneyimi olan 596 katılımcıdan veri toplanarak proje başarısına etki eden faktörler belirlenmiştir. Veri analizi için yapısal eşitlik modeli kullanılmıştır. IBM Amos 20.0 ve IBM SPSS Statistics versiyon 28 yazılım programlarından faydalanılmıştır. İlk olarak açıklayıcı faktör analizi kullanılarak kritik başarı ölçütlerinin faktör yapısı ortaya çıkarılmış ve modelde belirlenen faktör sayısı ile aynı sayıda faktör elde edilmiştir. Daha sonraki adımda doğrulayıcı faktör analizi ile belirlenen faktörlerin teorik yapısının geçerliliği gösterilmiştir. En son adımda ise kritik başarı faktörleri ile çevik başarı ölçtüleri arasındaki ilişki yapısal eşitlik modellemesi ile test edilmiştir. Sonuçlara göre müşteri faktörleri, ekip faktörleri, çevik süreç faktörleri ve proje faktörlerinin süreç verimliliği, sürdürülebilir yazılım ürün kalitesi ve paydaş memnuniyeti açısından çevik proje başarısının önemli belirleyicileridir. Kritik başarı faktörleri arasında müşteri faktörleri ve çevik süreç faktörleri diğer faktörlere kıyasla süreç verimliliği, sürdürülebilir yazılım ürün kalitesi ve paydaş memnuniyetini etkileyen güçlü belirleyicilerdir. 
Bu çalışma ile teorik ve pratik çıkarımlar sunulmuş ve olası gelecek çalışmalar için önerilerde bulunulmuştur. Geliştirilen Çevik Yazılım Proje Başarı Modeli, projelerin başarılı bir şekilde yürütülmesi için kritik olan faktörlerin belirlenmesinde önemli bir rol oynamaktadır. Bu model, çevik yazılım geliştirme süreçlerinin daha iyi anlaşılmasını sağlamakta ve çevik metodolojilerin uygulanmasındaki etkinliği artırmak için yol gösterici olmaktadır. Araştırmanın bulguları, özellikle müşteri ve süreç odaklı yaklaşımların çevik projelerde başarıya ulaşmada kilit olduğunu vurgulamaktadır. Bu faktörler, projelerin zamanında ve bütçe dahilinde tamamlanmasını, aynı zamanda yüksek kaliteli yazılım ürünlerinin teslim edilmesini sağlamakta büyük bir rol oynamaktadır. Ayrıca çevik metodolojilerin daha etkili bir şekilde uygulanabilmesi için çevik uygulayıcılar ve proje yöneticileri için somut adımlar önermektedir. Bunun yanı sıra tasarlanan Çevik Yazılım Proje Anketi, gelecek çalışmalarda çevik proje yönetimi uygulayan farklı sektörlere de uygulanarak sektöre özel kritik başarı faktörleri belirlenmesine yardımcı olacaktır.

Abstract:
Uncertainties and frequent changes in software requirements forces companies to adopt more agile methodologies in the management of software development projects. These methodologies are essential to synchronize ever-changing demands of the customers and staying current and responsive in a fast-paced software industry. Agile methodologies, like Scrum, Kanban, and Lean, are designed to foster collaboration, continuous improvement, and the delivery of high-quality products. They emphasize direct communication, customer involvement, and a flexible response to change. By breaking down projects into manageable units, agile projects enable teams to focus on high-value features, delivering them in iterative cycles called sprints. On the other hand, the success of these project management strategies often depends on how they are implemented. Therefore, understanding factors affecting the success of agile projects is important to achieve success in the agile project management. 
In the current thesis, agile software project success model that combines agile critical success factors with agile project success measures and project factors (agile risk and failure factors) was developed.  To determine the factors in agile project management, a systematic literature review (SLR) was conducted. Journals and conference articles were selected through a detailed literature review of the last 21 years (2000–2021). In contrast to previous studies, the Agile Manifesto, Agile Principles, and Scrum Guide were examined to identify significant factors in the application of agile software development projects. Subsequently, results obtained using the SLR, Agile Manifesto, Agile Principles, and Scrum Guide were combined to obtain a comprehensive model that identifies the significant factors affecting agile project success. Additionally, the factors were refined via individual and group meetings with six agile practitioners working in the software industry. Finally, Agile Software Project Success Model was developed. This model includes six factors explaining critical success factors: customer factors, team factors, organizational factors, agile process factors, technical factors, and project factors. Customer factors focus on maintaining a strong relationship with the customer by securing their support, aligning deliverables with their business needs, and enhancing their IT capabilities. Team factors emphasize the skills and experience of team members in software development, their motivation, and their ability to self-organize. They also involve enhancing their professional capabilities through technical training, ensuring effective and cohesive teamwork. Organizational factors encompass an agile work environment that encourages collaboration, a cooperative management style prioritizing flexibility, upper management support for agile practices, and effective change management. Agile process factors refer effective team communication, proper execution of agile events, simplified progress tracking, and maintaining essential documentation. Technical factors address the use of appropriate technologies, tools, and software architecture to support reliable and maintainable product development. Project factors refer to factors that can influence the project's success, including criticality, urgency, technical complexity, technological uncertainty, specification changes, and project size.
Agile project success measures are also defined in three constructs: process efficiency, sustainable software product quality, and stakeholder satisfaction. Process efficiency refers to the ability to deliver projects on time, within the planned budget, and aligned with the agreed scope. Sustainability of software product quality encompasses various non-functional requirements, focusing on maintaining software reliability, security, and other quality attributes over time. It is defined through characteristics like maintainability, portability, performance efficiency, compatibility, functional suitability, and usability, which together ensure that the software remains robust and adaptable. Stakeholder satisfaction is the degree to which a project's outcomes meet the expectations and needs of key stakeholders, including customers, team members, and upper management. In the Agile Software Project Success Model, the relationships between critical success factors and agile project success measures were defined with referencing the literature. 
In the final stage, Agile Software Project Questionnaire was adapted to measure the critical success factors and agile project success measures. The questionnaire consists of two parts: In the first part demographic questions were asked to agile practitioners about gender, age, project role, working industry etc. In the second step, a total of 45 items that define critical success factors and agile project measures was asked to agile practitioners on a 7 Likert (1: totally disagree…7: totally agree) scale. In the current project, a total of 596 questionnaires were collected from agile practitioners. According to demographic profile most of the respondents are working in Turkey. Furthermore, banking, stock exchange and software industry constitute a big part of the respondents. In addition, 68% of the respondents uses scrum as an agile project management methodology. In the analysis of the model, explanatory factor analysis and structural equation modeling approach were used. IBM Amos 20.0 and IBM SPSS Statistics software version 28 were used as a software for the analysis. First, explanatory factor analysis was performed to reveal the factor structure of the model. According to the results, nine factors that define critical success factors with eigen values greater 1 were revealed. This number was same as the number of factors in the Agile Software Project Success Model. Then confirmatory factor analysis was performed to validate the factors defined in the model. The initial analysis of CFA achieved model fit values greater than the threshold values. Furthermore, the convergent and discriminat validity of the constructs were also validated. Structrural model analyzes the relationships defined in the Agile Software Project Success Model. According to the results, customer factors, team factors, agile process factors, and project factors have significant effects on process efficiency, the quality of software products, and stakeholder satisfaction. Among these, agile process factors have stronger effects than the other factors on sustainable software product quality. This impact underscores the importance of strong communication within teams, the effective implementation of agile events, progress tracking mechanisms, and maintaining an optimal level of documentation. Additionally, customer factors are highlighted as significant predictors of stakeholder satisfaction, software product quality, and process efficiency. This implies that strong relationships with customers, enhancing their experience throughout the project lifecycle, prioritizing responsive customer support are important. 
On the other hand, technical factors such as programming standards and software testing process do not have a significant effect on stakeholder satisfaction. This outcome suggests that while technical aspects are crucial for the intrinsic quality and functionality of software products, they do not directly translate to stakeholder satisfaction. Furthermore, the effect of organizational factors such as establishment of a supportive agile culture and an appropriate structural framework also did not have a significant effect on sustainable quality of software products. This finding implies that the quality of software deliverables relies more heavily on the technical skills and operational practices employed during the development process. 
The study's findings have profound theoretical and practical implications. First, this study provides Agile Software Project Success Model that defines critical success factors and agile project success measures. Agile practitioners may examine the model to define significant factors in the management of agile projects. Furthermore, the questionnaire developed to measure the perception of agile practitioners may be applied to reveal significant critical success factors. Second, the questionnaire was applied and significant predictors of agile project success were determined. All the hypotheses except two of them was approved by the data collected. The findings suggest that for organizations to harness the full potential of agile methodologies, they should invest in cultivating an agile-friendly culture that emphasizes continuous improvement, open communication, and team empowerment. Additionally, the findings recommend that product owners and scrum masters focus on enhancing customer involvement and ensuring the adaptability of processes to improve project outcomes. These findings are intended to assist project managers, scrum masters, software development teams, product owners, and internal customers in enhancing their agile practices, ultimately leading to more successful project outcomes and greater satisfaction among stakeholders. Moreover, the differential impacts of success factors suggest that organizations should conduct regular reviews of their agile practices and make adjustments based on specific project needs, team dynamics, and organizational goals.