Türkiye Finans Katılım BankasıTFKB, Yazılım Geliştirme Projelerinde TFS ile Yüksek Verimlilik, Kalite Artışı ve Maliyet Tasarrufu Sağladı
|
|||||||||||||||||||||||||||||
Microsoft .NET platformuna geçtikten sonra özellikle paralel geliştirme süreçlerini verimli hale getirmek ve proje çalışmalarının ölçülebilirliğini artırmak için etkin bir kod yönetim çözümüne ihtiyaç duyan Türkiye Finans Katılım Bankası, Microsoft Team Foundation Server ile hedeflerine ulaştı.Türkiye'nin önde gelen iki büyük grubu olan Boydak ve Ülker Grupları’nın, 2005 yılında finans sektöründe hizmet veren kurumları Anadolu Finans ve Family Finans'ı, global ekonomi koşullarına ayak uydurmak ve Türkiye'ye çok daha faydalı olmak amacıyla birleştirmesiyle kurulan Türkiye Finans Katılım Bankası (TFKB), 182 şubesi ve 3.350’yi aşkın çalışanıyla 1 milyondan fazla müşterisine hizmet veriyor. 2008 yılında %60 hissesi Suudi Arabistan’ın en büyük bankası olan The National Commercial Bank (NCB) tarafından satın alınan TFKB, güçlenen ortaklık yapısıyla Türkiye’nin öncü katılım bankası olma vizyonunu sürdürüyor.PARALEL GELİŞTİRME, ÖLÇÜMLEME VE OTOMATİZASYON İHTİYACI TFKB, 56’sı yazılım mühendisi olmak üzere 63 kişilik bir yazılım departmanıyla, kurum bünyesinde geliştirilmiş olan bankacılık uygulamasının yeni projelerini geliştiriyor. Servis odaklı bir yapıya sahip olan TFKB Yazılım departmanında her ekip birbirine servis sağlarken belirli iş süreçleri de ortak yapılarla yürütülüyor. TFKB Yazılım Müdürü Metin Karabiber şöyle diyor: “Bu kalabalık ekipte aynı kodlar üzerinde çalışırken paralel geliştirme ihtiyacı doğuyor. Örneğin bir proje için CRM yapısında geliştirme yaparken diğer bir proje için CRM’in farklı bir tarafını geliştirmek, farklı özelleştirmeler yapmak gerekebiliyor. Bu paralelliği sunmak ve ekiplerin birbirlerinin çalışma ortamlarından etkilenmemesini sağlamak için bir dallaştırma (branching) stratejisi uygulamamız gerekiyordu.”
Metin Karabiber, hedeflerinin sadece paralel geliştirme ihtiyacını karşılamak olmadığını vurgulayarak geliştirme süreçlerinde daha önce karşılaştıkları diğer sorunlara değiniyor: “Geliştiricilerin kaliteli kod üretimlerini sağlamak ve geliştirme sürecindeki tüm aşamaları ölçümlemek için de bir araca ihtiyacımız vardı. Kod kalitesi ölçüm sürecini mümkün olduğunca otomatikleştirerek bu sürece çok fazla zaman harcamamamızı sağlayacak, geliştiricinin kendi hatalarını kolayca görüp düzeltebildiği bir sistem istiyorduk. Daha önce kod yönetiminden sorumlu 3 kişilik ekibimizin işgücü çok yoğundu ve bu yoğunluk, geliştirme sürecinin gerektiğinden fazla zaman almasına yol açıyordu. Ayrıca test ortamından üretim ortamına geçerken yapılabilecek bir takım manuel hataların da önüne geçmek için tümüyle entegre çalışan bir ortam seçmemiz gerekiyordu; çünkü yeterince otomatik olmayan, insan müdahalesinin yüksek olduğu geliştirme süreçlerinde test ortamından üretim ortamına hatalı kodun geçmesi riski de yüksek oluyor.” .NET PLATFORMUYLA ENTEGRE, ESNEK VE GENİŞLETİLEBİLİR BİR KOD YÖNETİM ORTAMI TFKB, kod kalitesi için 4 yıl öncesine kadar Microsoft’un Visual SourceSafe ürününü kullanıyordu. O tarihte bankanın uygulama kurgulamaları daha çok Visual Basic odaklı olduğu ve geliştirme mimarisi birbiriyle çok entegre olmayan modüller halinde yapılandığı için Visual SourceSafe bankanın ihtiyaçlarını karşılamaya yetiyordu. Ancak tümüyle entegre biçimde çalışan Microsoft .NET platformuna geçtiğinde daha etkin bir kod yönetim aracına ihtiyaç doğdu. TFKB, piyasadaki kod yönetim ve süreç otomasyon araçlarını genel olarak değerlendirmekle birlikte, .NET platformunu kullanıyor olması Microsoft Team Foundation Server’ı (TFS) seçmesindeki en büyük etken oldu. Karabiber şöyle devam ediyor: “Seçimimizdeki ikinci önemli etken ise Microsoft’un TFS’e yaptığı yatırımı gözlememizdi. TFS hızlı bir geliştirme sürecine girmişti; Microsoft’tan aldığımız ürün yol haritaları çok şey vaat ediyordu ve Microsoft dünyasından TFS’yi kullanmamız konusunda tavsiyeler vardı.” TFKB, dallaştırma (branching) projesini ise 2009 yılında Microsoft danışmanlığında uygulamaya geçirmiş. Karabiber, “Microsoft’un sağladığı en önemli katkı, tüm dünyada bu alandaki problemlere nasıl yaklaşıldığı ve kullanılan standartlar hakkında büyük bir öngörü sunmasıydı” diyor. “Bu standartlar ışığında, birlikte TFKB’deki insan kaynakları ve iş süreçlerine en uygun uygulama şeklini belirledik.”
PARALEL PROJE GELİŞTİRME RAHATLIĞI TFKB’de Kod Yöneticisi olarak görev yapan Abdullah Nehir ise şöyle diyor: “TFS çok esnek şekilde uygulamaya geçirilebilir bir ürün. Bu esneklik, TFS API’lerini kullanarak kendi otomasyonumuzu yazmamıza olanak tanıdı. Böylece hem versiyon kontrol sistemini ve otomatik derleme sistemini yönetebiliyoruz, hem de binary dosyaları çekip test ve geliştirme ortamlarına aktarabiliyoruz. Son derece genişletilebilir bir yapıya sahip.” Microsoft TFS ile her bir proje/güncelleme için bir geliştirme ve bir test ortamı hazırlanıyor. Her bir geliştirici bir koda check-in yaptığında, o kod için bir “build” oluşturuluyor. Ardından kod analizleri yapılıp ölçüm verileri toplanıp raporlanıyor ve binary dosya alanı güncelleniyor. Test mühendisleri gerektiğinde kodları bu alandan alıp test ediyorlar. TFS API’leri sayesinde binary alanındaki dosyalar test veya uygulama sunucularına otomatik yükleniyor. Bu ortamda tek bir komutla dallandırmalar hazırlanıyor, kod “buildleri” otomatik oluşturuluyor, kaynak kodu izinleri veriliyor ve geliştirme/test ortamları hazırlanabiliyor. Bir Visual Studio eklentisiyle geliştiriciler kolayca dallandırma, binary alanını güncelleme ve geliştirme ortamına aktarma işlemlerini gerçekleştirebiliyorlar. Nehir, “API’ler Microsoft TFS’e büyük esneklik ve genişletilebilirlik kazandırıyor” diyor. “TFS API'lerini kullanarak yaptığımız otomasyon sayesinde 200 kod dalını kolay bir şekilde yönetiyoruz.” ÖLÇÜLEBİLİRLİK VE PERFORMANS İYİLEŞTİRME AVANTAJLARI TFKB, Bankacılık Düzenleme ve Denetleme Kurumuna bağlı bir kuruluş olarak belirli COBIT standartlarına uyması gerekiyor. Bunların başında, geliştirme sürecinde işin talebinden üretim ortamına giderken hangi kodların hangi taleple ilgili olduğunu, hangi kodların ne şekilde geliştirildiğini takip etmek geliyor. Microsoft TFS’i bu ihtiyaca cevap verecek şekilde de konumlandıran TFKB, denetleme (audit) yapısını oluşturarak tüm denetleme araçlarıyla entegre etti. TFKB, Microsoft TFS ile her projede kaç satır kod yazıldığını izleyip kod kalitesi ölçümlemelerini geliştirici bazında etkin bir biçimde yapabiliyor. Abdullah Nehir şöyle diyor: “TFS API’leri ile tüm geliştiricilerimizin check-in süreçlerini dinliyoruz ve kod kalitesi ölçümlemelerini yaptıktan sonra her geliştiriciye özel not vererek bu notu geliştiricilere bildiriyoruz. Böylece geliştiriciler kendi performanslarını değerlendirerek hatalarını düzeltebiliyorlar. Ayrıca kod, belirlediğimiz bir kalite seviyesine ulaşmamışsa, o kodu kesinlikle üretim ortamına almıyoruz. Geliştiriciler zaman içinde kod kalitesini iyileştirdiğinde biz de aşılması gereken minimum seviyeyi yükseltiyoruz. Böylece sürekli bir iyileştirme sağlanıyor.” ARTAN VERİMLİLİK VE MALİYET TASARUFU Microsoft TFS ile birlikte TFKB yazılım ekibinin geliştirdikleri projeleri üretim ortamına geçirmeleri kolaylaştı. Projeler paketler halinde geliştirilip üretim ortamına alınırken projelerin kodlarını birbirinden ayırma ve geçerli kodları manuel olarak seçip yerleştirme gerekliliği de ortadan kalktı. TFS ile üretim ortamına geçerken geliştirme ortamında unutulmuş kod kalmıyor. Abdullah Nehir, “Microsoft TFS ile hizmet kesintisi riski en aza indi” diyor. “Geliştirme ortamında unutulmuş kodlardan dolayı ortaya çıkan hataları elimine ettik. Bunun yanında testler ‘üretim ortamı ve proje geliştirmeleri’ bütünlüğünde yapıldığı için projelerin iç içe geçmesinden kaynaklanan hatalar da ortadan kalktı. Ayrıca, artık herhangi bir proje feshedildiğinde geliştiriciler codebase’i temizlemek zorunda kalmıyor, ilgili branch’i silmemiz yeterli.” TFKB Yazılım Departmanı, Microsoft TFS ortamına geçtikten sonra, çözümün sunduğu verimliliğin kendileri için ne kadar bir maliyet tasarrufu anlamına geldiğini de görmek istemiş. Microsoft TFS’ye geçmeden önce ve geçtikten sonra bir yıl içinde 10 bin satır, 1000 satır ve 500 satır üzeri koda sahip kaç proje gerçekleştirdiklerini ve her projenin ortalama üretime taşıma maliyetini adam/gün cinsinden karşılaştıran departman, bu hesap sonucunda yılda 178 bin TL tasarruf sağladıklarını gözlemiş. Nehir şöyle diyor: “Eskiden 10 bin satır kodu aşan projeleri üretim ortamına geçirmek için 3 kişi 3-4 gün kodları ayıklıyordu. Şimdi ise bu işlem 1 saati geçmiyor; çok büyük bir projeyi 1 saat içinde üretim ortamı için paketleyebiliyoruz.” YÜKSEK GÜVENLİK Metin Karabiber, TFS’de tutulan projelerin bankanın ana servetlerinden biri olduğunu söylüyor: “Bu nedenle gerçekleştirdiğimiz projelerin TFS’de güvenli şekilde tutuluyor olmasının değeri bizim için ölçülemez boyutta. Kodlar Microsoft SQL ortamında küme yapısıyla tutuluyor. Yedeklerden geri dönüş de çok kolay. Özellikle TFS 2010 sürümüyle birlikte büyük performans artışı sağlandı.” 4 yıl önce 2005 sürümüyle TFS’i kullanmaya başlayan banka, bugün Microsoft TFS 2010 sürümünü kullanıyor ve bir sonraki sürüm ile ilgili duyurulan yenilikleri de yakından takip ediyor. TFKB, yeni sürümde olmasını arzu ettikleri özellikleri bir liste halinde Microsoft’a gönderebiliyor ve Microsoft’un forumlarında yapılan duyurularda bu özellikleri karşılayan fonksiyonların ürüne eklendiğini gözleyebiliyor. Abdullah Nehir, “Zaten yeni TFS sürümünün sloganı ‘önce geliştirici’” diyor. “Özellikle dış kaynak kullanımını desteklemek üzere bulut yapısının geleceğini de öğrendik.” |
|
||||||||||||||||||||||||||||