Plazma sayı 3, sayfa 130
Sayfanın metni

Sayfa 130

Dünyada yazılım geliştirme projeleri, bundan yaklaşık 5-10 yıl öncesine kadar en riskli projeler arasında görülüyordu. Yapılan istatistiklerde, bu projelerin çok büyük yüzdesinin, hedeflenen zaman ve bütçeler içinde tamamlanamadığı, büyük bir bölümünün ise tamamen kontrolden çıkıp, iptal edildiği ortaya çıkıyordu.

Bunun sonucu olarak, uzun süredir dünyada yazılım geliştirme süreçlerinde, projeleri kontrol altında ve her zaman hedefe doğru ilerliyor tutmak amaçlı çeşitli uygulama ve metodlar denenmekte. Bu çalışmalar, özellikle 2000'lerin başlarından beri artık sonuç vermekte ve dünyadaki hemen hemen bütün büyük yazılım geliştirme ekiplerince kullanılan, bazı "Faydalı Uygulamalar" ortaya çıkarmakta. Bu yazımızda bu uygulamalardan birkaçını kısaca tanıtmaya çalışacağız.

Bu uygulamaları yalnızca ekipler olarak değil, tamamen bireysel çalışmalarda da kullanmaktan çok fayda sağlayabilirsiniz.

- Build makinesi

- Build otomasyonu

- Versiyon yönetimi

- Hata ve istek takibi

- Test otomasyonu

Bu çok temel ve basit uygulamaları kullanmayan yazılım gruplarının hala bu kadar yaygın olmasının sebebini inanın bilmiyoruz. Ama ülkemizdeki en büyük sebebin, bu konulardaki bilgi eksikliği olması ihtimaline karşı bu yazıyı hazırladık.

AYRI BİR BUILD MAKİNESİ

Bunu duymak size garip gelebilir. Ama ekibinizde hiçbir geliştiricinin kullanmadığı bir bilgisayar olması çok işe yarayacaktır. Bu makinenin tek amacı, otomatik olarak, kod her değiştiğinde projeyi (birazdan bahsedeceğimiz) Versiyon yönetim sunucusundan alıp, build edip, test ederek, yapılan değişikliklerin bir şeyleri bozmadığından emin olmaktır.

Bunu yapabilmeniz için, birazdan açıklayacağımız build otomasyonu ve test otomasyonu yapılarını da kullanmanız gerekmekte. Fakat bu makinenin neden ayrı ve sırf bu işe ayrılmış bir makine olması gerektiğini açıklayalım.

Sık yapılan bir hata, geliştiricilerin kod yazmak için kullandıkları makinelerde aynı zamanda test de yapmalarıdır. Bu, pek çok dezavantajı beraberinde getirir. Geliştirme yapılan makinede genellikle IDE ve çeşitli destek kütüphaneleri kuruludur. Ayrıca kullanılan bazı kütüphanelerin normalde kullanılacak versiyonları değil debug versiyonları kurulu olabilir. Eğer build ve test işlemlerini, yalnızca böyle bir geliştirme makinesinde test ederseniz, yazdığınız programı gerçekten çalışacağı şartlarda test etmiyorsunuz demektir.

Build makinesinde, dışarıdan kullandığınız bütün kütüphane veya run-time-environment dosyaları, sıfırdan kurulmuş olup onlar dışında hiçbir şey olmamalı.

Klavyeyle gezinmek için ← ve → tuşları.