Sunday, November 11, 2007

STANDARTLARI UYGULAMAK

Yazılım müşterisi açısından işin özü şu. “Öngörülen süre içinde çalışır durumda teslim edilen bir proje başarılı bir projedir”. “Başka hiçbir şey, hiçbir doküman, hiçbir hizmet bunun yerini alamaz”. “Müşteri işinin görülmüş olmasına ve kendi üretim sürecinin başarılı akışına bakar, yoksa harika bir yazılım sistemi sahibi olmak ancak özel olarak hobi türünden meraklı bir müşteri için belirleyici”.

Yazılım üreticisi açısından: “İşin alınması yapılıp bitirilişinden önemlidir”. “Ülkemizde piyasa derinliği az olduğundan az sayıda büyük proje için çok sayıda yazılım firması rekabete girmekte. Bu durum ihalelerde aşırı fiyat düşüşüne neden olmakta, sonuçta değil standartların gerektirdiği üretim süreçlerini uygulamak, üstlenici firmalarda, iş yerini bulsun diye dökümantasyon yazdırtacak bütçe bile kalmayabilmekte”. Hele müşteri özel olarak dükümantasyon istemeyi akıl edemiyorsa, üretim sürecinin doğal bir parçası ve ürünü olarak değil, çalakalem program yazılmakta…

Yazılımcı firmalar açısından: “Nakit akışını sağlamak hayatidir”. “Bir proje ihalesi alındığı zaman gelen nakit genel bütçeye akmakta, nakit akışını sürdürme kaygısı, her çıkan fırsatta yeni yeni projeler yüklenilmesine neden olmakta… Şirketin ayakta durması yapılan işlerin kalitesinden daha önemlidir”…

“Proje süresi her iki taraf açısından gerçekte olmaklığı gerekenden daha kısa olmak zorunda. Müşteri genelde planlayıştaki ya da gereksinim belirleyişteki teknik güçlükler yüzünden ihaleyi belirlemekte ve sonuçlandırmakta gecikir. Yazılım firması ise çok sayıda proje ile uğraştığından ve projeyi kısa bir süreye sıkıştırıp işgücü maliyetlerini düşürmek amacı ile proje başlangıcını geciktirir”.

“Her projenin müşteri tarafında bir veya birkaç sahiplenicisi bulunur. Yazılımcı firma bu kişilerle ilişkilerini düzenlemek, ihale sürecini hızlandırmak için bu insanları teşvik ve ikna etmek zorunda... Bu ilişkilerin yönetim biçimi yalnız ihale sürecinde değil, projenin gerçekleştirilmesi boyunca hayati derecede önemli. Gereksinimler dökümanında belirlenmiş ama yapılışı zorunlu olmayan bir gereksinimin zamanında farkına varılışı projenin kritik bir anında yazılım ekibine altın değerinde zaman kazandırabilir”.

Projenin bitirilebildiği durumlarda: “Önemli olan, ne pahasına olursa olsun, eksik, topal, müşterinin üstün körü kontrolünü geçebilecek şekilde projeyi bitirip çalışır durumda teslim etmek”. “Bitmiş bir projenin zaman içinde eksiklerinin çıkması yalnız doğal değil aynı zamanda iyi. Bitirilmiş bir projenin üstüne çok sayıda kullanıcı isteği gelişi yazılım firmasının nakit akışına katkıda bulunur, ayrıca mühendisler açısından da fazla yorulmadan iş yapıp proje yorguluk atmak imkanını doğurur”.

“İhalede belirlenen koşulların kontrol edilişi kuvvetli bir denetleyiş mekanizması ve genel olarak ta yaygın bir denetleyiş kültürünün varlığını gerektirir. Eğer bir ülkede denetleyiş toplumun ve ekonominin her kademesinde zayıfsa ve bir firma ihaleye girerken standartlara uyuşun gereklerini tümüyle yerine getirirse diğer firmalara karşı zayıf duruma düşer, teklifi pahalı kalır”.

