KAD İle Finans Sektöründe Yazılım Hatalarını En Aza İndirgeme Çözüm Süreci

Benzer belgeler
Finans Sektörü Yazılım Süreçlerinde Şelale Modelinden Scrum Modeline Geçiş

Varlık davranış modeli: Bu aşama her entity ye etki eden durumların tanımlandığı, modellendiği ve dokümante edildiği süreçtir.

Bir yazılım geliştirme metodolojisi aşağıdaki adımlardan meydana gelir; Yazılım geliştirme sürecine destek verecek araçlar, modeller ve yöntemler.

Yazılım Mühendisliği 1

SİSTEM ANALİZİ VE TASARIMI

9.DERS Yazılım Geliştirme Modelleri

Günay Deniz D : 70 Ekim finansal se krizler, idir. Sinyal yakl. temi. olarak kabul edilebilir. Anahtar Kelimeler:

Sistem Geliştirme Yaşam Döngüsü (The Systems Development Life Cycle) (SDLC)

1.Yazılım Geliştirme Metotları 1

EKONOMİ MEZUNLARI NE İŞ YAPAR?

ÇEVİK YAZILIM GELİŞTİRME AGILE KEEP IT SIMPLE

YAZILIM MÜHENDİSLİĞİ Şubat 2012 Yrd.Doç.Dr. Yunus Emre SELÇUK GENEL BİLGİLER

aselsan Açık Pozisyonlar Bilgi Teknolojileri (BT) Denetçisi İç Denetçi

Akış. Atik Yazılım Geliştirme Tanımı ve Kavramlar Tarihi Metotları Dünyada Atik Yazılım Geliştirme Örnekleri Sonuç BİL 588 2

