Neden Türkiye’den Uber çıkmaz? (Teknik ve Stratejik boyut)

Ülkemizde yazılım kalitesi ve yazılıma/yazılımcılara bakış açısı çok uç tek tük istisnalar hariç malum. 5 sene yurtdışında deneyimlediğim ortam ve çevre dolayısıyla bunu hiç çekinmeden, içim rahat ve açık açık söylüyorum.

Ne oldu da bu yazıyı yazma kararı aldım?

Bu kültürün yanlış evrilmesi yazılımdan beslenen her türlü sektörü etkiliyor. 4 senelik yabancı bir şirket, Türkiye’de aynı sektördeki 10 senelik bir şirketi satın alabiliyor, bunun önemli nedenlerinden biri de verimsiz çalışmamız.

Temelinde yatan bir neden de yazılım gibi metodolojik ve mühendislik yaklaşımı gerektiren bir işi, “alla-turca” yapmak istememiz; kalite öğelerini hiçe saymamız…

Alışık olduğumuz araştırma anlayışına paradigma yıkıcı bakış açısıyla bilinen Ethnogram’ın Türkiye’deki birçok büyük kuruluşla yapmış olduğu araştırma sonucu söylemiş oldukları bir cümle var:

“Türkiye ekonomisinin büyümesi önündeki kaya, düşünülen klişelerin aksine, uzun vadeli değil, günü kurtarma anlayışıdır”. Ethnogram

“Günü kurtarma” denilen yaklaşım sektörümüzde belki farkında olmadan sıklıkla uygulanan, yazılım dünyasında “teknik borç” a karşılık gelen kavram. Günün sonunda her 2 senede bir “yazılımı baştan yazmamız lazım” demeye kadar götüren bir sonuç olarak karşımıza çıkmaktadır.

Yazılım/Yazılımcıya bakış açısında sektörden bazı örnekler:

  • Portfolio Yönetimi Yapılmaması: İnanın bunun nasıl değil, ne demek olduğu dahi bilinmiyor birçok yerde, tamamen bakkal usulu yönetiliyor portfolio. Bunu Lean Canvas gibi veya bir adım geriye gidersek AnsOff Matrix gibi temellere oturtmak istediğinizde ise size “ortalığı karıştırma” dercesine bakılabiliyor. Sonuç olarak öncelikler her gün değişiyor, bunun normal olduğu iddia ediliyor ve bu da Scrum gibi iteratif bir yaklaşımın 2 haftalık Sprint’ler için bile uygulanmasını stres altına sokuyor.
  • Vizyon-Strateji: Ürünün veya servisin vizyon, misyon, strateji ve taktiklerinin olmaması, kurum içerisine duyurulmaması…
  • Yazılım süreçlerine riayet edilmemesi: Unit-test, test otomasyon, cleancode yaklaşımlarının hiçe sayılması; pair programmming yapılmak istenmemesi.
  • Gereksinimlerin genel-geçer olması: Kullanıcı hikayesi-kabul kriteri yazılmadığından çok fazla git-gel yaşanması, verimsizlik..
  • Yazılımın bir inşaat projesi gibi görülmesi: 1 kadın 9 ayda bir çocuk doğuruyorsa, 9 kadın ile 1 ayda çocuk doğurturum yaklaşımının yazılım projelerinde de uygulanmaya çalışılması.
  • Micro-management: Yazılımın her aşamasında, yazılımcılara yüzyüze, telefon ile, email ile her kademeden çalışanın durum sorgulaması yapabilmesi; Product Owner/TakımLideri/Proje Yöneticisi kademesine sorumluluk verilmesi ama yetki verilmemesi.
  • Pull yerine push: Push yöntemi ile yazılımcıların daha verimli çalışacağının zannedilmesi, ama context-switching ve motivasyon unsurlarının göz ardı edilmesi.
  • Deadline: Tepeden inme deadline ile, yazılımcıların kaliteden ödün vererek bir ihtiyacı bitirmeye zorlanması.

Yazılım sabah 09:00, akşam 18:00 yapılan operasyonel bir iş değil, olmadı ve olmaya zorlanmamalı.

Klasik insan yönetme yaklaşımlarıyla yazılımcı yönetilmeye çalışılmamalı.

Yazılımcıya özgürlükleri çalışma ortamı ve geliştirme ortamlarında sağlanıyor olmalı.

Çalışma zamanlarının belirli bir kısmı kendilerini geliştirmeye ve serbest proje denemeleri yapmalarına izin verilmeli.

Doğu Avrupa son dönemde “Offshore Software Outsourcing” konusunda parlayan yıldız ve Türkiye olarak bu treni kaçırıyoruz. Kalitede ve yaklaşım olarak aramızda bir uçurum söz konusu. Genelde kısa vadede müşteriyi memnun etmek adına olan yaklaşımlar, uzun vadede yazılım ve projenin geleceğini etkiliyor. Doğu Avrupa’da ise durum tam tersi, müşterinin yazılım süreç ve kalite kurallarına uyması bekleniyor.

Ek bir bilgi olarak da, turnover konusunda 19 senelik ortalama çalışan süresi ile Xerox ilk sırada ve rotasyona çok önem verdikleri biliniyor. Peki rotasyon bizde ne kadar uygulanıyor?

Bunun uygulanması için farklı farklı projelerin ve yetkinliklerin olduğu bir ortam gerekiyor ve bu da özellikle küçük şirketler ve startuplar için mümkün değil.

Bahsettiğim öğelerin farkında olan birçok şirket bu görevi kendi bünyesinde efektif yönetemediği için outsourcing partneri ile ilerlemeye yönelebiliyor.

Doğru partner ile Outsourcing in avantajları:

- Turnover derdiniz yok

- Kalite yüksek, dolayısıyla bug ve performans sorununuz yok

- Yazılımcılar kendilerini geliştirebildiği teknolojik bir ortam içerisinde

Bu gibi şirketler, yazının başında belirttiğim gibi tek tük olmasından ötürü, bir de İstanbul gibi, insan&huzur düşmanı şehir faktörü devrede olunca, ülkede iyi yazılımcı kalmıyor.

Tüm bunları düşündüğünüzde doğru yazılım partneri ile outsourcing günün sonunda her iki taraf için daha avantajlı ki Doğu Avrupa bunun meyvesini senelerdir %90 US ve %10 EU olmak üzere toplamaya devam ediyor.

DipNot: Bu yazının hedef kitlesi kesinlikle yazılımcılar değildir.