“Bir yazılım paketinin kullanım ömrü birkaç yılı geçmemelidir. Bakım yapmaktansa paketi tamamen yeniden yazmak ya da yeni bir release çıkarmak ekonomik açıdan daha uygun olur yazılımcı firma için”. Ülkemizdeki genel anlayışa göre bakım önemli ve kıymetli değildir. Eskiyen şeyi atar yenisini alırsınız.

Müşteri açısından: “Gereksinimleri belirlemek ve iyi bir proje şartnamesi hazırlamak uzman personel ve zaman gerektirir. Çoğu zaman müşteri ne istediğini yalnız çok kabaca bilir. Gereksinimleri önceden görmek ve belirleyebilmek gelişmiş bir soyut düşünüş yeteneği gerektirir. Soyut düşünüş yeteneği toplumumuzda ve kültürümüzde az bulunan bir vasıf… Gereksinimleri özellikle az ve ayrıntısız belirtmek sonradan içlerini doldurmak imkanını yaratır, hatta baştan konuşulmamış unsurları eklemek mümkün olur”.

Yazılım firması açısından: “Müşteriye dökümantasyon vermek risklidir. Mümkün olduğu kadar müşteri yazılım firmasına bağımlı kalmalı ve istediği her hizmet için ödeme yapmalıdır. Dökümantasyon iyi yapılırsa her zaman bir rakip şirketin eline geçebilir ya da müşteri tarafından bu tür şirketler pazarlık alternatifi olarak kullanılabilir”.

“Yazılım firması içinde liderliğin dediği kayıtsız şartsız uygulanmalı, tartışmak ve fikir almakla zaman kaybedilmemelidir. Proje zamanı çok sınırlıdır zaten… Configuration Manager, testing vb. unsurlar proje zamanını arttırır, üstelik ne kadar gerekli oldukları bile şüphelidir? Yönetim gücünün azalışı ve dağılışı yalnızca işi yavaşlatır. Matrix management kabul edilemez. Şirket liderliği karşılıklı ‘sevgi ve saygı’ içinde projeyi yönetir”.

“Her şeyin belirli oluşu, yazılı ve programlı oluşu iyi değildir. İşin yürütülüşünde esnekliği azaltır. Hem ekonomik olarak, hem planlayış olarak, hem yönetim açısından esneklik ne kadar çok ise o kadar iyidir. Standartlar şirketin esnekliğini azaltır”.

“Elemanlardan bazıları kendilerini vaz geçilmez kılmak ve bu şekilde pazarlık güçlerini arttırmak ister. Ayrıca herkesin herşeyi aynı şekilde yapışı pek gerçekçi bir beklenti değildir ülkemizde... Her yiğidin bir yoğurt yeyişi vardır memleketimizde”.

“Standartların uygulanabilişi için ilk önce okunuşu ve kavranışı zorunlu. Bunun için yeterli İngilizce’ye sahip mühendis sayısı çok az ülkemizde… Alman devleti HER üniversite öğrencisine ABD’de 1 yıl Master bursu veriyor. Yabancı dil devletin sistemli bir yatırım politikası izlemesini gerektirir. Standartları anlayabilmek Batı kültürünü anlamağı ve hazmetmiş olmağı gerektirir. Bu işi 4 yıl İngilizce eğitim veren bir üniversiteden mezun tecrübe ve görgüsü pek olmayan genç ve ucuz elemanlarla yapmak mümkün değil maalesef”.

“Standartlar İngilizce. Program kullanıcı arayüzü Türkçe. Yazanların İngilizce’leri zayıf, dolayısıyla programlar da Türkçe esaslı… Bu standartların uygulanışı daha baştan zorda… Tam olarak anlamadan, ihale koşulları sağlansın diye bir şeyler karalamaktan başka çare yok”…

“Standartlar yazılım üretim sürecinin çeşitli soyutlanışlarından oluşur. Soyut şeyler zordur. Bizim insanımız soyut şeyleri sevmez. Elle tutulur iş olarak, program yazmak varken, ne olduğu, geleceği belirsiz işlerle zaman kaybetmek doğru değildir. Standartlarla uğraşan kişilerin tekrar benzeri bir iş bulmak olasılıkları programcılara göre daha azdır”.

