Kamuda Bilgi İşlem Felaketi – 6

Bilişim amelesi pazarı mı var?

Artık iyice pehlivan tefrikasına dönen yazı serimize devam ediyoruz.

Kamu kurumlarının yöneticilerine çok mühim bir bilgi vermek, bir ikazda bulunmak istiyorum. Hani bilişim projeleri şartnamelerinizin içine işi yapacak personelin niteliği ile ilgili maddeler yazıyorsunuz ya, onu yapmayın! Çünkü ya sahtekâr ya akılsız olduğunuzdan başka hiçbir anlam çıkmıyor o maddelerden!

Neden bahsettiğimizi göstermek için, kopyalana kopyalana artık jenerik hale gelmiş, örnek bir şartname maddesini ele alalım:

Yazılım Geliştirme Uzmanı İçin İstenen Nitelikler

  1. Üniversitelerin bilgisayar ya da elektronik mühendisliği bölümlerinden mezun olmak.
  2. En az 5 yıllık deneyim sahibi olmak.
  3. c#, vb.net veya Java programlama dillerini çok iyi derecede bilmek.
  4. Benzer projelerde uygulama geliştirmiş olmak.
  5. Web Servisleri konusunda deneyimli olmak.
  6. Nesneye Dayalı Programlama konusunda deneyimli olmak.

Bu maddelerde o kadar ciddi sıkıntılar var ki! İlk önce madde madde sıkıntılara işaret etmeye çalışalım:

  1. Neden personelin belli bölümlerden mezun olması şartını getiriyorsunuz? Ülkemizdeki yazılımcıların pek çoğu burada söylenenlerden başka bölümlerden mezun. Bir endüstri mühendisi yahut Fizik mezunu pekâlâ iyi bir programcı olabilir. Bir bilgisayar mühendisi de (birçok örnekte görüldüğü üzere) beklenen “niteliklere” sahip olmayabilir.
  2. Şartnamelere ölçülemeyecek şeyler yazmak ahmaklıktır. Deneyimi nasıl ölçebilirsiniz? Okuldan mezun olalı geçen süreye mi bakacaksınız? Ya adam o süre boyunca başka işlerle uğraşmışsa? Daha önce çalıştığı projelerden referanslar mı isteyeceksiniz? Türkiye şartlarında bunu istemek, temin etmek ve güvenilirliğine itimat etmek mümkün mü?
  3. Şartnamede yazılım dili, mimari altyapı ve teknoloji belirtmek yanlıştır. Burada belirtilen dilleri ayrı ayrı “çok iyi derecede” bilmek de pek mümkün değildir. Kaldı ki personelin yazılım dili bilgisinin “çok iyi derecede” olduğu nasıl belgelenecektir? Kurum sınav mı yapacaktır? Bu sınavı hazırlama ve sonuçları değerlendirme kabiliyeti yahut imkânı var mıdır?
  4. Bir kişi benzer bir projede içerikten bağımsız olarak çalışmış olabilir. Mesela siz elektronik belge yönetim sistemi ihalesi yapıyorsunuzdur ve bir programcı daha önce başka bir elektronik belge yönetim sistemi projesinde çalışmıştır ama sayfaların tasarımıyla, renkleriyle uğraşmıştır. Ya da veritabanı optimizasyonu yapmıştır. Benzer projede çalışmış olmanın alan bilgisi kapsamında her hangi bir avantajı garanti etmesi mümkün değildir.
  5. Web servisleri? Hangi tür web servisleri? Deneyimin ölçüsü nedir? Internetten bulunan web servisleri hakkında bir videoyu izlemiş olmak mı yoksa ülke çapında çalışan web servisleri yazmış olmak mı? Yoksa web servisi diye bir şeyin varlığından haberdar olmak mı?
  6. Eski şartnamelerden kopyalana kopyalana günümüze ulaşmış, artık anlamını yitirmiş bir klişe de “nesneye dayalı programlama” bilgisi şartı. Bugün geçerli olan hemen her bilgisayar dili nesneye dayalı zaten! Okullarda mutlaka nesneye dayalı programlama öğretiliyor.

Şimdi teknik bilgi eksikliği sebebiyle yapılan yanlışları bir kenara koyup bu tür maddeleri neden sahtekârlık-akılsızlık ekseninde ele aldığımızı izah edelim.

İlk önce işin sahtekârlık tarafını ele alalım. Böyle şartname maddelerini okuyan her firma yetkilisi bilir ki bu maddeler, işin zaten ihale edilmeden önce verilmiş olduğu firmanın personelini tanımlamaktadır. İhale sadece formalite gereği yapılmaktadır. Çünkü piyasada tam belirtilen nitelikte ve sayıda personeli bünyesinde sürekli istihdam edebilecek başka bir firma yoktur!

Bir firma sahibi olduğunuzu düşünün. Elinizde para kazandığınız bir iş olmasa bile, belki bir gün bir kamu kurumu ister diye belirtilen niteliklerde üç-beş personeli sürekli istihdam edebilir misiniz? Hiçbir iş yapmadan o personele maaş vermeye devam edebilir misiniz? Çok zenginsiniz ve müneccim becerilerinizle gelecekte istenecek niteliklerin neler olacağını önceden kestirip o niteliklerde boş oturan beş personel istihdam ettiniz diyelim. Peki, şartnamede o nitelikte beş değil de on personel istenirse ne yapacaksınız?

Kamu müfettişleri bilişim konuları ile, yazılım sektörü ile ilgili azıcık bilgi sahibi olsalar ve özgürce denetim yapabilseler, şartnamesinde bu tür maddeler yazılan her ihale mahkemelik olurdu.

İşin yabancısı olanlar “E canım ne var bunda, kamu kurumu işin iyi yapılabilmesi adına çalıştırılacak personel için standartlar belirlemesin mi? Bu yapılmazsa firmalar çok niteliksiz personelle kalitesiz iş çıkarmazlar mı?” diye düşünebilirler. Bu iyi niyetli kimselere ve onlar gibi düşünen, sahtekârlık kastı olmayan kamu yöneticilerine bu tür maddeleri şartnameye yazmanın neden akılsızlık göstergesi olduğunu izah etmeye çalışalım.

iscibulunur
Bilişim İşçisi Pazarı?

İngilizce’de “the grass is greener on the other side of the fence” diye bir atasözü vardır. “Çitin öte tarafında çimenler daha yeşildir” diye tercüme edilebilir. İnsanların sahip ya da hâkim olamadıkları yerlerle ilgili hakikatten kopuk fanteziler geliştirdiğini anlatır. Bizdeki “komşunun tavuğu komşuya kaz görünür” atasözüne benzer bir atasözüdür. Kamu çalışanları için özel sektör çitin öte tarafıdır. Kendileri ile aynı yemeği yiyen, aynı suyu içen, aynı üniversitelerde okuyan, aynı kitapçılara girip çıkan adamların sırf özel sektörde çalışıyorlar diye farklı olduklarına dair bir kanaat hâkimdir memurlarda. Bu iki taraflıdır. Klasik memur kafası için özel sektör bir yandan kamuyu soymaya çalışan kurnaz tilkiler grubu, bir yandan kamunun yapamadığını yapma konusunda harikalar yaratan süper kahramanlar topluluğudur. O yüzden bahsettiğimiz türden maddeleri yazan memurun (iyi niyetli olanlarının) özel sektör tasavvuru aşağı yukarı şöyledir: (Belki de devleti soymak suretiyle) firmalar o kadar zengin olmuşlardır ki, gerçekten bünyelerinde yüzlerce çalışan barındırabilirler. Eğer barındırmıyorlarsa da Ankara Ulus’taki meşhur amele pazarı misali bir “bilişimci pazarında” her daim boşta, istihdam edilmek üzere bekleyen üç senelik, beş senelik, on senelik yazılımcılar arasından seçip alıverirler! Şu bilgisayar dilinin uzmanları filan yerde, bu teknolojinin uzmanları falan köşede iş beklemektedir. Sadece gel demek yeterlidir!

Böyle saçma sapan bir dünya tasavvuruna akılsızlık denmez de ne denir?

Çitin öte tarafında çimler daha yeşil değil! Kamu için, “proje esaslı” çalışan firmalar projeleri sonlandığında derhal yeni bir projeye başlayamıyorlarsa birkaç ay dayanıp nihayet çalışanlarını işten çıkartırlar. O yüzden bilişim firmalarımızın çoğunun doğru dürüst kurumsal hafızaları, alt yapıları, çalışma usulleri, kodlama standartları, dokümantasyonları, çalışanları için kariyer planları yoktur! Bilgi, tecrübe birikimi olmaz. Bilgi ve tecrübe adına üretilen ne varsa çalışanlarla beraber yiter gider çünkü. Hemen her proje sıfırdan yapılır, taş üstüne taş konamaz. Her kamu projesi için adeta yeni bir firma kurulur ve her projenin sonunda da o firma dağılır. Başka sektörlerin hiçbirinde işe alıp çıkartmalar bu kadar hızlı ve yaygın değildir.