MÜHENDİSLİK FAKÜLTESİ / ENSTİTÜSÜ / YÜKSEKOKULU BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ BÖLÜMÜ /ABD LİSANS PROGRAMI - 2 ( yılı öncesinde birinci

MESLEKİ TERMİNOLOJİ I 1. HAFTA YAZILIM MÜH. TEMEL KAVRAMLAR

Yaz.Müh.Ders Notları #6 1

Sedona. Eğitim Kataloğu

MERHABA. Techlife size teknolojiyi kullanırken hayatınızda sevdiklerinizle daha fazla vakit geçirme fırsatını yakalamakta katkıda bulunmak istiyor.

Sedona. Nisan 2013 Eğitim Kataloğu

TOS 408 EKONOMİ İnşaat Mühendisliği Bölümü

Yazılım Nedir? Yazılım Mühendisi. Yazılım Mühendisliği. ACM/IEEE Etik Kodu. Etik Kural için Önsöz BIL 304 YAZILIM MÜHENDİSLİĞİ

YZM 2108 Yazılım Mimarisi ve Tasarımı

BMH-405 YAZILIM MÜHENDİSLİĞİ

Güvenli İnternet Teknolojileri. Kurumsal Şirket Tanıtımı

THE DESIGN AND USE OF CONTINUOUS GNSS REFERENCE NETWORKS. by Özgür Avcı B.S., Istanbul Technical University, 2003

YAZILIM MÜHENDİSLİĞİNİN TEMELLERİ 9.Hafta. Bakım

SENTEZ TABANLI YAZILIM MİMARİSİ TASARIM YAKLAŞIMININ ESSENCE ÇERÇEVESİYLE MODELLENMESİ

BMH-405 YAZILIM MÜHENDİSLİĞİ

YAZILIM MÜHENDİSLİĞİ TEKNOLOJİ FAKÜLTESİ / BİLGİSAYAR MÜHENDİSLİĞİ

SİSTEM VE YAZILIM. o Bilgisayar sistemleri donanım, yazılım ve bunları işletmek üzere gerekli işlemlerden oluşur.

Tüm Kurumsal İşlerinizde Profesyonel Çözümler

Courses Offered in the PhD Program

İleri Yazılım Proje Yönetimi (SE 552) Ders Detayları


Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Yazılım Mühendisliği II (BIL 306)

İÇİNDEKİLER HAKKIMIZDA UZMANLIK FİKRİ MÜLKİYET İSTİHDAM TİCARİ İHTİLAFLAR DAVA VE İCRA TAKİPLERİ EKİBİMİZ REFERANSLAR İLETİŞİM

BMH-405 YAZILIM MÜHENDİSLİĞİ

Yazılım İnşası ve Evrimi (SE 556) Ders Detayları

Büyük Ölçekli Bir Sistem Projesinde IBM Rational Jazz Platformu Kullanarak Çevik Süreçlerin Uygulanması. Serap Bozbey


Aşırı Programlama İçin Üç Yeni Pratik

Yazılım Test Süreci ve Uygulama Örneği İle Süreç İyileştirme Çalışmaları ve Sonuçları

Scrum Çevik Süreçlerinin Ar-Ge Yazılım Projelerinde Kullanımı

Statik Kod Analizi. Proceedings/Bildiriler Kitabı. SSE-CMM[3], ISO/IEC [3] gibi standartlarla. gereklidir.

S u G e ç i r m e z.

MÜHENDİSLİK FAKÜLTESİ / ENSTİTÜSÜ / YÜKSEKOKULU BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ BÖLÜMÜ /ABD LİSANS PROGRAMI - 1 ( yılı ve sonrasında birinci

TMS 2 STOKLAR STANDARDINDA, DĐĞER MALĐYETLER BÖLÜMÜNÜN, TEK DÜZEN HESAP PLANI ÇERÇEVERSĐNDE ELE ALINMASI

Bilgisayar Mühendisliği

Yaşanmış Tecrübe Paylaşımı Önce Test Et Sonra Kodla XP Pratiği

İleri Yazılım Proje Yönetimi (SE 552) Ders Detayları

Acil Durum Yönetim Sistemi ICS NFPA 1600

Mühendislik ve Bilgisayar Bilimleri Fakültesi Yazýlým Mühendisliði

MIS 325T Servis Stratejisi ve Tasarımı Hafta 7:

YEKTAMAK Makine ve Mühendislik; YEKTAMAK müşterilerinin ihtiyaçlarının belirlenmesinden projenin teslim edilmesine kadar olan süreçte;

ANKARA ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ DÖNEM PROJESİ

Yazılım Süreçleri Software Processes

METAL SANAYİ VE TİC. LTD. ŞTİ.

CMMI. CMMI ve Çevik Yöntemler. Orhan KALAYCI Haziran Yazılım Süreç Kalitesi ve Yönetim Danışmanlığı.

Kurumsal Yönetim Sistemleri Sistemleri

Bilgisayar Mühendisliği. Bilgisayar Mühendisliğine Giriş 1

Kutalmış Damar Emre Uzuncakara. 07 Haziran İstanbul

Yazılım Geliştirme Süreçlerinde Şelale Yönteminden Çevik Yaklaşıma Geçiş: Bir Teknoloji Şirketinde Uygulama

Information Technology Infrastructure Library ITIL

ÖZGEÇMİŞ. 7. Yayınlar 7.1. Uluslararası hakemli dergilerde yayınlanan makaleler (SCI & SSCI & Arts and Humanities)

GT Türkiye İşletme Risk Yönetimi Hizmetleri. Sezer Bozkuş Kahyaoğlu İşletme Risk Yönetimi, Ortak CIA, CFE, CFSA, CRMA, CPA

Kısaca. Müşteri İlişkileri Yönetimi. Nedir? İçerik. Elde tutma. Doğru müşteri Genel Tanıtım

о компан MISSION By Creating Goldroom Production of Home textilles Products with leading Company Working in the field

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

vizyon escarus hakkında misyon hakkında Escarus un misyonu, müşterilerine sürdürülebilirlik çözümleri sunan öncü bir şirket olmaktır.

1: Anlatım, 2: Soru-Cevap, 3: Lab, 4: Örnek vaka incelemesi

İşletmenin Fonksiyonları. İşletmenin Fonksiyonları Finansman Fonksiyonu. Finansman Kavramı. Finansman Kavramı. Finansman İnsan Kaynakları.

Uyumluluk markalamasından katma değerli kodlamaya kadar

Revolution I TDL101 Z Türk Dili I Turkish Language I TOPLAM Tarihi II


Yaşam Boyu Finansal Okur-Yazarlık

Özet Tanıtım Dokümanı

CODE DESCRIPTION DIMENSIONS HEIGHT CAPACITY CASE QUANTITY PACKAGING MATERIAL COLOUR WEIGHT MC.06 Mini Cup 48 x 48 mm 45 mm 60 ml 600 pcs 24 pack x 25

Öğretim planındaki AKTS Ulusal Kredi

time for the change

T.C. MANİSA CELAL BAYAR ÜNİVERSİTESİ İŞLETME FAKÜLTESİ 1. YARIYIL

Revolution I TDLİÖ101 Z Türk Dili I Turkish Language I TOPLAM Tarihi II

11/10/14. Yeni ürün geliştirme stratejisi Yeni ürün geliştirme süreci Yeni ürün geliştirme yönetimi Ürün yaşam döngüsü stratejileri

Erol KAYA Yönetim Kurulu Başkanı Chairman Of The Board

SÜRDÜRÜLEBİLİRLİK POLİTİKASI. Sürdürülebilirlik vizyonumuz

KoçSistem. İK Uygulaması

Grontmij Sürdürülebilir Mühendislik ve Tasarım... Övünç Birecik, Grontmij Türkiye

TEDARİK ZİNCİRİ YÖNETİMİ

ANKARA PROFESYONEL MAKİNA KALIP PLASTİK YAPI EĞİTİM SANAYİ VE TİCARET LİMİTED ŞİRKETİ

TEDARİK ZİNCİRİ YÖNETİMİ

Goal Nothing better is not good enough. That s why we work with the goal of continuous improvement in everything we do.

Banka Kredileri ve Büyüme İlişkisi

Sürekli ve Kazançlı Büyüme.


WEB PROJESİ YÖNETİMİ. Belli bir süre içerisinde, belli bir bütçe ile belirlenen hedeflere ulaşmak için uygulanan metodolojik süreçtir.

TDM BUMESH TARIM MAKİNALARI TECHNICS.

IBM CLM Çözümleriyle Çevik Yazılım Süreçleri. Canberk Akduygu & Koray Okşar

AYDIN KOMPRESÖR. En Yüksek Performans. En Zor Şartlarda. %100 YERLİ İMALAT

Pazarlama: Tanım, Tarihçe, Kavramlar

SAP OEM PROGRAM ORTAKLIĞI REHBERİ. Türkiye nin ilk SAP OCP İş Ortağı MDS ap den OEM Programı Hakkında Bilmek İstedikleriniz...

Transkript:

KAD İle Finans Sektöründe Yazılım Hatalarını En Aza İndirgeme Çözüm Süreci 1 Ayşe Betül Karagöz, 2 Fatma Molu 1,2 Kuveyt Türk Katılım Bankası Ar-ge Merkezi, Kocaeli, Türkiye Abstract The most effective way to finance and sustain economic growth is possible with a vast, powerful and sound structure in financial sector. It is crucial for individuals and companies to have availability for credit and sustenance in financing investment, production, consumption and commerce. Operating in order to meet the financial services required by customers and the economy and to ensure that the payments system work, financial institutions are crucial actors in economic activity.[1] It has been clearly understood from certain examples of software products employed in such a critical field of profession that errors arising from these products caused material and immaterial damages, lead to loss of customer trust and resulted in damage of corporate reputation. Studies have shown that distribution channels like internet banking started to be frequently used especially by intellectuals with the spread of internet and the more widespread the service became, the more criticism it received, inevitably leading to competition.[2] These circumstances lead financial sector to search new methods to minimize software errors. Critical and analytical thinking methods such as critical approach, hypotheses testing and prejudice detection were employed starting from problem detection phase to final solution phase in order to understand the problem. Experience of this phase and period of change were explained and critical and analytical thinking and properties of them were emphasized.[3] Key words: CAT, finance, software, software testing Özet Ekonomik büyümeyi finanse etmenin ve sürdürmenin en etkin yolu finansal sektörün büyük, güçlü ve sağlıklı bir yapıya sahip olmasıdır. Yatırım, üretim, tüketim ve ticaretin finansmanında, şirketler ve bireyler için kredinin bulunabilirliği ve sürekliliğinin sağlanması hayati öneme sahiptir. Temel işlevleri müşterilerinin ve ekonominin ihtiyaç duyduğu finansal hizmetleri sunmak ve ödeme sisteminin çalışmasını sağlamak olan finansal kurumlar ekonomik faaliyetin çok önemli bir parçasıdır.[1] Böylesine kritik bir alanda kullanılan yazılım ürünlerinin kalitesinin ne kadar önemli olduğu yaşanılan örneklerde görülmüştür ki, yazılım ürünlerindeki hatalar maddi, manevi zararların olmasına, müşteri güven ve sadakatinin yitirilmesine, kurum itibarının zedelenmesine sebep olmuştur. Yapılan araştırmalar göstermiştir ki internetin yaygınlaşmasıyla birlikte İnternet Bankacılığı gibi alternatif dağıtım kanalları özellikle entelektüel çevrelerce sıkça kullanılmaya başlamış ve verilen hizmet sektöründe yaygınlaşmasıyla birlikte eleştiriler almayabaşlamış ve rekabeti kaçınılmaz noktaya taşımıştır.[2] Bu durum finans sektörünü yazılım ürünlerindeki hataları en aza indirgeme konusunda çözüm metotları arama yoluna itmiştir. Makalede bu arayış sürecinin en başından yani sorunun tespit aşamasından başlayarak son aşaması olan nihai çözüm aşamasına kadar sorunu anlamada kritik analitik yaklaşım, varsayımların sorgulanması, önyargıların

126 tespit edilmesi gibi KAD yöntemleri ile ele alınması, tecrübe edilmesi ve değişim süreci anlatılmış, sürecin başarısına katkı sağlayan KAD avantaj ve KAD özelliklerine vurgu yapılmıştır.[3] Anahtar Kelimeler:KAD, finans, yazılım, yazılım test 1. Giriş Tarih boyunca görülmüştür ki yaşayan süreçler çoğu zaman tecrübelerle birlikte kendini kaliteli ve kullanılabilir hale getirirler. Tecrübelerden edinimlerin hayata geçirilmesi zaman kaybı, fazzla efor harcanmasına sebep olmaktadır ve herşeyin tecrübe edilememe ihtimali veya tecrübe edilmesinin beklenmesi süreçteki risklerin devam etmesine sebep olacaktır. Tüm bu durumlar yazılım süreçleri için de geçerlidir. Yazılım süreçlerindeki hatalar bir çok riske, can mal kaybına, itibar kayıplarına sebep olmuştur. Yazılım süreçlerinde yapılan hatalarla ilgili birçok tarihi olay kayıtlara geçmiştir. Tüm bunların sonucu olarak yazılım süreçlerinde analiz ve test süreçleri yazılım sürecine dahil dilmiştir. Makalede ağırlıklı olarak yazılım süreci modellerinden ve kritik analitik düşünceyi içinde barındıran yazılım test sürecinin de dahil edildiği yazılım süreci modelinden bahsedilmiştir.

127 2. Yazılım Geliştirme Sürecinin Oluşumu ve Gelişimi 1837 yılında ilk olarak duyurulan Analytical Engine Code Order ve peşinden geliştirilen diğer makine dilleriyle başlayan dünya programlama süreci gelişimi içinde bulunduğumuz son yıllarda nesne yönelimli programlamanın gelişmesiyle birlikte çok hızlı ve pratik hale gelmiştir. Bu gelişmelerle birlikte giderek serileşen yazılım üretiminde metodoloji kullanımı ihtiyacı doğmuş ve 1960 lı yıllarda ilk defa Gelişigüzel Geliştirme Modeli uygulanmıştır. Gelişigüzel Geliştirme Modeli basit programlamanın olduğu ve üretimde sadece yazılımcının olduğu bir geliştirme modeliydi.yazılımcı bir yazılım ürününü üretmek için sadece yazılım ürününü talep eden müşteri ile görüşür ve ürünü ortaya çıkarırdı. Bu süreçte yazılımcı sadece müşterinin ne istediği bilgisini alır ve müşteri ve yazılımcı müşterinin istedikleri üzerinde krtikanalitik yapmadıysa çoğu zaman ortaya müşterinin istediği veya istemediği, risklere açık, kullanılabilir olmayan bir ürün üretilirdi.programlama dillerinin hızla gelişmesine ve serileşmesine rağmen süreçteki bu aksaklık devam etmiştir. Tüm bu yaşanan tecrübelerin sonunda programlama süreci fazlara ayırma ve ayrılan fazlarda da yazılımcı haricinde analist, testuzmanı ihtiyacı farkedilerek, yeni görev ve iştanımları oluşturularak ve farklı yazılım modelleri oluşturulmuştur. Bu geliştirme modellerinden biri olan Şelale Modeli 1970 li yıllardan bu yana dünyada en yaygın olarak kullanılan bir yazılım geliştirme modelidir. 3. Şelale Yazılım Geliştirme Modeline Kritik Bakış Dünyada en yaygın kullanılan bu geliştirme modeli sürei analiz, tasarım, kodlama, sınama ve bakım gibi adımlardan oluşup, bir adımın tamamlanmasıyla bir sonraki adıma geçilebilmesi mümkün olabilmektedir. Herhangi bir adımda oluşan hataya da farkedilen eksiklik için ancak bir adım geriye gidilirse düzeltilebimektedir. [4] Şelale Modeli 1970'li yıllarda Winston W. Royce tarafından yazılan bir makalede oluşturulmuştur. Şelale modelinin bu adı almasının sebebi ise birbiri içine geçmemiş ardışık aşamalardan oluşmasıdır, süreç yukarıdan aşağıya doğru akan şelale gibi peşpeşe devam eder. Her adım bir önceki adımda üretilenleri kullanarak kendi safhasını gerçekleştirir. Şekil 1 Şelale (Waterfall) Model Yazılım Süreci

128 3.1. Şelale Modelinin Avantajları Gereksinimlerin en başta net olarak ortaya konulması projenin kapsamının, süresinin belli olmasını sağladığından netleşmiş bir iş planı ile proje başlar. Projenin safhaları ayrı olduğundan iş bölümü ve iş planı projenin en başında net bir şekilde bellidir. Bu durum projenin yönetimini de oldukça kolay hale getirir. İş akışı bir önceki adıma dönüş olması yapılan dokümantasyon ve raporlama süreçleri kolay bir şekilde eksiksiz tamamlanır.[5],[6] 3.2. Şelale Modelinin Dezavantajları Projede olabilecek her türlü değişime karşı elverişsiz, katı bir modeldir. Yapılan her değişiklik maliyeti büyük oranda artırır. Müşteri memnuniyetini sağlamak çok zordur çünkü gelişim ve değişime açık bir model değildir. Model safhalardan oluştuğu için ürün son safhada tamamlanır, gereksinimlerin iyi tanımlanmadığı müşterinin ne istediğinin anlaşılmadığı bir projede bu durum projenin bittikten sonra iptal edilmesine ve başka gerginliklere sebep olmaktadır. 3.3 Şelale Modelinde Yazılım Testinin Dezavantajları Test safhasının yazılım yaşam döngüsünün başında yer almayıp son aşamada olması hataların çözüm maliyetini ciddi oranda artırmaktadır. Kullanıcı kabul testine son safhada çıkarılan uygulamanın kullanıcı ihtiyaçlarına cevap vermeme riski her zaman vardır. Kullanıcı çalışan uygulamayı sadece son safhada görür. Test sürecinde tespit edilen, değişiklik gerektiren durumlar projeye yaşam döngüsüne kolay adapte edilemez. Test sürecinde tespit edilen gereksinim kaynaklı hataların çözüm süreci proje kaynak ve bütçesi için sorun teşkil ettiğinden uygulamada değişiklik yapılamayabilir. 4. Her Adımında KAD ile Test Olan Bir Yazılım Süreci Modeli Yazılım yaşam döngüsü boyunca her aşamada testin yer aldığı yazılım geliştirme modelidir. Test aktiviteleri (planlama, dizayn gibi) kodlamadan önce başlar. Bu yüzden hatalar iş gereksinimleri belli olduğunda bulunmaya başlar. Bu zaman kazanılmasını sağlar ve daha ileri safhalarda çıkması durumunda maliyeti yüksek hataların önlenmesini sağlar.

129 Şekil 2 V Model Yazılım Süreci 5. Yazılım Test Mühendisi Yazılım Test Mühendisi özelliklerine baktığımızda görülmüştür ki yazılım test mühendisinde olması gereken özellikler KAD kültürüne sahip bir kişide olması gereken özelliklerdir. Yazılım test mühendisi şu özelliklere sahiptir, Dikkatlidir, detayları önemser. Analizi bir varsayım kabul edip kritik eder ve sorgular böylelikle analiz aşamasında bir çok hatanın önüne geçer. Şüphecidir, bilgi kaynaklarını, alternatifleri araştırır ve dener. Tarafsızdır ve önyargılarını projeden uzak tutar. Planlı ve nettir. Süreci iyi bilir, testin konusuna iş ve teknik açıdan hakimdir. Test araçlarını iyi kullanır. İletişimi iyidir ve iletişim araçlarını en etkin şekilde kullanır. Yazılım test mühendisi başından sonuna kadar yer aldığı tüm projelerde proje ekibinin tarafsız şekilde kritik ve analitik bakmalarını sağlar, bulundukları kurumdaki kalite seviyesine en üst seviyeye çıkarır. Test ekibi kalite organizasyonunun bir parçasıdır. Kalite yönetimi ve gelişimi için süreçlerin KAD ile analiz edilmesi, geliştirilmesi ve test edilmesi hataların en aza indirgenmesini sağlar. KAD bakış açısına sahip bir ekip kalitenin bir kültür haline getirilmesini sağlamış demektir. 5. Sonuç Yılların deneyimi sonucu finans sektörü gibi önemli bir çok sektörde firmalar organizasyonlarında

130 bir kalite ve test ekipleri bulundurmaya başlamışlar ve böylelikle rekabetin had safhaya ulaştığı günümüzde kaliteye verdikleri önem derecesinde boy göstermişlerdir. Sistematik hale getirilmiş her yazılım test süreci projenin başında yer almışsa o proje KAD ile yürtülmüş demektir. Her safhasında KAD yaklaşımı içeren bir süreç elbette tecrübe edinmeden bir çok köklü değişimin yapılmasını ve tecrübe ile olgunlaşan bir sürece kıyasla çok daha kısa sürede olgunlaşmasını sağlamıştır. KAD gerekli öngörüyü sağlayarak tüm sistemleri ve süreçleri KAD yapılmayan süreç ve sistemlere kıyasla gözle görülür bir farkla geliştirmiş ve ileriye götürmüştür. Kuveyt Türk Arge Yazılım projelerine destek veren on kişilik bir test ekibi bulunmaktadır. Bu ekip yazılım projelerinin %30 una dahil olmaktadır. Yazılım test ekibinin dahil olmadığı projelerde test ekibinin görevini analistler üstlenmiştir ancak birçok projede test ekibinin verimine ulaşılamadığı görülmüştür. Sonuç olarak kritik analik düşünceyi sistematik hale getirmiş test ekibi büyütülmeye devam etmektedir. Referanslar [1] TürkiyeBankalarBirliğiYön. Kur.Başk. Hüseyin Aydın, BankacılarDergisi, Sayı 84,2013 [2]SalihBarışık, HalimeTemel, http://dergi.kmu.edu.tr/userfiles/file/aralik2007/pdf/7.pdf [3] http://www.kritik-analitik.com/articlespopup.aspx?id=10 [4] Pressman, R. S., Software Engineering: A Practitioner s Approach cgraw/hill2005 6th Ed. (2005) [5]Beck K., Embrace change with extreme programming, IEEE Computer, Ekim 1999 s.70 77 [6] Royce W.W., Managing the development of large software systems: Concepts and techniques Proc. WESCON, 1970, s. 1 9