Yazılım geliştirme süreci sürdürülebilirlik faktörlerinin performans üzerindeki etkisinin yapısal eşitlik modellemesi ile değerlendirilmesi

Sürdürülebilirlik problemleri gün geçtikçe daha kritik seviyelere ulaşmakta ve insan yaşamını her geçen gün daha fazla tehdit etmektedir. Sosyal açıdan baktığımızda, toplumlar arasındaki eşitsizliğin hızla yükseldiğini görebiliriz. Artan eşitisizlikle doğru orantılı olarak bireylerin sağlık ve eğitim imkanlarından yeteri kadar faydalanma imkanları kısıtlanmakta ve bu durum da toplumda cinayet, obezite ve depresyon vakalarının çoğalmasına sebep olmaktadır. Çevresel açıdan baktığımızda ise, küresel ısınma etkilerinin ve doğal kaynak ve besin kıtlığının arttığı görülmektedir. Hızla artan insan nüfusu ile birlikte tüketim de aynı oranda artmaktadır. Böylece kaynakların tüketimi ile birlikte ortaya çıkan çevresel atıklarda ciddi bir tehlike oluşturmaktadır. Bu çevresel problemler insanlar üzerinde oluşturduğu etkiler dışında, biyolojik çeşitlilik ve doğa üzerinde de ciddi tehditler oluşturmaktadır. Ekonomik açıdan ise, kaynakların bilinçsiz kullanımı ve yatırım kararlarının uzun vadeli risklerin göz önünde bulundurulmadan alınması, birçok insanın işsizlik problemi ile karşı karşıya kalmasına yol açacaktır. Bu sorunları engellemek adına üretilen çözümlere sürdürülebilirlik anlamında katkıda bulunmadan güvenmek, bu tarz sorunların etkili ve kalıcı bir şekilde çözülmesini imkansız kılmaktadır. Yazılım, hızla gelişim gösteren ve hayatımızın her alanına girmekte olan teknolojik toplumun en temel bileşenlerinden birisidir. Günümüzde insanlar, yazılımları sadece profesyonel iş hayatlarında çalışmalarını gerçekleştirmek amacıyla değil, aynı zamanda gündelik yaşamlarında da kullanmaktadır. Artık yazılımın olmadığı bir gelecek düşlemek imkansızdır. Bu eğilim, her geçen gün daha fazla yazılım uygulamasına ihtiyaç duyulmasına ve daha fazla yazılım geliştirme eforunun ortaya konulmasına sebep olmaktadır. Yazılım ugulamaları yaşantımızda bu denli önemli bir yere sahip oldukça yazılım mühendisliğinin önemi de gün yüzüne çıkmaktadır. Yazılım mühendisliği, bir yazılım uygulamasının geliştirilmesi, işletilmesi ve bakımının sağlanması için ölçülebilir, disiplinli ve sistematik yöntemlerin kullanılması ve araştırılmasıdır (Pressman, 2000). Gelişen yazılım mühendisliği bilimi ile birlikte sürdürülebilirlik kavramı da BT alanında gelecek nesillere daha sağlıklı ve yaşanabilir bir gelecek bırakabilmek adına önemli bir noktaya dönüşmektedir. Sürdürülebilirlik konusu eski yazılım mühendisliği metodolojilerinde yeterince ele alınmamıştır. Fakat yazılım uygulamalarının yaygınlaşması ve doğal kaynaklarımınız limitli olması araştırmacıların yazılım geliştirme sürecinde sürdürülebilirlik sağlayacak araştırmalara daha çok yönelmesine sebep olmaktadır. Artan popülaritesi ve yazılım birimleri üretirken duyduğu güç ve kaynak ihtiyacı sebebiyle yazılım mühendisliği bilimi, sürdürülebilir iyileştirmeleri büyük ölçüde etkileyebilir. BT alanında yapılan çalışmaları daha sürdürülebilir bir hale getirebilmek adına yapılan çalışmalar genellikle donanım üzerinde yoğunlaşmaktadır. Fakat donanımsal çalışmaların yanı sıra yazılım tarafı da büyük önem kazanmaktadır. Yazılımlar, üzerinde koştukları donanımların faaliyetlerini yönettikleri için, donanımların her bir faliyetinden de sorumludurlar. Bu sebeple, BT alanında artan sürdürülebilirlik sorunlarına çözüm bulmak için etkin ve verimli yazılımların üretilmesi gerekmektedir. Sürdürülebilirlik anlamında etkin yazılımlar geliştirilmesi için yazılım geliştiricilerin bunları nasıl başarılabileceğini bilmeleri ve bu amaca ulaşmak için uygun araçlara sahip olmaları gerekir. Bunlarla birlikte yazılım geliştirme süreci de sürdürülebilirlik metrikleri açısından değerlendirmeye tabi olmalıdır. Sürdürülebilirlik tanımına bağlı kalarak yazılım mühendisliği için sürdürülebilirliğin desteklendiği modeler geliştirilmiştir. Bu modeller de yazılım ürününün bütün yaşam döngüsü düşünüldüğünde, özellikle sürdürülebilir yazılımlar oluşturma süreçlerine odaklanılmaktadır. Sürdürülebilir yazılım geliştirme süreçleri elde etmek için, yazılım mühendisliği süreçleri, sürdürülebilirlik unsurları göz önünde bulundurularak yapılan geliştirmelerle genişletilmiştir. Sürdürülebilir bir yazılım ürünü, yazılım geliştirme sürecinde yer alan kişilerin, yazılım ürününün yaratacağı sürdürülebilir etkinin farkında olması durumunda ortaya çıkarılabilir. Bu sebeple de yazılım geliştirme sürecine yazılımın sürdürülebilirliğini ölçümleyen sürecinde dahil edilmesi gerekmektedir. Süreçte yer alan kişilerin de ölçümlemede kullanılacak metriklerin karar verme sürecine dahil edilmesi sağlanarak sürecin organizasyon içerisinde kurumsallaşması ve benimsenmesi sağlanabilir. Sürdürülebilirlik yönlerini yönetilebilir kılmak için de belirtilen gereksinimler ve önlemler yazılım geliştirme sürecine dahil edilmelidir. Bu sayede, yazılım geliştiriciler ve yazılım mimarları, yazılım ürününü sürdürülebilir metriklere uygun olarak optimize edebilir. Yazılım geliştirme süreci boyunca çevresel, sosyal ve ekonomik etkilerin göz önüne alınması ve sürdürülebilir kalkınma hedeflerinin konulması ile sürdürülebilir bir yazılım ürünü ortaya çıkarılmış olur. Bu çalışmada yazılım geliştirme sürecinde yer alan kişileri, sürdürülebilir bir yazılım geliştirme modeline etki eden sürdürülebilirlik faktörleri belirlerleme sürecine dahil edebilmek adına onlara yönelik bir anket çalışması yapılmıştır. Bu sayede yazılım geliştirme sürecinde yer alan kişiler yazılım geliştirme modelinin sürdürülebilirlik anlamında genişletilmesine doğrudan katkı sağlayarak doğru sonuçların elde edilmesi amaçlanmıştır. Bu amaç doğrultusunda araştırmaya katılan kişilerin demografik yapıları, tecrübeleri ve çalıştıkları sektörler incelenmiş ve daha sonra anket çalışmasında yer alan yazılım geliştirme sürecinde sürdürülebilirliğe etki eden faktörler ile ilgili olan 23 madde için, IBM SPSS kullanılarak faktör analizi uygulanmıştır. Daha sonra IBM AMOS programı aracılığıyla doğrulayıcı faktör analizi ile modelin uygunluğu test edilmiştir. Bu çalışmalar öncesinde verilerin normal dağılıp dağılmadığını ve güvenilir olup olmadığını öğrenebilmek için çeşitli testler uygulanmıştır. Doğrulayıcı faktör analizi sonucunda yazılım geliştirme sürecini etkileyen çevresel, ekonomik, sosyal, bireysel ve teknik olmak üzere 5 adet sürdürülebilirlik boyutu olduğu sonucuna varılmştır. Yazılım geliştirme sürecine etki eden sürdürülebilirlik faktörleri belirlendikten sonra, yazılım geliştirme sürecine etki eden sürdürülebilirlik faktörünün ve yazılım geliştirme sürecinde yer alan kişilerin eğitim düzeyinin, yaşının ve tecrübesinin ISO 25000 standartları referans alınarak hazırlanan model üzerinden ölçülen yazılım performansı üzerindeki etkisi IBM AMOS programı kullanılarak oluşturulan yapısall eşitlik modeli üzerinden incelenmiştir. Hipotezleri test etmeden önce ölçüm modellerinin geçerliliği test edilmiş, gerek duyulması halinde modeller üzerinden iyileştirmeler yapılmıştır. Son aşamada, AMOS programı üzerinden kurulan Yol Analizi ile hipotezler test edilmiştir. Eğitim durumu ve yazılım performansı arasındaki ilişkiyi test eden H4 hipotezi dışındaki hipotezler anlamlı bulunmuştur. Sonuç olarak, literatür de belirtildiği gibi, yazılım geliştirme sürecini etkileyen ve ekonomik, sosyal, çevresel, bireysel ve teknik boyutlarından oluşan sürdürülebilirlik faktörü seçili örneklem üzerinde yapılan anket çalışması sonucunda belirlenmiştir. Yine teoride belirtildiği gibi, yazılım uygulamaları insan faliyetleri sonucu ortaya çıkan bir ürün olduğu için, tanımlayıcı özelliklerin yazılım performansı üzerinde etkili olduğu ve yine yazılım geliştirme sürecine sürdürülebilirlik anlamında etki eden faktörlerin yazılım performansı üzerinde etkili olduğu yapısall eşitlik modeli üzerinden belirlenmiştir.