Kimseler kusura bakmasın ama bu şartlar altında ülkemizin 2023 hedefleri de, orta gelir tuzağından kurtulma üzerine yazılan yazılar da, “mutlaka yüksek teknoloji üretmek mecburiyetindeyiz” diye başlayan nutuklar da boş geliyor.

Twitter: https://twitter.com/salihcenap

Linkedin: https://www.linkedin.com/in/salihcenap

Kamuda bilgi işlem felaketi – 5

Teknik Şartname Yazımı

sartnameBu yazı serisinin başından beri kamu bilgi işlem personellerimizden yanlış beklentilerimizin olduğunun altını çizmeye çalışıyorum. Bugün kamu kurumlarımızda bilgi işlem konusunda istihdam edilmiş memurların çoğu, bırakın bir yazılım projesi yapmayı, dışarıya yaptırılacak bir işin teknik şartnamesini bile doğru dürüst yazacak durumda değildirler.

Yapılacak işi doğru tanımlamak, sınırlarını belirlemek, neyi ne şekilde istediğini ölçülebilir şekilde ortaya koyabilmek, işin neredeyse yarısına tekabül eder.

Kopyala-Yapıştır

Kamu teknik şartnamelerini hazırlama işi ile görevlendirilen memurlar ilk iş olarak daha önce yazılmış şartnameler arar bulurlar. Şimdilerde yüksek lisans tezlerinin ne oranda başka tezlerden “alıntı” olduğunu belirleyen yazılımlar var. Kamu teknik şartnameleri bu yazılımlarla gözden geçirilse sanırım çoğunun yüzde seksenden fazla oranda başka şartnamelerden kopyalandığı ortaya çıkar. “Canım bunda ne var, kamu kurumlarının benzer şartları olmasından, bu şartların aynı şekilde yazılmasından daha tabii ne olabilir” denebilir. Şartnamelerle haşır neşir olanlar bilir: şartnamede tutarlılık çok önemlidir. Bu sayfada şöyle yapılacak diye tarif ettiğiniz bir şeyi sonraki sayfada başka türlü tarif ederseniz işi çıkmaza sokarsınız. Dilden dile dolaşan anonim türküler gibi herkesin birşeyler ekleyip çıkarttığı şartnamelerde, tutarsızlıklar ortaya çıkmaya başlar. Öte yandan teknoloji hızla ilerlediğinden, daha iki sene önce yazılmış bir teknik şartnamede kullanımları şart koşulan teknolojilerin çoğu bugün artık “demode” ya da “kabul edilemez” hale gelmiştir. Kopyalanan metinde bunu fark edip düzeltmeye kalkışan memur, –varsa- asıl metindeki tutarlılığı da iyice bozar.  Neticede ortaya ihtiva ettiği tutarsız istekler yüzünden gerçekleştirilmesi “imkânsız” şartnamelerden bir tanesi daha çıkartılmış olur.

Analiz

Bilgi işlem çalışanları –tipik bir memur refleksi göstererek- üzerlerine düşen işi asgari seviyeye çekmeye çalışırlar. Proje süresince her aşamada işin içinde olmaları, işin ilerleyişini takip etmeleri, hatta işleyişe zaman zaman istikamet vermeleri gerektiği halde her işi yükleniciye yaptırmak temayülündedirler. Mesela her projenin başında yer alan “analiz” aşamasının tamamen yükleniciye bırakılması biraz da “biz ne istediğimiz tanımlayamıyoruz, önce bizim ne istediğimizi anlamak için bir çalışma yapın” demenin teknik şartname dilinde ifadesidir.

Kâinat Yönetim Sistemi

Türkiye’de yazılım danışmanlığı yaparak hayatını kazanan, yabancı uyruklu bir dostum vardı. Ülkemizdeki tecrübesini bana şöyle anlatmıştı:

Bir kamu kurumunuzla görüşme yaptığımda tam olarak ne istediklerini soruyorum, kabaca birşeyler söyleyip “detaylarını, sen analiz edip anlayacaksın” diyorlar. İşin ne zaman tamamlanmasını beklediklerini soruyorum, “dün” diyorlar! Ne kadar bütçeleri olduğunu soruyorum, “sen bu işi bedava yap, bize iş yapmak önemli bir referanstır” diyorlar. “Peki, hiç olmazsa isteklerinizi azıcık detaylandırın” diyorum, bakıyorum benden resmen “kâinat yönetim sistemi” üretmemi istiyorlar!

Bilişim sistemlerini bilim kurgu Hollywood filmlerinden tanıyan yöneticilerimizin beklentileri yükseliyor. Bilgi işlem personelinin, üzerlerine düşen her işi dışarıya ihale edip rahat etme düşüncesi de işin içine katılınca yukarıda bahsettiğim dostumun “kâinat yönetim sistemi” dediği ucubeler ortaya çıkıyor. Aslında ortaya konan istekler fikir planında çok da yapılamaz görünmüyor ama hakikat, pratikte başka türlü tezahür ediyor. Bir misalle izah etmeye çalışalım.

Mesela bir kurum, yemekhanesinde yemek yiyen personelini takip etmek, yediği yemeklerin ücretini doğru şekilde personelinden almak için bir proje yapıyor olsun. Aslında bunun için yemek alan her personelin işaretleneceği basit bir veritabanı uygulaması kâfidir. Fakat iş ihale edilmişken başka ne yaptırabiliriz diye düşünmeye başlayan memuru sınırlayan tek şey hayal gücüdür! Önce yemeğe gelen personeli programda işaretlemekten ibaret bir iş ile dahi uğraşmamak için otomatik turnike sistemi istenir. Turnikelerin çalışabilmesi için ya manyetik kartlara, ya jeton sistemine ihtiyaç doğar. Memurun hangisinin tercih edileceğini düşünüp kafasını yoracak hali yoktur. Şartnameye, yüklenicinin her iki alternatif için fiyat, performans ve risk analizi yapıp sunması şartı eklenir. Ödenecek ücret hesaplandığında her çalışandan teker teker tahsilatla kim uğraşacak? Hesaplanan ücretlerin maaştan otomatik mahsup edilmesi istenilir. Kuruma kapağı attığından beri meslekleri ile ilgili hiçbir şey yapmayan istatistikçilerin, endüstri mühendislerinin de bu vesileyle heyecanlandığını görürüz. Sipariş edilen yemek miktarının doğru hesaplanması için yemeğe gelecek kişi sayısının tahmin edilmesi gerekir. Bunun için kurumun seneler önce yaptırdığı, kör topal çalışan personel bilgi sistemine entegrasyon istenir. Böylece izinli, dışarıda görevlendirilmiş yahut raporlu personelin sayısına bakılarak sipariş verilecektir. Tedarikçilerin yönetilmesi için de bir modül olsa iyi olmaz mı? Şartnameye, çalışılan tedarikçilerle ilgili verilerin kaydedileceği bir modül eklenir. Nihayetinde yemek temini de bir satın alma sürecidir.  Hemen bir “satın alma modülü” ilave edilir. İhalesiyle, kabulüyle, ödemesiyle tüm satın alma süreci elektronik ortama taşınsın istenir. Süreçte mecburen birçok resmi evrak üretildiğinden bir “elektronik belge yönetim sistemi” modülü olmazsa olmaz! Satın alma varsa ödeme vardır, para vardır. Para varsa muhasebe gerekir. Hemen şartnameye bir “muhasebe modülü” yerleştirilir. Bu modül kurumun ana muhasebe yazılımıyla da entegre olacaktır. Şartnamede bir cümle bu gerekliliği halleder. Tabi bu ölçekteki bir sistemde veri operatörü ihtiyacı doğmaktadır. Sistemin amirlerden ve memurlardan oluşan kullanıcıları olacaktır. Bu sefer hangi roldeki kullanıcının sisteme hangi yetkilerle erişeceğinin belirlendiği bir “kullanıcı yönetim modülüne” ihtiyaç doğmuştur. Yöneticinin bakacağı ekranlarla, sıradan kullanıcının ekranları da aynı olmayacaktır. Yöneticiler için özelleştirilebilir raporların alınabildiği bir “karar destek sistemi” şartnamede yerini hemencecik buluverir. Yemek taşıyan araçların, yemekhane personelinin, yemeklerdeki kalori miktarının takibi gibi her uçuk kaçık fikir bir modül olarak şartnameye yerleşir. İşte bir “kâinat yönetim sistemi” şartnamesi daha karşınızdadır!

