Cuma, Ağustos 28, 2009

Fall on Fifth


Fall on Fifth, originally uploaded by muckster.


, originally uploaded by K_iwi.

Çarşamba, Ağustos 12, 2009

Debug Edilebilirlik

Birkaç gündür, bir probleme takıldım kaldım. Tezi bitirmek için önümde 1 ay kaldı. Problem şu: bir web sayfası unicode olduğu halde, Türkçe karakterler bir yerde programın çökmesine sebep oluyor. Sorunun sebebini bulmak için kullandığım web arayüzü kütüphanesini (django) debug ediyorum.

Programı debug ederken şöyle bir düşünce geldi aklıma: Bir yazılım kütüphanesini anlatan kitaplar, kütüphanenin tüm kullanım özelliklerini tarif etmek yerine, sorun çıktığında nasıl debug edilebileceğini detaylı olarak tarif etseler çok daha iyi eder. Bütün yazılımların içinde mutlaka çok sayıda yazılım hatası bulunuyor. Veya yazılım hatası olmasa da, programcının tüm mantığı bir bütün olarak kavraması imkansız olduğundan, programcı için karanlık kalan bazı kullanım sorunları çıkıyor. Kitapların, her şeyi tarif etmesi mümkün değil. Çözüm tarif edilmiş olsa da, programcının ihtiyaç duyduğu bilginin nerede olduğunu bulması çok zaman alıyor.

Bu soruna benim çözüm önerim şöyle: Kitaplar, bir kütüphanenin en ince detaylarına kadar gerektiği zaman nasıl debug edilebileceğini tarif etsin. Böylece programcı, sorunla karşılaştığında, kendi kendine bunun sebebini bulur. Hem insanın bir şeyi uğraşarak öğrenmesi, hazır bilgiyi okuyarak öğrenmesinden çok daha iyi yerleşir.

Bunlara ek olarak, tüm altyapı kütüphanelerinde mutlaka soyutlama sızıntısı (abstraction leakage) bulunuyor. Soyutlama sızıntısının anlamı şu: Mesela araba kullanıyorsunuz. Direksiyon, pedal ve viteslerin nasıl kullanıldığını bilmeniz yeterli. Arabanın içindeki şanzıman, motora dair hiçbir şey bilmeseniz de olur. İşte burada, arabanın iç yapısı, kullanıcısından soyutlanmıştır.

Yazılım kütüphanelerinde, bu tür soyutlama sızıntıları mutlaka oluyor. Çok basit yazılımlar bile, bir arabadaki mekanik parametrelerden daha çok sayıda çeşitlilik ve karmaşıklık içerebiliyor. Bu yüzden yazılımlardaki altyapı kütüphanelerinin, üst katmanlardan tamamen soyutlanması çok zor. Dolayısıyla, bir kütüphaneyi kullanan programcı, sadece bunun kullanım arayüzünü bilmesi yeterli olmuyor. Ayrıca iç işleyiş mantığını da bilmesi gerekiyor ki, karşılaştığı sorunları çözebilsin. Burada da debug edilebilirlik çok kritik bir özellik. Çünkü eğer altyapı kütüphanesi, yeterince kolay ve şeffaf bir şekilde debug edilemezse, o zaman, programcının basit bir problemin sebebini anlaması çok zaman alıyor.

Cuma, Haziran 26, 2009

Neden CMMI?

Facebookta Kunt Elektronikten Ali Yıldırım'la CMMI üzerine yazışıyorduk. Orada yazdıklarımı burada yayınlayacağım:

(Özet olarak, CMMI yazılım geliştirme süreçlerinin kaliteli olmasını temin etmeye yönelik bir kalite modeli.)

kişisel görüşüm, cmmi modelinin yazılım sektöründe belirli bir büyüklüğün üzerindeki firmalar için, birinci derecede öncelikli iş olduğu yönünde. neden bu kadar önemli olduğunu düşünüyorum? edward deming adında bir mühendis var. bu adam, başta honda ve toyota olmak üzere japon oto sanayisinin amerika'nın çok üstünde bir kalite ve rekabetçi güce ulaşmasını sağlayan mühendislerden birisidir. deming'in çok meşhur bir sözü var, diyor ki: "bir ürünün kalitesi, ancak o ürünün üretildiği sürecin kalitesi kadar olabilir"

