Türkiye | Değiştir

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ı

Ayraç

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.”

Alıntı
Alıntı “Microsoft TFS ile paralel bir proje geldiğinde önce elimizdeki işi bitirmeyi beklememize gerek kalmadı. Ekibimizi ayırarak yeni gelen geliştirmeyi yapmamız ve gerektiği anda projeleri birleştirmemiz kolaylaştı. Aynı noktadan iki yatırımı birlikte hayata geçirebilir konuma geldik ve bankayı ‘time-to-market’ denilen, piyasa ihtiyaçlarına hızlı cevap verebilir noktaya götürebilecek bir altyapıya sahip olduk.” Alıntı
Metin Karabiber
Yazılım Müdürü
TFKB
Alıntı

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.”

Alıntı
Alıntı “TFKB, Uygulama yaşam döngüsü süreçlerinde Microsoft TFS 2010 'u seçerek projelerini daha hızlı ve daha kaliteli geliştirmeyi başardı. Yazılımcılar artık birbirlerini beklemeden paralel kod geliştirme yapabiliyor ve yazdıkları kodun ne kadar kaliteli olduğunu anında görebiliyor, geri bildirim alabiliyor. Böylece kendilerini her seferinde daha iyi kod geliştirmek için sürekli motive ediyorlar.” Alıntı
Fatih Durgut
Microsoft Türkiye Yazılım Destek Mühendisi
Alıntı

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.”

TFKB

Belge İndir
TFKB.pdf
Office Dosyası Görüntüleyicisi


Genel Bakış

http://www.turkiyefinans.com.tr

Proje Öncesi Durum
Kalabalık bir yazılım ekibiyle aynı kodlar üzerinde çalışırken paralel geliştirme ihtiyacı artan TFKB, Microsoft .NET mimarisine geçtiğinde ekiplerin birbirinin çalışmalarından olumsuz etkilenmemesini sağlayacak, kod kalitesini ve yazılımcı verimliliğini artıracak, ölçümleme olanakları sunan, etkin bir kod yönetim aracına ihtiyaç duymaya başladı.

Çözüm
Piyasadaki çözümleri incelerken Microsoft TFS’nin gerek .NET platformuyla entegrasyon avantajlarını, gerek yeni sürümleriyle çok başarılı bir ürün hale geldiğini gözleyen TFKB Yazılım Ekibi, Microsoft danışmanlığında Team Foundation Server’ı kullanmaya karar verdi.

Faydalar

  • Yalıtılmış ortamlarda paralel proje geliştirme kolaylığı
  • Ölçüm ve otomatizasyon olanaklarıyla kod kalitesinde artış
  • Üretime alma süreçlerinde maliyet tasarrufu
  • Yüksek güvenlik

Yazılımlar ve Hizmetler

  • Microsoft Team Foundation Server 2010