Böyle “herşeyi” yapmaya kalkanların tek bir şeyi bile başaramadıkları defalarca ispatlanmış bir hakikattir. Tüm sistemler mümkün olduğunca küçük, atomik ama modüler tasarlanmalıdır. Bilişim projeleri mezarlığına dönen kamudaki başarısız projelere otopsi yapsak, birçoğunda kâinat yönetim sistemi virüsünün izlerine rastlayacağımız kesindir.

Hangi Teknoloji? Hangi Yazılım Dili? Hangi Veritabanı?

Hemen her kamu kurumunda bilgi işlem projelerinin başlangıcında artık baygınlık veren tartışmalar tekrarlanır. Acaba yazılım Java dilinde mi geliştirilmelidir yoksa “.Net” mi kullanılmalıdır? Açık kaynak kodlu ürünlerle mi yola çıkılmalıdır, lisanslı ürünler mi satın alınmalıdır? Oracle veritabanı mı tercih edilmelidir yoksa MySql yahut PostgreSQL yeterli midir?

Bütün bu tartışmalar anlamsızdır. Kamu kurumlarının bilgi işlem birimleri, üzerlerine vazife olmayan bir konuda zamanlarını harcamaktadırlar. Çoğu zaman, gelişen teknolojiyi takip konusunda başarısız olan, bilgilerini yenileyemeyen kamu bilgi işlem personelinden, profesyonellere yaptırılacak işin teknolojisi konusunda belirleyici olmalarını istemek de beklemek de doğru değildir. Bilgi işlem personeli, teknolojiye değil, yaptırılan işin neticesinde kurumun ihtiyaçlarının karşılanıp karşılanmadığına odaklanmalıdır. Hangi teknolojilerin, hangi mimarilerin, hangi donanımların, hangi yazılım kütüphanelerinin, hangi bilgisayar dillerinin kullanılacağı konusunda ise mutlaka profesyonellerden danışmanlık hizmeti alınmalıdır.

Twitter: https://twitter.com/salihcenap
Linkedin: https://www.linkedin.com/in/salihcenap

Kamuda bilgi işlem felaketi – 4

Sahipsizlik

Karayollarının yaygınlaştırılması ve modernizasyonu devletler için bir prestij ve gelişmişlik kriteri. Ülkemizin “duble” otoyolları, kaymak gibi asfaltları göğsümüzü kabartıyor. E-devlet projeleri, kamu bilişim hizmetleri de benzer şekilde vatandaşın hayatına doğrudan temas eden, vatandaşın hayatını kolaylaştıran yahut zorlaştıran unsurlar olduklarından gelişmişlik göstergesi olarak her geçen gün daha çok önem kazanıyorlar. Yeni yolların açılması, mevcut yolların genişletilmesi nasıl bir ihtiyaçsa, geleneksel yöntemlerle sunulan kamu hizmetlerinin elektronik ortama taşınması ve mevcut e-devlet hizmetlerinin detaylandırılması da acil bir ihtiyaç haline geliyor. Tıpkı karayolları gibi kamu bilişim hizmetleri de zamanla eskiyor, yıpranıyor ve bakım-onarıma ihtiyaç duyuyorlar.

Kamu bilişim hizmetleri ile karayolları hizmetlerinin benzemeyen yönü ise işin tanımlılığı noktasında ortaya çıkıyor. Karayolları inşaatlarının planlanması ve yapılmasında, çalışanları zorlayan pek az “bilinmeyen” var. İşi özel sektöre havale eden kamu kurumu belki Bakan seviyesinde ne isteyeceğini, bürokratlar seviyesinde hangi standartlarda isteyeceğini, yapım sürecini nasıl takip edeceğini ve nihayet kabulü hangi şartlarda yapacağını iyi kötü biliyor. Bilişim sistemleri söz konusu olduğunda bu maddelerin her birinin yerini kocaman soru işaretleri alıyor. İşin “öngörülemezliği” belki de en çok üst düzey yöneticileri dehşete düşürüyor. İşte bu dehşetin ortaya çıkarttığı “sahipsizlik” probleminin izlerini sürmeye başlayacağımız nokta da burası.

Kamu yöneticilerinin birçoğunun temel motivasyonu maalesef bulundukları koltuğun hakkını verebilmek için ter dökmekten ziyade, bürokrasi basamaklarını olabildiğince hızla tırmanmaktır. Yürütülen her çalışma, bürokratlar için idarecilerine, “bir üst makama yerleşmeye hazır oldukları” mesajını vermek amacı taşır. O yüzden her “başarı kırıntısı”, bürokratik silsile içinde her seviyede biraz daha abartılarak en tepeye kadar aksettirilir. Öte yandan “başarısızlıklar” her seviyede biraz daha küçültülerek, mümkünse en üst kademelere fazla da aksettirilmeden sümen altı edilir, bürokratik hafızanın sisli karanlıklarında kaybedilirler.

Bilinmez risklerle dolu bilişim projelerinde karşılaşılan engelleri aşabilmek için, hem işi yapan tarafta hem yaptıran tarafta kuvvetli bir iradeye ihtiyaç duyulur. İşi bilen, isteyen, takip eden ve işin ilerleyişinin önündeki engelleri kaldırabilmek için gereken iradeyi ortaya koyabilen idarecilerin olmaması birçok bilişim projesinin başarısızlıkla neticelenmesine sebep olmuştur. Çoğu projede bu sorumluluk “teknik” yöneticilere verilmeye kalkılır ki bu büyük bir hatadır.

Proje yönetim teorisinde “Executive sponsor” olarak isimlendirilen pozisyondaki kişi çok daha üst bir mevkide olup, kurumu adına “işin” yapılmasının arkasındaki iradeyi temsil eder. Bu kişinin bilgi işlem becerilerine sahip olmasının ehemmiyeti de lüzumu da yoktur. Fakat yetki sahibi olması, insiyatif alabilmesi, projeyi yakından takip etmesi, gidişatı sürekli sorgulaması, raporlar alması, yanlış bir istikamete doğru gidilip gidilmediğini sürekli kontrol etmesi gerekir.

Bu kişi aynı zamanda projenin risklerini de yüklenici tarafındaki mevkidaşıyla yöneten kişidir. Daha alt seviyelerde karşılaşılıp aşılamayan sorunları çözme noktasında devreye girer. Projenin gidişatına göre işin niteliğinde değişiklikler yapabilir hatta doğru gitmeyen projeyi sonlandırma kararını dahi alabilir. Kurum tarafında da yüklenici tarafında da teknik personel değişse de işin aksamaması için gerekli tedbirleri alır. Teknik yöneticilerin arkalarında durarak onları motive eder.

Maalesef ülkemizde yapılan projelerin çoğunda portresini çizmeye çalıştığım kişileri bulmak hayli zordur. Her şeyden önce bulunduğu makamla ilişkisi ancak tramplenden atlayan yüzücünün sıçrama tahtası ile ilişkisi kadar olan bürokratlar, kendilerini işe sahip çıkacak kadar “adamaya” lüzum hissetmezler. Projenin kendi idarecilik dönemleri içerisinde tamamlanamama ihtimali onları rahatsız eder. Çünkü öyle olursa emeklerinin semeresini başka birine kaptırmış olacaklardır. Ayrıca bir işi sıkı sıkı sahiplenmek, başarısızlık halinde proje ile hiçbir alakaları yokmuş gibi davranma lüksünü ellerinden alacaktır. Bilişim projeleri çok yüksek oranlarda başarısızlıkla neticelendiğinden riski almak istemezler. Zaten işin başarıyla sonlanması halinde, hiyerarşi gereği kendi masalarından geçecek sunumlara müdahale ile kendilerine pay çıkartabileceklerini bildiklerinden, hiçbir emek harcamadıkları başarıya sahip çıkmak imkânını her daim ceplerinde hissederler.

Bilişim projelerinde ortaya çıkan bitmek tükenmek bilmez problemlerle güreşme işini bir avuç teknik adamın sırtına yükleyip, hasbelkader bir başarı elde edilecek olursa ortaya çıkma ahlaksızlığının, yani kenarda dolanıp ortada görünme kurnazlığının önü nasıl alınabilir? Kamu bilişim projelerinde başarısızlıkların mühim sebeplerinden birisi olan “sahipsizlik problemi” nasıl giderilebilir?