“Her şeyin yazılı ve belgeli oluşu güvenlik ve gizlilik açısından sakıncalıdır. Her programın ve üstündeki her değişikliğin sorumlusunun belirli oluşu insan güvenliği ile ilgili işlerde vicdani yükü aşırı arttırır. Ayrıca, zaten kimin neyi yaptığı ilgili grup şefi tarafından bilinir. Eğer bu bilgi yazılı olursa hukuki sorunlarla karşılaşıldığında firmanın esnekliği azalır”.

“Standartlara uymak kaygısı formaliteyi çok arttırır. Bir yığın kağıt, dosya dosya ortalıkta dolaşmağa başlar. Mühendisler kağıt işi yapmak istemezler. Hem ainesi iştir kişinin lafına bakılmaz. Bizim kültürümüzde yazmak önemli değildir. Mimar Sinan bile onca eserinin yanında, nasıl yaptığını anlatan pek bir yazılı metin bırakmamış”.

“İş yapmaktan kaçan, sonucu doğrudan etkileyen kritik işlerden kaçan, yükün altına kendi girmeyip başkalarını süren bazı mühendislerin sığınmak için kullandıkları pozisyonlar genelde standartların uygulanışı ile ilgili pozisyonlardır. Bu tür kişilerin standartları anlamadan ve geliştirilen uygulamanın özünü bilmeden yaptıkları dogmatik düzenlemeler proje maliyetlerini çok arttırıp kadronun üretken kesiminin moralini bozabilir”.


Standatları uygulamak ile ilgili yukarıda belirttiğim görüşlerin kimileri doğru kimisi yanlış, bazıları nesnel bazıları değil, kimisi gerçek hayattan kimisi varsayım… Ama şu kesin bir gerçek, eğer Türkiye’de bir yazılım firması ISO9000 almak istiyorsa, ya da girdiği bir ihalede ISO12207 ya da Mil498’e uyma yükümlülüğü var ise, beş aşağı beş yukarı bu tür sorunlarla karşılaşacak…

Üstelik bu standartlar dünyanın gelişmiş ülkelerinin ihtiyaçlarına, kültürel ve ekonomik birikimlerine göre hazırlanmıştır. Ülkemiz ve toplumumuzun gerçekleri bu standartları raftan alıp uygulamağa uygun değildir.
Unutmayınız, uçağa binme kültürü hiç olmayan ya da çok yeni olan bir kadroya manevra gücü yüksek uçakların uçuş kontrolu için işletim sistemi yazdırılan bir ülkede yaşıyoruz. Üstelik bu kadro Do178B ya da eşleniği Avrupa standardına uyumu hedeflerken gelen yabancı uzmanları izlemekte zorlanacak kadar kötü bir İngilizce seviyesine sahip. Çünkü izlenen personel politikaları, günü kurtarmak kaygısı-zorunluluğu ile, İngilizce’si çok iyi olan kesimi tutamıyor ya da eldeki elemanları yetiştirmek için hiç değilse lider kadroyu uzun süreli yurtdışı görgü görevlerine göndermiyor.

Daha bir çok olumsuz ama gerçekçi örnek vermek mümkün. Peki, o zaman evrensel standartları Türkiye’de uygulamak mümkün değil midir?

Bunun bir yolu var. Dağa doğrusu en az bir yolunu biliyorum, Almanya Karlsruhe Hava Trafik Kontrolü merkezinde EUROCONTROL-STK’de gördüklerim ve Türkiye’de edindiğim tecrübeler ışığında… Standartları Uygulamak-II adlı yazımda buna değineceğim…

Önemi olan ne yaptığınız ya da bir şeyi yapıp yapmadığınız değil, neyi ne kadar nerede ne zaman ve nasıl yaptığınızdır.

İnce dikkatlerinize.

Ali R+ SARAL