bu çok anlamlı ve aslında sadece imalat sanayine değil, tüm sanatlara uyarlanabilecek bir fikir. ürettiğimiz herhangi bir eser (fikir, ürün, hizmet her neyse), o eseri üretirken kullandığımız yöntemin (araçlar, kurallar, iş akışı vs.) kalitesinden daha iyi olamaz. yöntemin kalitesi, eserin kalitesini belirler.

efqm, iso, 6 sigma, yalın düşünce gibi toplam kalite yönetiminin uygulanmasına yönelik çok sayıda model uzun zamandan beri biliniyor. fakat bu modeller, genellikle imalat veya hizmet ağırlıklı çalışan firmalara özel üretilmiş. yazılım sektörünün içinde, her biri birbirinden çok farklı ürün geliştirme süreçleri yer aldığından, bu modellerin yazılım sektöründe uygulanması uygun olmuyor. cmmi, işte bu eksiği dolduruyor.

cmmi sayesinde yazılım geliştirme işleri, karmakarışık, ne zaman ne olacağı bilinmeyen, hiç kimsenin içeride ne geliştirildiğini bilmediği, tüm projenin başarısının bir iki uzmana bağlı olduğu, öngörülemeyen işler olmaktan çıkıyor. yazılım geliştirme süreci, yönetilebilir ve iyileştirilebilir bir hale geliyor. bu çok önemli bir şey.

sektörün içinde olan herkes bu sektörde ne kadar büyük doğrudan ve dolaylı maliyetlerin olduğunu bilir. gereksinim analizinde uzmanlık, konfigürasyon yönetiminde uzmanlık, bunlar yararlı ve önemli beceriler. fakat bu tip tek tek ayrık alanlarda uzmanlık sağlamak, projelerin kalitesini teminat altına almak için yeterli olmuyor. tüm kritik becerilerde belli bir yetkinlik sağlamak lazım. cmmi bütün bu alanlarda yetkinlik sağlayan, yönlendirici bir model sunuyor.

Pazartesi, Haziran 15, 2009

Halil Kulluk - Ol Hareket Bul Bereket

Bugünkü "Başlama Sanatı" çalıştayının üçüncü kısmında, Halil Kulluk Mesneviden esinlendiği girişimcilik ve yenişimle ilgili fikirlerini paylaştı. (ilk kısımda Thomas Emerson girişimcilikte çok yapılan hatalar ve işe başlamakla ilgili dersler konusunda konuşmuştu.) Aldığım notların ham hali:

işleri tek başınıza yapmazsınız, takım halinde yapmanız gerekir. en az bir kişi daha.

biz sunumlarımızda kültürel parçaları da katmaya çalışıyoruz. türkçeye de yeni kavramlar katmaya çalışıyoruz.

ilk adımların keyfi:
ilk adımları ne zaman atarız? bir anne baba için en güzel an, çocuğunun attığı ilk adımlardır. ben bunu hissettim geçenlerde. yine aynı anne baballar, bir kişi şirket kurarken, şirketinin ilk adımlarında keyifle desteklerse, o şirket coşar.

mevlana diyor ki: sen kafiyeyi ara hayatta, kafiyeyi ara.

nazımın serbest veznine hayranım, ama kafiye de kulağa hoş gelir

"ol hareket bul bereket"

be the action and find the abundance.

bu kelimeler çok önemli. geçenlerde, yeşil yenimiş olmalı benim için, diye bir konuşma yaptım. orada üç y'den bahsettik. yani kullan, yine kullan, yeniden kullan.

yeniden yerine, yeteri kullanmak. ...

Yazının Devamı...

Thomas Emerson - Secrets Of Success Of Entrepreneurs

Boğaziçi Endüstri öğretim üyesi Prof. Dr. Ali Rıza Kaylan ve Intekno şirketi kurucusu Halil Kulluk birlikte bugün girişimcilik ve yenişimle (inovasyon) ilgili esinlendiren, girişimciler için çok yararlı bir çalıştay düzenlediler.

Ana konuşmacı Carnegie Mellon'dan Dr. Thomas Emerson'du. Çalıştayın son bölümünde Halil Kulluk da "Ol Hareket Bul Bereket" başlıklı konuşmasında, Mesnevi'den yaptığı okumalara, girişimcilik bakış açısıyla özgün bir yorum getirdi.

Emerson iş hayatında 3 şirket kurmuş. Kurumsal müşteri hizmetlerinin sıklıkla kullandığı etkileşimli telefon sistemlerini Emerson icat etmiş ve ticari bir ürün haline getirmiş. Seminer sırasında aldığım notların ham hali:

Thomas Emerson - Secrets Of Success As Of Entrepreneur

bu dersi genelde carnegie mellondaki öğrencilere giriş seviyesinde anlatıyorum. bu derste, girişmcilerin nasıl düşünüp davrandıklarını ve diğer insanlardan nasıl farklı olduğunu anlatıyorum. girişimcilik bir zihin alışkanlığıyla ilgili. dünyayı farklı bir ve daha iyi bir yer haline getirmekle ilgili.

çoğu firma bir fikirle başlar. eğer bu fikir, pazardan gelen bir talepten kaynaklanırsa daha iyi olur. benim ilk şirketim, plantronics corp. 1969'da kurdum. ilk başta, teknik görevli olarak başladım. sonra donanım ve yazılım üretimine baktım. en sonunda ceo oldum. şirketin 3 kişiden yüzlerce kişiye büyümesini izledim. sonunda firma, nortel'e satıldı. 450 m dolara satın alındı. ilk risk sermayecisiyle karşılaştığımda, mr. smith'le tanıştım. bu adam rockefeller'ın parasıyla yatırım yapıyordu. iş planımız aldı, ve onu çöp kutusuna attı. bize dedi ki: "siz iş adamı değilsiniz. hatta mühendis bile edğilsiniz. siz fizikçisiniz." dedi ve iş planını çöpe attı. halbuki biz iş fikrimize çok kuvvetle inanıyorduk.

Yazının Devamı...

Salı, Haziran 02, 2009

Teknoloji Girisimcileri icin Dersler - Naeem Zafar Seminer Notlari

Naeem Zafar'in ikinci semineri. İlk seminer, Türkiye'de Silikon Vadisi gibi yenilikçi ve girişimci bir kültürün nasıl oluşturulabileceğine yönelik fikirler içeriyordu. İkinci seminerdeyse,Naeem Zafar teknoloji girişimcilerine, kendi deneyimlerini anlatıyor. Zafar, kendisi de bir düzine başarılı şirket kurmuş, bu arada pek çok başarısızlıklar da yaşamış, toplam 70 milyon dolarlık fon toplamış, Silikon Vadisinden bir girişimci olduğundan, anlattığı fikirler, doğrudan kendi deneyimlerine ve gözlemlerine dayanıyor. Ben çok yararlandım, girişimci kişilere bu notları okumalarını tavsiye ederim.


www.startup-advisor.com

girişimciliğin tanımı:
kontrol etmediğiniz kaynaklarla iş fırsatlarını takip etmek
henüz bu paranız olmasa da, iş fırsatını ararsınız.
bu yüzden çok yaratıcı olmanız gerekir.

tipik bir organizasyon nasıldır?
hissedarlar üsttedir. parayı verirler. hissedarlar, yönetim kurulunu seçerler. yönetim kurulu 3-7 kişiden oluşur. bunların görevi firmayı idare etmek değil. ceo bulmak ve politikayı belirlemek.

türkiyede hissesi olan herkes yönetim kurulunda olmak ister. 15 (veya 50) sene önce amerika da böyleydi.

problem şu ki, eğer firmayı siz kurarsanız, hem hissedar olursunuz, hem de ceo. fakat bazen ceo'nun değiştirilmesi gerekir. ama girişimciler için bu büyük bir ego çatışmasına sebep olur.

Yazının Devamı...

Turkiyede Silikon Vadisi Nasil Olusturulur? - Naeem Zafar Seminer Notlari

Uzun zamandır mesaj yayınlayamadım. Fakat bugün girişimcilik ve inovasyonla ilgili harika bir seminere katıldım, tüm seminerin notunu tuttum. Seminerin yerini tutmasa da, yine de ilgilenenlere yararlı olacağını düşünüyorum.

Silikon Vadisinde bir düzine kadar şirket kurmuş, toplam 70 Milyon doların üzerinde fon kaldırmış (raise fund?) olan Pakistan kökenli Naeem Zafar tecrübelerini aktardı.

Yeni bir teknoloji girişiminde bulunmayı düşünenler veya Türkiye'de yenilikçi/inovatif bir iş kültürü oluşması için çalışmak isteyenlere aşağıdaki seminer notlarını okumalarını tavsiye ederim. (Notları ham haliyle yayınlıyorum)

türkiyenin teknoloji sektöründe çok büyük potansiyeli var.

silikon vadisi, stanford üniversitesi etrafında oluşmuş. yahoo, apple, google, intel ve daha çok sayıda büyük firma burada gelişti.