Belki yapılacak kanuni bir düzenleme ile devletin tüm bilişim projelerinde, anlatılan nitelikteki pozisyonu dolduracak üst düzey bir yöneticinin seçilmesi mecbur kılınabilir. Bu yöneticiler için teferruatlı vazife tanımları yapılmalı hatta her projede, projenin niteliğine göre mesaisinin ne kadarını görevlendirildiği iş için harcayacağı dahi belirlenmelidir. Seçilen yöneticinin ismi, projede üstleneceği vazifeler ve teknik yöneticilerle mutad görüşme takvimi, yüklenici firmalara proje başlangıcında bildirilmelidir. İnsiyatif alma yetkisi ile beraber mesuliyet yükünü de yüklenen bu yöneticilerin insiyatif alan herkesin yapabileceği ufak tefek hatalar yüzünden suçlanmalarını engelleyecek kanuni mekanizmalar geliştirilmelidir. Öte yandan bu kişilerin yönettikleri işler başarıyla sonuçlandığında başarıdaki katkıları tespit edilmeli ve bu kişiler ödüllendirilmelidirler.

E-dönüşüm icra kurulu toplantılarında, e-devlet ile ilgili özel sektörle yapılan istişarelerde, kongrelerde kamu bilişim projelerinde yapılan işin sahiplenilmesinin önemi defalarca dile getirdiği, bu konu raporlarda yer aldığı halde bugüne kadar ciddi bir tedbir alınmadı. Umarım bu yazım meselenin tekrar gündeme gelmesine vesile olur.

Twitter: @salihcenap

Kamuda bilgi işlem felaketi – 3: Bilgi İşlem Yöneticiliği Meselesi

Kamuda bilgi işlem felaketi – 3: Bilgi İşlem Yöneticiliği Meselesi

bilgiişlemdairebaşkanıÜlkemizde “bilgi işlem yöneticiliği” sadece kamuda değil özel sektörde de tam oturmamış, çok ciddi meseleleri olan bir konudur.

Bizde, ister kamuda ister özel sektörde olsun, işini iyi yapan, kendisinden memnun olunan bir çalışanı elde tutmanın yolu onu terfi ettirmek ve idareci pozisyonuna getirmek gibi görülür. Böylece daha yüksek bir maaşa, kendisine ait bir odaya, bir masaya ve dolaba kavuşacak olan çalışan, taltif edilmiş olmaktadır. Çok yaygın uygulama alanı bulan bu yaklaşım, özellikle bilgi işlem gibi teknik alanlarda çalışanlar söz konusu olduğunda felakete yakın neticeler doğurmaktadır.

Her şeyden evvel parlak bir yazılımcıyı yahut sistemciyi idareci yaptığınızda parlak bir teknik adamınızı kaybetmiş olursunuz. Çünkü yeni pozisyonunda iş tanımı değişen çalışanınız artık eskiden başarıyla yaptığı işlerle doğrudan uğraşamayacaktır. Üstelik –kabul etmek gerekir ki- teknik adamlar genellikle sosyal ilişkiler kurmada zayıf, empati becerileri fazla gelişmemiş, bırakın başkalarını, kendilerini idare etmede bile zaman zaman sıkıntılar yaşayan kimselerdir! Bu yüzden başarılı bir teknik adamı terfi ettirdiğinizde kötü bir idareci kazanmış olmanız ihtimali hiç de düşük değildir.

Günlük mesaisinde kod yazan, test yapan, hata ayıklayan “zehir gibi” bir yazılımcıdan, yönetici koltuğuna oturtulduğu andan itibaren bütçe ve zaman planlaması yapması, ihale süreçlerini takip etmesi, bürokratik yazışmalar yapması, altında çalışanları motive edip onların idari problemlerini çözmesi, gelişmeleri üstündeki teknik olmayan yöneticilere anlayabilecekleri bir dile çevirerek izah etmesi beklenecektir.

Yönetim teorisinde “Peter prensibi” olarak bilinen kavram bu vaziyeti çok güzel izah eder:

Hiyerarşik bir organizasyonda, bir makama getirilecek kişinin, o makamda icra edeceği vazifeye uygunluğu değil de bir önce çalıştığı pozisyondaki başarısı ölçü alınırsa, her çalışan, ta ki başarısız olana dek terfi ettirilmiş olur ve nihayet işletmedeki her pozisyon, bulunduğu pozisyonda başarısız olduğu için artık terfi edemeyen kişilerle doldurulmuş olur. Böylece organizasyondaki her yönetici koltuğunda başarısız bir çalışanın oturması garanti edilmiş olur!

Aslında temel problem, maaşın hiyerarşide işgal edilen pozisyonla orantılı olması gerektiğine dair genel kabulde yatmaktadır. Bir memurun amirinden fazla gelir elde etmesi kültürümüzde “kabul edilemez” bir durumdur. Hâlbuki hiyerarşideki pozisyonla alınan maaşın orantılı olması gerektiği fikrini zihinlerimizden bir çıkartabilsek, işini çok iyi yapan bir çalışanı idareci yapmak yerine maaş artışıyla ve idarecilere tanınan bazı imkânlarla ödüllendirmenin daha verimli bir alternatif olduğunu görebiliriz. Bu şekilde teknik personel hem en sevdiği ve en iyi yaptığı işte, en verimli olduğu pozisyonda üretmeye devam etmiş hem de başka alanlarda yönetici koltuklarına oturmaya başlayan akranlarıyla aynı seviyede maddi kazanç sağlamış olacaktır.

Mikro Yöneticiler

Özel sektörde ve kamuda bilgi işlem yöneticiliği pozisyonlarını işgal edenler –torpille gelenleri bir tarafa koyarsak- genelde iyi programcı, iyi sistemci oldukları için terfi ettirilmiş çalışanlardır. Bu kişilerin idarecilik vasfı taşımamalarından kaynaklanan problemlerin yanı sıra, sıyrılmayı başaramadıkları teknik adam kimliklerinin sebep olduğu problemlerden de söz etmek gerekir. Bu problemlerden en önemlisi yönetim teorisinde “micro management” olarak kavramsallaştırılan, yöneticinin yapılan işi her türlü teferruatıyla takip etmesi, aşırı kontrol gayreti ve her aşamasında işe dâhil olma çabasıdır.

Kendisi başarılı bir yazılımcı olduğu halde artık kod geliştirme fırsatı bulamayan çiçeği burnunda müdür, çalışanlarının her yaptığına karışmaya, kararlarına müdahale etmeye, yaptıklarını beğenmemeye hatta zaman zaman oturup yapılanları baştan yapmaya kalkışır. Verdiği işin çalışanlarınca söylenenden çok daha az zamanda halledilebileceğine inanır ve bunu ispata çalışır. Bunları yapmak zaman istediğinden tüm ekibin mesai saatleri genişler, akşam ve hafta sonu mesaileri gündeme gelir. Çalışanlar arasında huzursuzluk gitgide artar. Planlanan proje takvimindeki hesaplar bozulmuş olur üstelik hem yapılan işin kalitesi hem yazılımcıların motivasyonları düşer.

Ya Dayıların Ya Geçen Yılların Yönetici Yaptığı Memurlar

Madalyonun öteki yüzündeki “torpille gelen” yahut bürokrasinin cilvesiyle, sadece kıdem aldıkları için kendilerini bilgi işlem birimlerinin başında buluvermiş idarecilerinin sebep oldukları sıkıntılardan bahsetmemek olmaz. Bu tür idareciler yapılan işin mahiyetinden pek az haberdar olduklarından çalışanları mümkün olduğunca sıkıştırmayı, zorlamayı iyi idarecilik sayarlar. Çok kısa süreler içerisinde çok fazla işin tamamlanması için çalışanlarına baskı yaparlar. İşi bilmediklerinden çalışanlarının verimli çalışıp çalışmadığından, kendilerini aldatmadığından bir türlü emin olamazlar. Genelde çalışanları arasından en güvenilir bulduklarını dinleyerek karar vermeye çalışırlar ki bu yaklaşım onları seçtikleri çalışanlarının kuklası haline getirir. Ellerindeki yegâne başarı kıstası, projenin çalışır haldeki nihai çıktısıdır. Bilişim projelerinde o nihai ürüne ulaşmak uzun ve detaylı bir süreç olduğu için ekiplerine yansıtmaktan çekinmedikleri sürekli bir tatminsizlik ve huzursuzluk hâli yaşarlar. Yaptıkları işi meslekleri olarak benimsemediklerinden başka bir birimin idareciliğine geçmek için mütemadiyen çaba gösterirler. İşi sahiplenmeyişleri, çalışanlarının getirdikleri problemleri kavrama ve çözme noktasındaki acziyetleri ekiplerinin performansına ciddi şekilde tesir eder.

Devlet Kesesinden Devri Âlem

Kamuda bilgi işlem yöneticiliği demek hem yurt içinde hem yurt dışında devlet kesesinden bol seyahat imkânına kavuşmak demektir. Birçok bilgi işlem dairesi başkanını, sanki o bitmek tükenmek bilmez “iş” gezilerinin, uluslararası fuar ziyaretlerinin, konferansların, teknoloji incelemelerinin yaptıkları işe bir katkısı varmış gibi seyahat ederken bulursunuz. Yapılan gezilere dair değerlendirme raporları, bilgi notları hazırlamak zahmetine dahi katlanmazlar çoğu zaman. Ancak bu geziler, yavaş yavaş teşekkül etmeye başlayan bilgi işlem yöneticileri “kastında” sosyalleşme, yahut İngilizcesi ile söylersek “networking” fırsatları yaratır. Senenin neredeyse yarısını yurt içi-dışı seyahatlerde geçiren bazı kamu yöneticileri arasında, yurt dışı seyahatlerde bir araya gelip, o konferans senin, bu toplantı benim ülke ülke gezen arkadaş grupları teşekkül etmiştir.

Peki, bu idareciler yönettikleri işin “omuriliği” sayılan ve hızla yenilenen yüksek teknolojileri takip etmek için okumaya, araştırmaya nasıl zaman buluyorlar diye sormak bu anlattığım manzara karşısında artık abes kaçacaktır.

Para, para, para…

Kamu için özel sektör tarafından gerçekleştirilen bilişim projelerinde üretilen değerin ölçülmesi ve fiyatlandırılması sıkıntılı bir konudur. Geliştirilen bir otomasyon, kamuya on bin dolara da yüz milyon dolara da satılabilmektedir. Ne yazık ki bu fiyatlar, otomasyonun geliştirilmesinde kullanılan insan kaynağı, otomasyonun kurum için özel geliştirilip geliştirilmediği, bakım idame hizmetinin niteliği vs. gibi teknik ve objektif kıstaslar çerçevesinde değil, firmaların satış elemanlarının kamu bilgi işlem yöneticileriyle kurdukları diyaloglar çerçevesinde şekillenmektedir. Bu yüzden, atacakları bir imza ile çok büyük kamu kaynaklarını özel sektör firmalarına aktarabilecek konumda olan kamu bilgi işlem yöneticilerinin çevreleri, bir takım “kirli” niyetlerle onlara yaklaşmaya çalışan kimselerle dolar. Bu kimselerin kamu bilgi işlem yöneticilerine sundukları, başta “masum” gibi görünen küçük hediyeler, çikolatalar, masa süsleri, deri çantalar, yavaş yavaş tablet bilgisayar, dizüstü bilgisayar gibi daha kıymetli hediyelere evrilir. “O” kapı bir kez açıldıktan sonra özel sektörce döşenen makam odaları, finanse edilen yurt içi yurt dışı seyahatler ve artık burada yazmaya dilimizin varmadığı bazı promosyonlar ile kirli ilişkiler kurulur. Kamudaki teftiş mekanizması maalesef bilgi işlem konusunda doğru çalışmamaktadır. Çünkü işin tabiatı gereği, teknik bilgisi olmayan bir müfettişin satın alınan bilgi işlem hizmetin gerçek değerini takdir edebilmesi mümkün değildir ve ne yazık ki bu konularda donanımlı müfettişlerimiz yok denecek kadar azdır. Müfettişler ancak yukarıda anlattığımız türden “şüpheli” diyalogların izini sürebilirler. Müfettişlerin teknik bilgi eksikliklerinden kaynaklanan yanlış ithamları ise zaten iş yapmakta ayak sürüyen kamunun iyice durmasına, riski gören memurların tamamen işten el çekmesine sebep olmaktadır.

Görüldüğü gibi kamuda bilgi işlem felaketinin önemli ayaklarından biri de “bilgi işlem yöneticileri”. Devletin hiç vakit geçirmeden bilgi işlem ihalelerinde takip edilmesi gereken protokollerden tutun, bilgi işlem yöneticisi atama standartlarına varıncaya kadar pek çok konuda düzenlemeler yapması, tedbirler alması gerekmektedir. Artık hemen her kamu kurumunda onlarca bilişim projesi yapılırken ve gelecekte de bu projelerin sayısının hızla artacağı ortadayken, bilişim projeleri konularında uzmanlaşmış müfettişlere ve gerçek bilişim yöneticilerine ne kadar büyük ihtiyaç olduğu görülmelidir.

Daha önceki yazımızda vurguladığımız gibi “yazılım geliştirmek” kamunun işi değildir. Devlet yazılım geliştirme işlerinden derhal ve kat’i surette elini çekmelidir. Özel sektörün astronomik maaşlarla istihdam etmek üzere arayıp bulamadığı, nitelikli bilgi işlem yöneticilerini kamuda istihdam edebilmek ham hayaldir. Devlette görev alacak bilgi işlem yöneticilerinden sadece iki hususta anlamlı ve verimli bir katkı beklenebilir: 1. Piyasaya ihale edilecek bilgi işlem projelerinin idari anlamda takibi ve mevcut sistemlerin gözlenmesi. 2. arıza yapan donanımların tamir ettirilmesi gibi işlerde görevlendirilecek küçük birimlerin organizasyonu. Bunların ötesindeki beklentiler gerçekçi olmaktan uzaktır.

Twitter: @salihcenap

Bilişim Vadisi Projesinin “Bugları”*, Büklüm Büklüm Yolları

Bilişim Vadisi Projesinin “Bugları”*, Büklüm Büklüm Yolları

hat-trickElimizde iki esrarengiz kelimeden müteşekkil, mahiyetini pek bilmediğimiz ama kendimizi kullanmaya mecbur hissettiğimiz ve salladığımızda mucizeler yaratacağından şüphe duymadığımız sihirli bir çubuk var: “Bilişim Vadisi

Güzel bir söz var. Derler ki elinde çekiçten başka aleti olmayana tüm meseleler “çivi” gibi görünürmüş. Biz de biraz bu sebepten olsa gerek, tüm projelerimizi dönüp dönüp en iyi bildiğimiz alana taşıyoruz: bina dikmek!

Sihirli çubuğun mucizesini bile inşaatta arıyoruz!

Hâlbuki özellikle insan odaklı tüm işlerde, adeta bir anayasa maddesi gibi benimsememiz gereken genel bir prensibimiz olmalı: binadan önce, eşyadan önce, her şeyden önce “insana” yatırım.

Eğer bu prensibi benimsersek belki inşaata vereceğimiz parayı Ar-Ge yapacak genç girişimcilere harcamanın çok daha verimli ve doğru bir yol olduğunu kavrayabiliriz.

Maalesef siyasetçilerimiz Ar-Ge faaliyeti gösteren firmaların özel durumunu kavrayamıyorlar.

Ticari faaliyetin iki temel kategorisi var. Ya “alır” satarsınız ya “yapıp” satarsınız. Yazılım geliştirme “yap-sat” kategorisinde ele alınması gereken bir faaliyet. Yalnız geleneksel “yap-sat” modellerine göre “yapma” safhasında “araştırma-geliştirme” ihtiyacı daha fazla. Çünkü yapılan şey bir inşaat yahut bir kanepe gibi standart, daha önce örnekleri yapılmış, başı sonu belli bir ürün değil. Önce ne yapacağınızı ve nasıl yapacağınızı bulmanız gerekiyor. İşte bu ön süreçlerin, kimseciklerin karşılamaya yanaşmadıkları ciddi maliyetleri var. Bilişim işinde en pahalı şey ise “zaman”!

Bir örnekle açıklamaya çalışalım:

Okuldan yeni mezun iki yazılım mühendisi arkadaşın, birçok orijinal fikirle, dünyanın yeni Facebook’u olabilecek harikulade bir sosyal paylaşım sitesi yapmak üzere yola çıktıklarını varsayalım. Çoğu kimse bu gençlerin bilgisayarlarının başına geçip hemen kod yazmaya girişeceklerini zanneder. Hâlbuki o noktaya gelmeden önce aşılması gereken nice “dağlar” vardır!

Gençler önce bir muhasebeci ile anlaşıp, iş hayatına yeni atılan herkes için yüksek sayılacak meblağlar ödeyerek bir şirket kurarlar. Bir ofis kiralarlar. Paraya kıyıp bilgisayarlar, masalar, sandalyeler alırlar. Artık para kazansalar da kazanmasalar da her ay ödemeleri gereken nur topu gibi Bağ-Kur primleri, ofis kiraları, elektrik, su, internet, ısınma faturaları olmuştur.