neden burada bu kadar çok inovasyon oluşuyor?

neden burada böyle olduğunu anlarsak, siz burada da bunu yapabilirsiniz. austin, boston ve banagaloreda da inovasyon var, ama bu seviyede değil

vadinin tarihi hep böyle değildi. 60lı yıllarda tamamen meyve bahçeleri vardı. 70lerde intel kuruldu. yarıiletkenler sektörü büyüdü. 80lerde her şey kişisel bilgisayardı. 90larda internet fırladı.

Yazının Devamı...

Cumartesi, Şubat 28, 2009

Grup Kimligi ve Ustunluk Iddiasi Uzerine

insanlar grup içinde nasıl ikna oluyor? neden insanların sahip oldukları fikirlerle, bulundukları sosyal ortam arasında yakın ilişki var?

birkaç gözlem:

- insanlar içinde bulundukları sosyal çevrenin (aile, mahalle, arkadaşlar vs.) görüşlerini ve değerlerini benimsemeye meyilli.
- utanma duygusu insanları ikna etmede çok güçlü. eğer herkesin dalga geçtiği, küçümsediği bir karşıt görüş (düşman, öteki) varsa, kişi çoğunluğun savunduğu "doğru" görüşü sahiplenmeye meylediyor.
- otorite sahibi kişilerin sözleri, insanlar üzerinde daha yüksek etki sahibi oluyor.
- bir konuşmacı, kuvvetlice vurgulayarak abartılı veriler sunduğunda, kimseden tepki görmezse, dinleyiciler verilerin gerçek olduğuna inanıyor.
- insanlar, tek başlarınayken kendi kendilerini eleştirmeye açık olabilir, fakat grup içinde eleştirilmeye karşı aşırı duyarlı oluyor. bu yüzden, grup içinde değer çatışması ortaya çıktığında, kişi kendi benliğini üstün çıkarmak için, çok kuvvetli güdülenme hisseder. ne var ki, bu kişiler, kendilerini eleştiriye çok açık, mütevazi ve kusurları olan insanlar olarak görebiliyorlar.
- insanlar, sadece birey olarak kendilerine ait değerleri değil, kendilerini ait hissettikleri grubun (aile, cemaat, halk, kurum vs.) değerlerinin eleştirilmesine karşı da aşırı derece duyarlı. hatta pek çok kişi, kendi bireysel değerlerinden çok daha fazla, aidiyet hissettikleri grubun değerlerine karşı hassasiyet gösterir.
- bir değer çatışması ortaya çıktığında, insanlar bir şekilde kendilerinin ve ait oldukları grubun değerlerini üstün çıkartmaya çalışır. burada kişilerin uyguladıkları iletişimin büyük kısmı, sözsüz iletişime dayanır, aynı duygusal iletişimdeki gibi. yani insanların söyledikleri kelimeler gerçek mesajın çok ufak kısmını taşır. gerçek mesaj, ses tonu, söylenmeyen kelimeler, gülmek, jest, mimik ve benzeri davranışlarda saklıdır.
- değer çatışmasından kastım, insanın kendisine veya grubuna ait değerlere ait fikirlerin tartışılması. burada temel sorun, bu değerlerin genellikle başkalarına karşı bir üstünlük ölçüsü olarak kullanılmasında ortaya çıkıyor.
- insanlar çoğu zaman kendi bireysel benlikleriyle, grup kimliklerini birleştiriyor. bu yüzden, gerek birey gerekse grup olarak yüklendikleri değeri, aslında kendi tekil benliklerine ait değer olarak algılıyorlar.
- görünüşte fikir tartışması olarak görünen tartışmaların birçoğu, hakikatte benliklere ait değer çatışmasıdır. bu gibi tartışmalarda, insanlar aslında fikirlerini değil, kendi benliklerini savunmaya, hatta daha doğrusu üstün çıkarmaya çalışıyorlar.
- mal, mülk, kariyer, çekicilik, başarı bunların hepsi başka insanlara karşı üstünlük iddia etmek için kullanılabilir. fakat bunlara ek olarak, değerlere dayalı üstünlük de, mal mülk gibi başka insanlara karşı üstünlük iddiasında bir araç olarak kullanılabilir. bir kişinin mülküyle üstünlük taslamasıyla, kendisine sözsüz iletişimle atfettiği değerlerle üstünlük taslaması arasında ahlaki olarak bir farklılık yok sanıyorum.