Kodlamaya başlamadan, yani “Ar-Ge” ifadesinin “Ge” kısmına geçmeden önce bir “Ar”, yani “araştırma” safhası vardır. Yapmak istedikleri iyi kötü bellidir ama o hedefi gerçekleştirmek için hangi teknolojiler seçilmelidir? Kodlama hangi bilgisayar dili ile yapılmalıdır? Seçilen dilde gerekli yetkinlik nasıl ve ne sürede kazanılacaktır? Nihayetinde milyonlarca insana aynı anda hiç yavaşlamadan hizmet vermesi planlanan sistemin mimarisi nasıl tasarlanacaktır? İhtiyaç duyulan donanım alt yapısı nedir? Gerektiğinde sistemin genişletilmesi, birden fazla sunucu üzerinde çalışması nasıl sağlanacaktır? Toplanan verileri depolamak için nasıl bir çözüm tercih edilecektir? İki arkadaşın ayrı ayrı yazdığı kodların bir araya getirilmesi, birinin yazdığı kısmın diğerininkini bozmaması nasıl sağlanacaktır? Geliştirilen sistem insanlara sunulmadan önce nasıl test edilecektir? Testleri kim yapacak, çıkan hataları düzeltirken nasıl bir metodoloji uygulanacaktır?

Ne yazık ki okudukları okullarda genç girişimcilere verilen bilgilerin hiçbiri bu sorularını cevaplamamaktadır.

Teknik olmayan okuyucunun anlayabilmesi için basitleştirilmiş bu sorular daha işin başında cevaplanması gereken yüzlerce sorudan sadece birkaç tanesi. Bu soruları cevaplamak için haftalarca hatta bazen aylarca araştırmalar ve denemeler yapmak gerekir. Örneğimizdeki gençler “vakit nakittir” sözünün manasını yaşayarak öğreneceklerdir. Hiçbir gelirleri olmadığı için her geçen ay, zaten dolu olmayan kasalarından ciddi meblağlar eksilmektedir.

Devlet, bu şartlarda bir iş kurup yönetmenin imkânsızlığını gördüğünden, Bilim, Sanayi ve Teknoloji Bakanlığı, TÜBİTAK ve KOSGEB gibi kurumlar üzerinden Ar-Ge destekleri sağlamaktadır. Fakat maalesef burada da devletin usandırıcı bürokratik mekanizmaları devreye girmektedir. İstenen proje dosyalarının oluşturulması, sunumların hazırlanması, kabul aldıktan sonra para alabilmek için istenen evrakın takibi, resmi yazışmaların yapılması başlı başına ayrı bir iş haline gelmektedir. Bu işler o denli detaylı ve vakit alıcıdır ki mesela sadece TÜBİTAK projeleri hazırlamak üzere müstakil firmalar kurulmuştur. Örneğimizdeki gençlerin önünde iki yol vardır: Ya ikisinden birisi Ar-Ge faaliyetini bırakıp bürokrasiyle uğraşacaktır ya da sadece bu iş için ekstra para ayırıp üçüncü bir kişi ile anlaşacaklardır. Görüldüğü üzere, iki yoldan hangisi seçilirse seçilsin, genç girişimcilerin şirketi batmaya biraz daha yakınlaşmış olacaktır.

Konuyla ilgili yakınmalar karşısında devlet yetkililerimiz, hemen teknokentlerden bahis açacaklardır. Gerçekten teknokentlerde sigorta ve vergi konusunda ciddi kolaylıklar sunulmaktadır ancak maalesef bu sefer de devreye teknokent konseptinden rant devşirmeye kalkan aç gözlü üniversite yönetimleri ile bu imkânları “küçük” firmalara “yedirmemeye” kararlı büyük şirketler giriyorlar. Yüzlerce çalışanı olan büyük iletişim şirketleri, bankalar sözüm ona Ar-Ge faaliyetlerini vergiden muaf tutabilmek için teknokentlerin neredeyse tüm ofislerini adeta işgal ediyorlar. Teknokentlere gösterilen rağbeti fırsat bilen üniversite yönetimleri, yer yer bu işin olmazsa olmazı sayılan internet bağlantısını bile sağlayamadıkları, bazen doğru dürüst ısıtamadıkları uydurma barakaların metrekaresine 22$ gibi rakamlara varan kiralar istiyorlar. İşletme bedeli adı altında metrekare başına 10TL civarında para talep ediyorlar. Böylece genç girişimcilerin sırtına kırk metrekarelik küçücük bir ofis için aylık iki bin liranın üzerinde bir fatura konulmuş oluyor. Ancak bir şey üretilip sattıklarında işlerine yarayacak gelir vergisi muafiyetinin peşinde koşan genç girişimciler böylelikle yağmurdan kaçarken doluya tutulmuş, sırtlarına bir kambur daha yüklenmiş oluyorlar.

Denilebilir ki hiçbir iş sermayesiz kurulmaz. Madem bu gençler iş kurmak istiyorlar, önce başka firmalarda çalışıp sermaye biriktirsinler. İlk başta kulağa doğru gelen bu öneri de bizi bilişim dünyamızdaki başka bir açmaza götürüyor. Eğer bu gençler yurtdışında profesyonel bir yazılım firmasında kendilerine yer bulacak kadar iyilerse, beyin göçü gerçekleşmiş oluyor. Amerika ya da Avrupa’da daha yirmili yaşlarında doktorlardan, hâkimlerden bile yüksek maaşlarla çalışmaya başlayan gençleri dönüp aynı dertlere boğuşmaya kolay kolay kimse ikna edemez. Gençler eğer ülkemizin GSM operatörleri ve bankaları gibi yazılımı ana iş olarak değil de kendi asıl iştigal alanını desteklemek için bir yan iş olarak yapan kurumlarda işe başlarlarsa hızla köreliyorlar. Çünkü bu kurumlarda taşlar çoktan yerine oturmuş oluyor ve yazılımcılardan temel beklenti çoğu zaman “yeni” bir şey yapmaları değil, yine ekseriyetle ithal edilmiş mevcut sistemi ayakta tutmaları oluyor.  Yazılımcı gençleri seçebilecekleri alternatiften en kötüsü “devlet memuru” olmak. Her türlü gelişmenin, yenilenmenin durması, araştırma hevesinin kaybolması bir tarafa devlet memurluğundan elde edilen maaşla bir sermaye birikimi yapmak da söz konusu olamıyor.

Şimdi bu tablo karşısında Sayın Bilim, Sanayi ve Teknoloji Bakanımıza sormak isterim: Bilişim Vadisi projesi kişi başına düşen milli geliri 25 bin dolara çıkarabilmemiz için Ar-Ge’den geçen yolun hangi kısmını genişletip açıyor? Hangi kısmında rahatlama sağlıyor? Bu anlattığım problemlerin hangisini çözüyor?

* Bug: Bag okunur. İngilizce’de “böcek” demektir. Bir yazılım kodunda oluşan hatalara da “bug” denir. Kodun hatalarını temizleme işlemine de “debugging” yani “böcekten arındırma” denir.

Sizce kaçıncı sınıf Hintli mühendisler Gebze’de çalışmaya razı olur?

Sayın Bilim, Sanayi ve Teknoloji Bakanımızın “Bilişim Vadisi” konusunda verdiği röportajda sarf ettiği,

“Kişi başına düşen milli geliri 25 bin dolara, çıkarabilmemiz için kiloda hafif, pahada ağır teknolojik ürünler üretip, satabilmemiz gerekiyor. Bunun yolu da Ar-Ge’den, yani Bilişim Vadisi’nden geçiyor

sözünün son kısmını biraz sorgulamamız lazım.

“AR-GE” yani araştırma geliştirme faaliyetlerinin ancak bir bilişim vadisinin varlığıyla mümkün olduğu neticesine nasıl varılabilir? Hatta onu bırakın, Bilişim Vadisi projesinin gerçekten Ar-Ge ile bir alâkası var mı?

Sayın Bakan’ın anlattıklarından ve basına yansıyanlardan, Bilişim Vadisi’nin büyükçe bir “inşaat projesi” olduğunu çıkartıyoruz. Mesela şu satırlar Anadolu Ajans’ının haberinden:

Projenin 4 etaba ayrıldığını anlatan Işık, şu bilgileri verdi:

“Birinci etap, 1A ve 1B olarak ikiye ayrıldı. 1A bölgesinde, 70 bin metrekare alanın inşaatı için ihale aşamasına gelindi. Eylül ayı sonunda altyapı ve üstyapı projelerinin ihalesini, 2015 yılı sonunda da inşaatını tamamlamayı planlıyoruz. 1A denilen bölge içinde, 15 bin metrekarelik idari bina ve çok amaçlı Ar-Ge ofisleri bulunacak. Bilişim Vadisi içinde yaşayacakların bütün ihtiyaçlarına cevap verecek okul, kreş, hastane, ibadethane, konaklama, banka, spor merkezleri, kültürel tesisler gibi sosyal donatı alanları da olacak. Burası Ar-Ge çalışanları için aynı zamanda bir yaşam kompleksi olacak.”

Yazılım geliştirme konusunda herhangi bir fikri olmayanlar ister istemez şöyle düşüneceklerdir: Demek ki bugüne kadar yazılım konusunda gelişemememizin sebebi bina eksikliğiymiş! Şöyle geniş bir kampüs olunca, pırıl pırıl binalarla, ofislerle birlikte dünya çapında bir Ar-Ge merkezine dönüşmemek için mazeretimiz kalmamış oluyor!

Sektörün içinde olanlar ise şöyle sorular soracaklardır:

Neredeyse artık her şehrimizdeki üniversiteler bünyesinde teknokentler var. Bu merkezlerde yukarıda bahsedilen tüm imkânlar hâlihazırda sağlanıyor zaten. Hatta Bilişim Vadisi anlatılırken bahsi pek geçmeyen bir takım teşvikler, vergi indirimleri, sigorta destekleri şu an teknokentler bünyesinde çalışan firmalara veriliyor. Üniversite-sanayi işbirliğin teşvik edilmesi için programlar da, kuluçka merkezleri de hâlen mevcut. Bilişim Vadisi kapsamında vaat edilen yegâne farklılık, Samsung, Siemens, Oracle, IBM, HP gibi uluslararası bilişim firmalarının burada ofis açıp, üst düzey mühendislerini Türkiye’ye getirip, Ar-Ge çalışmalarını Türk mühendislerle yürüteceği iddiası. Ancak bu nasıl sağlanacak? Bu büyük firmalar insan kaynaklarını hangi motivasyonla Türkiye’de konumlandıracaklar? Zaten kurulu bir düzenleri varken neden gelip Türk mühendislerle Ar-Ge çalışmaları yapmak isteyecekler? Nihayet tüm bunlar gerçekleşse bile, bu firmaların “devşirdikleri” mühendislerimize ürettirip yine fahiş fiyatlarla bize satacağı yazılımlar ülkemize, ekonomimize ne gibi bir fayda sağlayacak?

Büyük, uluslararası yazılım üreticisi firmalar, yazılım geliştirme süreçlerinde çalıştırmak üzere dünyanın en iyi beyinlerini bulurlar ve çok cazip fırsatlar sunarak bünyelerinde çalıştırırlar. Bu cazip fırsatlar arasında bazen astronomik seviyelere çıkabilen maaşlar, detaylı ve sistematik kariyer planları, terfi ettikçe verilen hisse senetleri gibi imkânların yanı sıra Amerika ve Avrupa’nın popüler merkezlerinde, sektörün en parlak beyinleriyle birlikte çalışma şansı da vardır. Firmalar, insan sermayesinin hemen her şey demek olduğu bu sektörde parlak beyinleri kaybetmemek için adeta çalışanlarının nazlarıyla oynarlar. Bu şartlarda,  ülkesinden kalkıp Amerika’daki silikon vadisinde çalışmaya giden, mesela Çinli, Hindistanlı, Singapurlu yahut Macar bir gencin, neden Avrupa ve Amerika’daki popüler merkezler yerine Gebze’deki bilişim vadisinde çalışmak isteyebileceğinin bir cevabı yoktur!

Bu yapılan aynen şuna benziyor: Büyük, modern bir stadyum ve güzel spor tesisleri inşa ediyorsunuz. Sırf birkaç bina yaptınız diye Barcelona, Arsenal, Milan gibi takımların kendi ülkelerini bırakarak Ronaldo, Messi gibi yıldız futbolcularını da alıp ülkenize gelmesini beklemeye koyuluyorsunuz. Yahut Barcelona futbol takımının yıldız oyuncularını yetiştiren antrenörlerinin sırf süslü birkaç tesis yapıldı diye düzenlerini bozup Türkiye’de futbolcu yetiştireceklerine inanıyorsunuz! Buna ileri derecede safdillik denmez de ne denir?

Açıkça bellidir ki elde edeceğiniz en iyi şey, büyük futbol takımlarının sizin “süper tesislerinizde” bir dükkan açıp, lisanslı formalarını, anahtarlıklarını, flamalarını vs. satmasıdır. Bu kulüplerden ülke adına beklenebilecek en büyük fayda, mağazalarında tezgahtar, mağaza müdürü, güvenlik elemanı gibi kadrolarda Türkleri çalıştırıp yaratacakları üç-beş kişilik istihdam(!) olabilir.

Aynı şekilde, Bilişim Vadisinde yer alacak uluslararası firmaların da çalıştıracakları “mühendislerimiz” Ar-Ge falan yapmak şöyle dursun, ancak o firmaların ürünlerini fahiş fiyatlarla ülkemiz kurumlarına satmaya çalışan satış-pazarlama elemanları olarak iş bulabileceklerdir.

Yıldız yazılımcıların ülkemize gelmesi konusunda, zihin açıcı olacağını düşündüğüm bir hatıramı nakletmek istiyorum.

Zannederim 2001 senesiydi. Bahsettiğimiz türden dev bir uluslararası firma olan Accenture‘ın Almanya kolunda, büyükçe bir yazılım projesinde çalışıyordum. Proje merkezi, Almanya’nın “Biergarten” denilen kır lokantalarıyla meşhur Münih kentindeydi. Projede benimle beraber Çinli, Hintli ve tabi Alman mühendisler görev alıyorlardı. Proje sonlandığında ekip olarak bir veda yemeği için o meşhur Biergartenlerden birisinde toplandık. İlerleyen saatlerde iş disiplinleriyle maruf Almanlardan birisi alkolün de tesiriyle gevşeyip abuk sabuk konuşmaya başladı. Yanımdaki Hintli arkadaşa biraz ırkçılık kokan, küçümser, aşağılar bir tonla, “Sen ülkemizden gitmemek için her şeyi yaparsın değil mi? Almanya’da çalışmak bir Hintli için lütuf sayılır!” deyiverdi. Hintli arkadaşım oldukça zeki bir delikanlıydı. İstifini bozmadan cevabı yapıştırdı:

“Dediğin doğru! Buradan gitmek istemem ama şu sebepten: Hindistan’da bir koltuğa talip binlerce üst düzeyde mühendis vardır. Bunların arasından yalnızca en iyi olanlar Hindistan’da kalabilir. İkinci sınıf mühendislerimiz Amerika’ya giderler. Orada iş bulamayanlar ise Avrupa’da iş ararlar. Yani biz Hindistan’da ve Amerika’da çalışacak kadar iyi olmadığımız için buradayız. O yüzden düşük niteliklerimize rağmen kolayca iş bulduğumuz bu ülkeden gitmeyi tabi ki istemeyiz!”

Şimdi bu hikâyeye göre, sizce kaçıncı sınıf Hintli mühendisler Gebze’de çalışmaya razı olur?

Twitter: @salihcenap

İnternet Girişimcilerine Acı Gerçekler

2013 yılının bu ilk günlerinde, yakın zamanlarda kafamı meşgul eden bir hususta görüşlerimi paylaşmak istedim. İkibinli yılların ortalarından itibaren Facebook’un kurucusu Mark Zuckerberg’inki gibi hikayeler tüm dünyada olduğu gibi ülkemizde de “girişimcilerin” gözlerini parlatır oldu. Kısacık zamanlarda milyonlarca insana erişmenin getireceği zenginlik çok kimsenin rüyalarını süslüyor. Ancak….

Ne yazık ki iş artık hiç ama hiç kolay değil!…

Milyonlarca insana hitab edebilecek bir sistemin geliştirilmesi çok ileri düzey mühendislik bilgisi ve tecrübesi gerektiriyor. Özetle

 

“muhteşem bir fikrim var, bulurum yeni mezun birkaç yazılımcı, veririm üç beş kuruş, yazdırırım yazılımı…”

türünden düşüncelere sahip olanlar, hayallerine veda buselerini hemen verebilirler zira bu iş ne yeni mezun yazılımcıların yapabileceği bir iş, ne de üç beş kuruşa yapılabilecek bir iş!

Neden bu işin bu kadar basit olmadığını tüm cepheleriyle anlatmaya kalkarsam çok uzun bir yazı yazmam gerekir. Bu yazıda işin sadece teknoloji boyutunu, onun içinde de sadece yazılım mimarisi boyutunu ele almaya çalışacağım.

Muhteşem fikirlerimizi dünyanın kullanımına arz etmek için bir yazılım uygulaması geliştirmemiz gerekiyor. Yazılımın tıpkı yeni yapılacak bir bina gibi önce mimarisinin belirlenmesi gerekiyor. İşte ilk zorluk burada karşımıza çıkıyor: Öyle başdöndürücü gelişmeler var ki bırakın derinlemesine öğrenmeyi, neredeyse takip etmek bile çok zor. Sadece son bir sene içerisinde ortaya çıkıveren mimari bileşenleri ve yazılım trendlerini listeleyen bir çalışma rahatlıkla bir master tezi olabilir!…

Ciddi, gelecekte yeniden yazılması gerekmeden varlık gösterebilecek bir web 2.0 projesinin yazılım mimarisini şekillendirirken düşünülmesi gereken o kadar çok şey var ki! Mesela kimsenin düşünmediği en basit yerden başlayalım: “loglama“! Kod seviyesinde debugging amaçlı seviyesi belirlenebilir logging için mesela log4j, slf4j, logback gibi ilk anda aklıma gelen altenatif logging frameworkler var. Uygulama seviyesinde daha çok güvenlik amaçlı loglama (kim oturum açtı, ne işlem yaptı vs.) tamamen ayrı bir konu. Performansı düşürmeden, ayarlanabilir seviyelerde planlanmalı. Zira biliyoruz ki bu tür logları tutmak kanuni açıdan gerekli olabilir.

Güvenlik meselesi tamamen ayrı bir dünya. Authentication – Authorization için role based backend’ler kurgulanacak. Apache Shiro, Spring Security, JAAS gibi kendini ispatlamış framework’ler var ama hangisinin seçileceğini bilmek için ön çalışma sürecine ek olarak -hangisi seçilirse seçilsin- bir öğrenme süreci olacak. Arka tarafta openldap, active directory, OID gibi seçeneklerden birinin kullanılıp kullanılmayacağı da ayrı bir konu. Session management, SSL, encyrption gibi konulara hiç girmiyorum.

Artık neredeyse hiçbir modern uygulama klasik teknolojilerle kodlanmıyor. Servis odaklı mimari için de bir framework seçimi gerekiyor. REST, SOAP, WCF, RPC, JAVA RMI gibi seçenekler var. REST’i seçsen XML, JSON alternatiflerinden birini seçmek gerekiyor. Şu an RestEasy ya da Jersey gibi implemantasyonlardan birinin seçimi de önemli. Biri ya da diğerini tercih etmek için gereken araştırma-öğrenme sürecini yazmak lazım bir kenara.

Yoğun servis odaklı bir sistemde gelen mesajlar için bir queing mekanizması kullanmak artık şart. Asenkron çağrılarla gelen mesajların mutlaka işlendiğini garanti etmek için seçebileceğimiz messaging framework’ler içinde ilk aklıma gelenler ActiveMQ, OpenMQ, FuseMQ, RabbitMQ.

Ana platform için JAVA tarafında J2EE, Spring 3, EJB 3, JSF 2 gibi alternatifler var. Her biri kendi içinde derya deniz. Frontend tabi ki çok çok önemli. Kesinlikle HTML5 uyumlu bir javascript framework seçilmeli GWT, Primefaces, Sencha, Dojo, jQuery, YUI, Prototype, MooTools.. İşin mobil tarafı unutulmamalı: Sencha Touch, jQuery Mobile, vs….

Mobil uygulamalar, IOS, Android ve artık Windows 8 platformları için Native Os App olarak ayrı ayrı mı geliştirilecek. HTML5 tabanlı bir çözüm mü olacak? PhoneGAP gibi hem crossplatform hem native bir yol mu seçilecek…

Abartmamak için service orchestrationESB konularına girmiyorum ama UltraESB, FUSEESB, Apache Camel, Apache ServiceMix, Mule, WSO2, Talend alternatifleri bir yerlerde bekliyor.

ORM kullanılıp kullanılmayacağı önemli bir karar. Hibernate 4 en kuvvetli aday ama performans üzerinde olumsuz etkisi ortada. MyBatis ya da Apache DBUtils gibi tam ORM sayılmayan daha lightweight kütüphaneler tercih edilebilir. Tabi relational database kullanacaksak. Şu an trend NoSQL veritabanları yönünde. Meşhur Bigdata konsepti gündemdeyken artık  MySQL-MariaDB, PostrGreSQL, MsSQL, Oracle, DB2 gibi veritabanları pek tercih edilmemeye başladı. Yeni adaylar sayıca bayağı çok: MongoDB , Cassandra, CouchDB, Redis, Riak, HBase, Couchbase, Neo4j, Hypertable, ElasticSearch, Accumulo, VoltDB, Scalaris.

Bu yazdıklarım sadece JAVA tarafındaki alternatifler. PHP ve .Net tarafında bu derece haberdar değilim doğrusu. Ruby On Rails hatta Python gibi popülerlik atağındaki teknolojileri daha da az biliyorum. Mesela son zamanlarda bir Node.js humması var ki şu anda daha yeni yeni bakmaya başladım…

Yazılım mimarisinin belirlenmesi derken kastettiğim bu kadar çok alternatif arasından doğru seçimleri yaparak kimliklendirme, yetkilendirme, loglama, servis, ui, ve temel db işlemleri gibi herşeyin standardize edildiği bir integrated framework’un hazırlanması. Bütün bunlar görüldüğü gibi, “yeni mezun yazılımcı çocukların” falan altından kalkabileceği şeyler değil. Hatta çok tecrübeli bir mühendisin dahi altından kalkabileceği şeyler değil. Birkaç tane ateş gibi, meraklı, araştırmacı, neyin ne olduğunu bilen, işin belli bir kısmına iyice odaklanmış, mesleğini seven, tecrübeli mühendisi bir araya getirmek ve birlikte çalıştırabilmek lazım. Bunun için bol bol para ve ayrıca da zaman lazım. 2000’lerin başlarında, hatta ortalarında olsaydık belki Zuckerberg tarzı (bir developer + bir iş geliştirmeci ile) bir mucize gerçekleştirme şansımız daha fazla olabilirdi ama artık milyonların aktif kullanıcının yoğun kullanımını hedefleyen web 2.0 projeleriyle rekabet edebilecek yeni sosyal medya projeleri çok ciddi yatırım gerektiriyor maalesef. Sosyal medya olarak değerlendirilecek, yani milyonlar değilse bile yüzbinleri kendine çekebilecek fikirlerin düşük bütçelerle hayata geçirilmesi çok zor.

İşin kötüsü tüm bunların sağlanması da başarıyı garanti etmiyor. Yüksek bütçeler, tecrübeli mühendisler ve yüksek motivasyon sağlansa da başarıyı yakalamak biraz şans işi. Google Plus, arkasında google olmasına rağmen beklenen başarıyı yakalayamadı mesela. Ne maddi destek sıkıntısı vardı, ne teknoloji, ne tanıtım… Ama olmadı işte…

Şu an bir kamu kurumunun altyapısının tasarlanması için bu konularda kafa patlatıyor, araştırmalar yapıyorum. Devletin projelerine bakıyorum hepsi rezil durumda. Yöneticiler vaziyetten habersiz… Mesela son zamanda ortaya çıkan redhack’in YÖK EDYS’sini patlatması hadisesine bakın. Güvenlik işini, dünyadan habersiz junior adamlara bırakırsanız işte aynen böyle madara olursunuz. Bunun, sizin “muhteşem fikrinizin dünyayla buluştuğu” bir sosyal medya sitesinde yaşandığını, insanları gizli ya da sınırlı olarak koyduğu kişisel bilgilerinin ortaya döküldüğünü düşünsenize! O gün o site biter…

Kimsenin hayallerini yıkmak istemem ama bu yola çıkacak olanlar en azından ne ile uğraştıklarını bilsinler istedim. Bir twitter, bir facebook, bir instagram kurgulamak, öyle Joomla ile WordPress ile web sitesi kurmaya ya da (.net’ci arkadaşlar alınmasın ama) Visual Studio’da sürükle bırak yöntemleriyle web uygulaması yapmaya benzemez.

Salih Cenap Baydar – http://www.baydarbilisim.com