Salı, Temmuz 31, 2007

Tanrılara Karşı

Günümüzde geleceği görme yeteneği her alanda giderek daha önemli hale gelmekte. Bireyselleşme, iletişim ve ulaşım hızının artması gibi unsurlar piyasalardaki değişimlerin de daha hızlı gelişmesine ve sonuçlanmasına yol açtığı için dün iyi çalışan veren kararlar kısa zamanda eskiyor. Bazı basit gündelik olaylar büyük değişimlere, batmalara veya çıkmalara neden olabiliyor.

İnsanlar daha ilk çağlarından beri geleceği tahmin etmeye çalışmışlar, tahminlerine göre çeşitli faaliyetlerde bulunmuşlar, sonra da tahminlerinin sonuçlarını değerlendirmişler. Tahmine dayalı alınmış bir kararın ne kadar bilimsel veriye dayalı alınmış olursa olsun her zaman başarısız sonuçlar verme riski var. Bu nedenle risk, alacağımız kararı etkileyen en önemli faktör. Risk insanlığın çok eski zamanlarından beri mücadele ettiği, kontrol altına almaya çalıştığı bir olgu. Matematik biliminin gelişimi ile birlikte bilimadamları riskle mücadele etmeye yönelik birçok araştırma yapmış, riskleri azaltacak birçok yöntemler geliştirmiş.

Tanrılara Karşı risk yönetimi ile ilgili az sayıdaki önemli eserlerden biri. Yazar konuya sosyal yönünden bakmış ama gerekli noktalarda matematiğe de şöyle bir dokunmadan da geçmemiş. Tarihte risk diye bir problemin olmadığı zamanlardan başlayarak günümüze kadar risk yönetimi ile ilgili yapılan çalışmalar gerekli her detaya girerek anlatmış. Kitabı okurken bir taraftan da Fibonacci, Pascal, Gauss, Bayes gibi birçok önemli bilimadamı ve yaptıkları çalışmalar ile ilgili de genel kültür seviyesinde birçok önemli bilgi ediniyorsunuz. Bu kişilerin günümüzü nasıl şekillendirdiklerini anlamak gerçekten heyecan verici. En önemlisi kitabı bitirdiğinizde iş hayatınızdaki risklerle mücadele edebilmek için çok faydalı temel bilgiler öğrenmiş oluyorsunuz. Özellikle Borsa ile ilgilenenlerin bu kitabı okuduktan sonra kazanmak için yaptıklarına daha farklı bir gözle bakacaklarını düşünüyorum.

Kitabı almak üzereyken kitabın adının neden Tanrılara Karşı olduğunu merak etmiştim. Kitabı okurken bunun nedenini anladım. Sıfırın icadı, onluk sayı sistemi gibi matematikteki en önemli buluşlar Hintliler ve Araplar tarafından yapılmış. Batı dünyasına da bu toplumlardan aktarılmış. Ama nedense sonrasındaki önemli gelişmeler Batılılar tarafından gerçekleştirilmiş. Kitapta bunun nedeni inançlara bağlanıyor. Bilim dünyasındaki en önemli motivasyon kaynağı riske karşı koyabilmek. Batı dünyasında Olasılık Teorisi, Karar Teorisi, Fayda Teorisi, Hareket Teorisi gibi çalışmalar yapılırken doğu kültüründe gelecekteki olaylar sadece kadere bağlandığı için kimse gelecekte ne olacağını merak etmemiş.

Kitap aslında finans piyasalarında faaliyet gösteren yatırımcıları hedef alsa da risk yönetiminin önemli olduğu her alanda çalışan kişilerin konuyla ilgili genel bir görüş oluşturabilmeleri açısından önemli bir kitap. Hangi hisse senedine yatırım yapılması gerektiğini düşünen bir kişiyle hangi stoğu daha çok üretmesi gerektiğine karar vermeye çalışan kişi aslında benzer yöntemlerle sonuca ulaşmaya çalışmaktadır. Faaliyet alanındaki belirsizlikler nedeniyle riskleri en aza indirmek zorunda olan herkes için çok faydalı bir kitap.

Pazartesi, Temmuz 30, 2007

Bütün Pazarlamacılar Yalancıdır

Pazarlama dünyası iletişim, teknoloji, bilim alanlarında yaşanan gelişmelerden etkilenmekte, her geçen gün farklılaşmaktadır. Pazarlamacı satış yapabilmek için türlü yöntemler dener, türlü önyargılarla mücadele eder, her tür kılığa girer. Belki de kötü örneklerin çok olması ve daha çok insanın bir pazarlama aldatmacası hikayesi olması pazarlama işini gün geçtikçe daha da zorlaştırmaktadır. Her geçen gün daha çok insan kendi ayağıyla gittiği mağazada bile çevresindeki satıcıları "Acaba beni kandırmak için ne söyleyecek?" düşüncesi ile takip etmektedir. Pazarlama işine bir yerinden bulaşmış herkes için inandırıcı olmak neredeyse hayati önem taşımaktadır. Peki inandırıcı olmak için sadece doğruyu söylemek yeterli olur mu? Aslında pazarlamacının karşı karşıya olduğu şey müşteriyi ikna etmek değil müşterinin kendi kendisini ikna etmesini sağlamaktır.

Dünyanın en çok satmış kitaplarından Mor İnek kitabının yazarı Seth Godin bu kitabında Mor İnek yöntemleriyle farklılık ve farkındalık yaratmış kişilerin inandırıcılıklarını nasıl koruyabileceklerini anlatıyor. Seth Godin'e göre Tüketiciler ne giydiği, nerede yaşadığı, kime oy verdiği konusunda devamlı kendi kendilerine yalan söyleyen kişilerdir. Örneğin Tüketici kısa bir değerlendirme yaparak kime oy vereceğine karar verir, ondan sonra doğru seçim yaptığı konusunda devamlı bilinçaltından kendisini ve çevresindekileri ikna etmeye çalışır. Aldığı bir ürüne ihtiyacı olmasa dahi ona çok gerek olduğuna dair bahaneler bulur. Başarılı pazarlamacılar sadece tüketiciye gerekli bahaneleri sunarlar. Önemli olan bu bahanenin herkes için inandırıcı olmasıdır. Kitapta en çok hoşuma giden örneklerden birisi şuydu. Mağazalarda yapılan %50 indirimler aslında kadınların kocalarını ikna edebilmeleri için sunulan bir fırsattır. Gerçekten de çoğu kadın indirimleri sadece bir ikna yöntemi olarak kullanır. Eğer bir ürün indirimde ise ondan 2 tane alır. Onlar alışverişin mutluluğun sırrı olduğuna inanır.

Her kitabında olduğu gibi bu kitapda da Seth Godin insan düşünceleri ve davranışları üzerine çok önemli tespitler yapıyor. Anlattığı küçük hikayeler ve örnekler ile sunduğu düşünceleri destekliyor. Bence pazarlama dünyasına çok farklı bir bakışaçısı getiren bu kitabı pazarlama işinde olan herkesin bir solukta okuyacağına inanıyorum.

Cuma, Temmuz 27, 2007

Nakit Akışı Ölçüm Çeyreği

Robert Kiyosaki' nin tüm kitaplarındaki ortak tema bellidir. Bazı insanlar çok çalışıp az kazanır, az kazandıkça daha çok çalışır, zamanla daha çok çalıştığı halde kazancı daha da azalır. Bazı insanlar daha az çalışıp daha çok kazanır, zamanla kazançları artar, kazançları arttıkça daha az çalışır. Zengin Baba Fakir Baba kitabı yazarın ilk kitabıdır ve en ünlü kitabı da budur. Fakir Baba öz babası, Zengin Babası ise yakın arkadaşının babasıdır. Bu kitapta Zengin Babası ile Fakir Babasının düşünce tarzlarını, para kazanma yollarını, olaylara karşı tepkilerini karşılaştırarak finansal bilgisi az olan insanların yaptığı büyük yanlışları güzel bir anlatım tarzıyla sunmuştur. Fakir Babası büyük üniversitelerde çok iyi eğitim aldığı, hatta valilik bile yaptığı halde düşük geliri nedeniyle ilerlemiş yaşına rağmen çalışmak zorundadır. Zengin babası ise artık işe gitmek zorunda bile değildir. Nakit Akışı Ölçüm Çeyreği kitabında da sık sık iki babasından bahseder. Kiyosaki'ye göre temel mali eğitimi almamış insanlar giderek fakirleşir. Temel mali eğitimi üniversitelerden alamazsınız. Hatta muhasebe okuyanlar bile bu bilgiden yoksundur çünkü muhasebe bilgisini kendisine kazandırmak için değil başkasına kazandırmak için kullanır. İnsanların çoğunun tüm gelirin sadece maaştır. Çalışma durduğu zaman gelir de durmaktadır. Kişi maaştan başka geliri olmadığı için ihtiyaçlarını borçla karşılamak zorundadır. Borca girildiği zaman çalışma zorunluluk haline gelir ve 1 ayı dahi çalışmadan geçirmek mümkün değildir. Bu döngüyü yazar fare yarışına benzetir ve kitaplarında bu yarıştan kurtularak mali özgürlüğe kavuşmanın yollarını öğretir.

Yazarın Türkçeye çevrilmiş tüm kitaplarını, iki tane de ingilizce kitabını okudum. Bence hepsi harika kitaplar. Bu kitapların tümünü okuduktan sonra aslında Nakit Akışı Ölçüm Çeyreği kitabının diğer tüm kitaplarının anafikirlerini içerdiğini farkettim. Bu kitap diğer kitaplarında bahsettiği hemen her konudan bahsediyor. Kitapta insanlar gelir kazanma şekillerine göre 4 gruba ayrılmış. Önce kendi grubunuzu öğreniyorsunuz, ondan sonra da içinde bulunmak istediğiniz gruba nasıl geçiş yapabileceğinizi öğreniyorsunuz. Bunları öğrenirken de zengini neyin zenginleştirdiğini, fakiri de neyin fakirleştirdiğini de anlıyorsunuz. Aslında kitap arkaplanda ekonomi, para, ticaret gibi konularla da ilgili az bilinen birçok gerçeği anlatıyor.

Bu kitabı zevkle okudum. Kitabın hemen her bölümünde kendimle ve dünyayla ilgili yeni birçok şey keşfettim. Henüz tatile gitmediyseniz mutlaka plaj kitabı olarak bir tane alın. Denize girmeyi bile unutacaksınız.

Pazartesi, Temmuz 23, 2007

Excel İle Sayısal Karar Verme Teknikleri

Verilen ticari kararların doğru olması işletme başarısı açısından hayati önem taşır. Ticaret yapan insanlar geleceğe dair tahminlerde bulunarak birçok karar alırlar. Geleceğin tahmini için geçmişte alınmış kararların ve bu kararların ticari hayata etkisinin iyi bilinmesi gerekir. Bilgisayarlar geçmişe dair yapılan ticari faaliyetlerin bilgilerini hiç unutmadan tutabildiği, günü geldiğinde de amaca uygun şekilde raporlar üretebildiği için çok önemlidir. Yine de geçmişe dair bilgilerden faydalanarak geleceğe dair kararlar verebilmek çok da kolay bir iş değildir. Ticaretci bir karar verirken kendi tecrübesinden veya ticari zekasından yoğun bir biçimde faydalanır. Maliyetin en düşük olacağı veya kazancın en yüksek olacağı veya stokların en hızlı şekilde eritileceği faaliyetin seçilmesi ve uygulamaya geçirilmesi gerekir. 2. Dünya savaşından sonra bu konuda yaşanan bilimsel gelişmeler ve bilgisayarların bu hesaplamaları yapabilecek kapasiteye gelmeleri neticesinde bilgisayarlar artık karar verme konusunda da büyük faydalar sağlamaktadır. Bu araştırmaların yapıldığı bilimsel alana Yöneylem adı verilir. Yöneylem araştırmaları neticsesinde çeşitli problem çözümlerinde kullanılan birçok yöntem bulunmuş. Bunlardan en çok kullanılanları Doğrusal Programlama, Oyun Teorisi, Hedef Programlama, Markov Analizi, Stok Yönetim Teknikleri, Proje Yönetmi, Kuyruk Modelleri vb. dir.

Temelde bu yöntemlerin hepsi problem çözümünde ağır matematiksel işlemler içerir. Bu zor hesaplamaların herkes tarafından pratik bir şekilde yapılabilmesi için Excel programı basit birkaç araç içerir. Temelde kullanılan araç Solver eklentisidir.

Excel ile Sayısal Karar Verme Teknikleri kitabı Excel ve Solver aracını birarada kullanarak analizler yapmayı öğretmektedir. Bence kitabın özelliği sadece çözümlerin nasıl yapılacağını anlatmakla kalmamış olması. Günlük hayattaki problemlerin çözümünde yöntemlerin nasıl kullanılacağı örneklenerek tek tek anlatılmış. Kitabı takip ederken bir taraftan örnek problemin çözümünde temel olarak hangi yöntemin kullanılacağını, diğer taraftan da Excel'in problemi nasıl çözdüğünü çok iyi anlıyorsunuz. Bu nedenle işletme sahibi veya değil, karar verme pozisyonunda çalışan herkesin bu kitabı edinmesini tavsiye ediyorum.

Kitapta örnek verilerek çözülen problemlerden birkaçı

1. Taşımacılık şirketi İzmir'den doğudaki 6 şehre taşıma yapıyor. Problemde merkezlerin biribirlerine uzaklıkları veriliyor. Bu verilere göre maliyeti en düşük güzergahın hangisi olduğunun bulunması isteniyor.

2. Problemde bir şirketin 3 ayrı ilde bulunan fabrikaların haftalık üretim miktarları ayrıca 4 ayrı ilde bulunan depoların haftalık ürün ihtiyacı veriliyor. Bu veriye göre hem depoların ihtiyaçlarını karşılanması hem de en düşük sevkiyat maliyetinin sağlanması için sevkiyatın ne şekilde planlanması gerektiğinin bulunması isteniyor.

3. Yeni kurulacak bir tesisin hangi büyüklükte kurulursa güçlü, orta veya zayıf pazarlardan ne kadar kar veya zarar elde edebileceği verilmiş. Tesisin kurulacağı yerdeki pazarın büyüklüğünün ne olacağının bilinmediği durumda en doğru tesis büyüklüğü seçiminin ne olması gerektiği soruluyor.

4. Bir marketteki kasa sayısı, müşterinin kasada bekleme süresi, 1 saatte gelen ortalama müşteri sayısı veriliyor. Bir müşterinin ortalama kasa önünde bekleme süresinin ne olacağı ve müşterinin boş kasa bulma olasılığının ne olduğu, en iyi kasa sayısının ne olması gerektiği soruluyor.

Kitapta bunun gibi onlarca çözümlü örnek bulabilmeniz mümkün. Ayrıca bu örneklerin hepsi kitaba ilave bir CD içerisinde de veriliyor. Her geçen gün bilgisayarların daha iyiyi bulmamıza yaptığı katkı artacak ve kararlarını bu yöntemlerden faydalanarak veren işletmeler daha başarılı olacaktır.

Cumartesi, Temmuz 21, 2007

Öylesine

Bundan birkaç sene once bir ressamın yanına çırak olarak eğitim almaya gittim. Hocam eşiyle birlikte bir galeri işletiyordu ve galerinin arkasındaki atölyede de ben resim yapmayı öğreniyordum. Birgün hocam elinde oğlunun beş yaşındayken yaptığı resimlerle geldi. Ben beş yaşındaki bir çocugun nasıl bu kadar güzel resim yapabildiğini düşünürken hocamın gösterdiği bir resimle birden şok oldum. Ufaklik boydan kendi resmini çizmişti ve pantolonu yoktu. Kendisini aynadan seyrettiğinde çıplak halinde ne görüyorsa onu olduğu gibi çizmişti. O gün bu resim uzerine çok sey konustuk ama hocamin söylediği birşey hala aklımdadır. Beş yaşındaki bir çocuk büyürken toplumdan aldığı en büyük eğitim utanma ve kendini kısıtlama duygusudur. İnsanın yaratıcılığının önüne geçen ve bir düşünceyi daha aklına geldiği anda bilinçaltından engelleyen mekanizma budur. Eleştirilme, dışlanma, alay edilme gibi korkular bazı düşüncelerimiz daha işin baslangıcında yok eder. İnsan bu korkularını yenmeli ve kendini gördüğü gibi olabildiğine çizebilme özgürlüğünü kaybetmemeyi başarabilmelidir demişti.

İnsan psikolojisindeki baskın duygulardan birinin korku olduğunu bazı kitaplardan okumustum. Korku insanların hareketlerinde sınırsız davranmasını ve genel ahlak kurallarının dışına çıkmasını engelleyen onemli bir faktördür ancak bizim toplumumuzda bu duygu bu şekilde gelişmemistir. Genellikle bir insanin kalbini kırma, saygısızlık yapma, iyi işleyen bir ortamı bozma, insanlari yanlış yönlendirme, etik değerlere saygı gostermeme, tembellikten bir ise yaramaz hale gelme, israf etme gibi korkularımız yoktur. Genelde gözlemlediğim büyük korkular hep maddiyatla ilgili konulardır. Insanlar gücünden daha ust seviyedeymiş gibi yaşar ve bu durumlarını kaybetmemek için akla hayale gelmeyecek cinliklere başvururlar. Belkide bu olduğundan fazlasıymış gibi görunme ve yaşama isteğinin altında yine eleştirilme ve dışlanma korkusu vardır. Belkide bu nedenle birçok değerlendirmemizi hep maddi ölçütlerle yaparız ve diğer ayrıntıları hep ikinci plana atarız. İyiyi veya kötüyü maddi değeri ile ayırt ederiz. Ticari değeri olduğunu sandığımız bir düşüncenin saklanması gereken bir düşünce oldugunu düşünürüz ama karşımızdakini üzebilecek bir düşüncemizi dile getirmekten hiç çekinmeyiz...

Eminim aramızda merak edip Google ile ilgili kitabı okuyanlar vardır. Gerçi bu tür kitaplar biraz destansı özelliklerle bezelidir ama yine de kısmen de olsa doğru olduğuna inandığım bir anafikri vardir. Google projesine bu projeden nasıl para kazanılacağına dair hiç bir fikri olmayan yatırımcılar tarafindan 25 milyon dolar para yatırılmış ve yüksek hardware gereksinimi nedeniyle büyük sıkıntıda olan bir projeye yaşama şansı verilmis. Adwords sistemi daha sonralari geliştirilmiş ve proje yatırımlarını kat kat geri döndürmüş. Burada önemli olan şudur. Google geliştiricileri "Bir arama motoru yazalim da reklamdan köşeyi dönelim" diye yola çıkmamışlar. Artık projeden para kazanılması gerektiğini şirket borca batmak üzereyken ciddi bir sorun olarak görmeye başlamışlar. Google'ın bu hale geleceğini o kadar görememişler ki arama motorunu Yahoo'ya satmaya çalışmışlar. Şimdi "e adamlarda para çok, refah düzeyleri yüksek" diyenler çıkabilir. Merak ediyorum Google Türkiye'de 25 degil 250 milyon dolardan parayı ilk verene satılsa satılması kaç dakika sürer? 25 milyon doları olan herkes Google yapabilir mi?

Birgün Teknokentimizin web sitesini dolaşırken Yeni Fikirler Yeni İşler diye bir link dikkatimi çekti. Hemen siteye girdim ve acaba ne fikirler var diye merakla baktım. Juri özel ödülü alan proje dikkatimi çekti. Spor karşılaşmalarının görüntülerinin insansız sistemlerle çekilmesiyle ilgili ilginç ve güzel bir proje. Dikkatimi çeken cümle ise şuydu:

"İş planımıza göre, öncelikle halı saha futbol karşılaşmalarında talep bulması beklenen sistem, işletmecilerin %25 gelirlerini artıracak yeni ürünlerin (DVD ya da VCD gibi) sunulmasını
sağlayacaktır. Bizce herkes yaptığı maçın görüntülerine sahip olmak isteyecektir. "

İşte gençlerin yaratıcılığının nasıl kısıtlandığının güzel bir örneği. Gençler somut bir sekilde DVD satarak projenin %25 gelir artışı sağlayacağından bahsediyor. Bu fikri geliştirenlerin yaşlarını
bilmiyorum ama eğer tahmin ettigim gibi öğrenci olacak yaştalarsa şimdiden para kazanamayan bir firma sahibinin yaşayacağı türden kaygıları taşımaları düşündürücü.

Ne eğitimi alırsa alsın insan üniversite kapısına zaten bir kalıba sokulmus şekilde geliyor. Gençler Yazılım Mühendisi ünvanını almış bile olsa yukarıda bahsettiğim korkuları ve toplumun
çizdiği yüksek standardı yakalama endişesini taşıyor. Halbuki çevremize baktığımzda bir işi iyi yapabilen, tembel olmayan, olumlu düşünen ve iyi insan ilişkileri kurabilen herhangi bir kişi iyi bir yaşam standardı yakalayabiliyor. Yani iş yine insanin kendisinde bitiyor. Pazarcılıktan tekstil fabrikasi kurmaya kadar yukselmis bir kişi gördüğümüzde "acaba nereden yürüttü" gibi bir şey düşünürüz. Bu tür şeyler başaranların nasıl yaptıklarını görmek ya işimize gelmiyor ya da aklımıza yatmıyor. Rahmetli Sabancı' nın dediği gibi Çalışmak, Çalışmak, Çalışmak. Avrupa gol kralımız Tanju Çolak ile ilgili bir anı dinlemiştim. Normal antremanlar bittikten sonra Simoviç'i ve Prekazi'yi yanına alarak Prekaziye orta yaptırır ve vücudunun her yerini kullanarak saatlerce Simoviç'e gol atmaya çalışırmış. Avrupa gol krallığı Yetenek mi? Şans mı? belki bunların etkisi vardır ama çalışmanın ve kendini geliştirmek için gayret etmenin önemini keşfeden bir kişinin ne is yapıyor olursa olsun başarıyı ve maddi kazancı mutlaka ama mutlaka kazanacağına inananlardanım. Ama bizi biz değil elimizde olmadan bilinçaltımıza yerleşmiş şeyler yönetiyor. Çoğu şeyi adet yerini bulsun, komşular alışverişte görsün diye yapıyoruz. Zaman geçtikçe birşeyleri kaçırıyor, geride kalıyor ve geride kaldıkça daha saldırgan, daha statükocu, daha nemelazımcı oluyoruz. İşin garibi birşeyler yapmaya gayret eden kişileri de vargücümüzle dövüyor ve yaptığına yapacağına pişman ediyoruz. Etrafınıza bir bakın. Hiç bir olumlu sonuca bağlanmayan ne kadar çok gereksiz eleştiri var. Herhalde herşeyde eleştirilecek bir yön bularak eksikliklerimizi veya korkularımızı inkar etmeye çalışıyoruz.

Tabiiki temel sorun yine de eğitimde ama ben sorun olarak gördüğüm problemlerin çözüldüğünü görebilecek kadar yaşayabileceğimi zannetmiyorum. Belki yanlışlıkların farkına varanlar farklı düşünen çocuklar yetiştirirse bu çocuklarin birşeyler yapma şansı olabilir. Yaşam standardı mutluluk olan, sevginin ve saygının önemine inanan, çalışmayı ve üretmeyi seven, yaratıcılığı ve fikir üretme özgürlüğü yokedilmemiş, eleştirilmekten korkmayan, problemlerini konuşarak değil çalışarak çözebileceğine inanan, fikirlere eleştirerek değil geliştirerek yaklaşabilen, küçük hesapların değil büyük hedeflerin peşinde olan, kendini olduğu gibi kabul eden ve seven cocuklar yetiştirebiliriz. Bu çocuklar üniversiteye hayatı garanti altına alan bir kağıt parçası için değil kendilerine yeni bir ufuk açmak icin gelirlerse bu beklenti o ortamla ilgili hocayı, dekanı, rektörü, bakanı herkesi adam edecektir. Yani eğitimin kalitesi, eğitim alanın kalitesiyle beraber yükselecektir.

Kimbilir belki de şimdiden içimizde, kendi çıplak resmini çizen utanmaz çocuklar yetiştirerek biryerlerden başlayabiliriz.

Perşembe, Temmuz 19, 2007

Beynimizin Çalışma İlkeleri

Bu yazımda beynimizin çalışma prensiplerine yönelik öğrendiğim bazı bilgilerden kendimce önemli gördüklerimi anlatacağım.

Beynimiz 5 duyumuzdan gelen girdileri (ses, görüntü, koku, tat gibi) kullanarak bir model oluşturur ve bunları veri bankasına kaydeder. Bu veri bankasını bazen hayat tecrübesi, bazen bilgi, bazen de hayat görüşü gibi kelimelerle tanımlarız. Beyin bir bilgiyi veritabanına kaydederken edindiği diğer bilgilerden faydalanarak onu bir tanım haline getirir. İnsan bir böcek gördüğünde temel bilgilerini kullanarak onu tanımlar ve buna karşı bir tepki oluşturur. Normal bir insan iğrenir, korkar ve korunmaya çalışırken bir biyolog böceği inceler, eline alır, onun özelliklerini anlamaya çalışır. Yani yaşamımız boyunca olaylara karşı tepkilerimizin ne olacağını önceden veri bankamıza kaydettiğimiz bilgiler belirler. Tepkilerimizin sonuçları ise veri bankamıza yeni bilgiler kaydedilmesine neden olur. Bu süreç her insanda farklı veri bankaları oluşmasına, dolayısıyla farklı insanların benzer olaylara farklı tepkiler vermesine neden olur.

Beyin ile ilgili bilmemiz gereken en önemli şeylerden birisi beynimizin gerçek olanın ne olduğunu aslında önemsememesidir. Beynin üzerinde çalıştığı veri gerçek olan değil kayıtlı olandır. Ölü bir yılanla karşılaşsak bize zarar veremeyeceğini bildiğimiz halde canlı bir yılanla karşılaşmışız gibi tepkiler veririz. Bir film seyrettiğimizi bildiğimiz halde aşk acısı çeken aktör için ağlarız. Verdiğimiz tepkilerin sebebi gerçekler değil o gerçek duruma karşı beynimizde oluşmuş modellerdir.

Şimdi kağıdı kalemi elimize alalım ve bir araba çizelim.


Eğer bir ressam değilsek büyük ihtimalle soldakine benzer birşey çizmişizdir. Gerçekte böyle bir araba var mı? Yoksa biz yeteneksiz miyiz? İkisinin de cevabı hayır. Çizdiğimiz şey araba görüntüsü karşılığında beynimizde oluşmuş simgesel modeldir. Bu basit model hayatımız boyunca gördüğümüz bütün arabaların ortak özelliklerinin birleşimidir. Bir nesnenin araba olup olmadığını anlamak için bu kadar bilgi yeterlidir. Arabanın çelik jantları olması, otomatik vites olması gibi detaylar bu modelde yoktur ve gerçekte de gördüğümüz nesnenin araba olup olmadığına karar verirken bu detaylarla ilgilenmeyiz. Herkes çizdiği araba sembolüne teker ekler. Gerçek hayatta arabaya benzeyen ama tekerleri kare olan bir nesne gördüğümüzde bunu çok garipseriz ve buna araba demekte zorlanırız. Halbuki motoru olmayan bir araba görsek buna en fazla motoru çıkarılmış araba deriz. İlgilendiğimiz detay arabanın tekerleri kare olduğu için veya motoru olmadığı için gidemeyeceği gerçeği değil gördüğümüz nesnenin beynimizde oluşan modele uymamasıdır.

İşte bütün hayatımızı bu tür basit modeller kullanarak sürdürürüz. İnsan ilişkilerimizde, iş veya sosyal hayatımızda, aldığımız kararlarda, kısacası insana özgü her türlü eylemimizde çeşitli problemler yaşarız. Problemlerin büyük çoğunluğunun kaynağı gerçekler değil türlü nedenlerle veri kaynağımıza kaydedilmiş gerçekle ilgili yanlış modellerdir. Bu kayıt ve değerlendirme işlemi bilinç dışı gerçekleşir. Yani neyin nasıl kaydedileceği konusunda bir kontrolümüz veya seçim özgürlüğümüz yoktur.

Hayatta karşılaştığımız en garip durum kaçındığımız şeylerin başımıza gelmesidir. Düşmemeye çalışan bir cambaz düşer, gol yememeye çalışan bir kaleci gol yer. Cambazın düşmemek için gösterdiği çaba beyinde düşen bir cambaz modeli oluşturur. Beyin modeli oluştururken ve o modele uygun tepkiler vermemizi sağlarken bunun kaçındığımız birşey olup olmamasıyla ilgilenmez. Sürekli düşünme bu modelin oluşması için yeterlidir. Bu nedenle olumsuz sonuçlara neden olacağını düşündüğümüz davranışları yapmaktan kendimizi alıkoyamayız.

Beyin çoğu durumda bizim hükmettiğimiz bir organ değildir. Beynimiz zaman zaman bize hükmeder. Beyinde acil durumlarda kısadevre görevi gören amigdala adı verilen bir parça vardır. Amigdalanın temel görevi kişinin hayatta kalmasını sağlamaktır. Kimi acil durumlarda insan bilinci devre dışı kalır ve kontrol amigdalaya geçer. Örneğin ayağımız kayıp yere düşerken kendimizi koruma amaçlı yaptığımız hareketleri bilinçli yapmayız. Amigdala anında devreye girerek kontrolü ele alır. Tabiiki amigdala yine geçmişte oluşmuş verikaynağını kullanır. Bu nedenle bir kalecinin yere düşme ile ilgili oluşmuş verikaynağı normal insanınkine göre çok daha gelişmiş olduğu için kaleci bu durumu daha az hasarla atlatır. Genellikle ağır duygusal uyarılara maruz kalındığında amigdala devreye girerek kontrolü ele alır. Örneğin saldırma, kaçma, savunma gibi eylemler amigdala kontrolünde gerçekleşir. Modern hayatın gereği normal günlük eylemlerimizde de zaman zaman kontrol amigdalaya geçer. Verikaynağımızın kalitesi direk olarak amigdalanın çalışma şeklini şekillendirir.

Günümüzde beynin bu özelliklerinden yola çıkarak birçok kişisel gelişim metodu üretilmiştir ve pazarlanmaktadır. Bunlardan en çok bilineni NLP'dir. Yakın zamanlarda çok konuşulan Çekim Yasası meselesi ise aynı konunun değişik bir tarzda sunumudur. Böyle tekniklere, sırlara ihtiyaç var mı bilemiyorum ama herşeyin beyinde bittiğinin bilincinde olunması ve buna göre hareket edilmesi zaten insan işin çok büyük bir kişisel gelişim nedeni olacaktır.

Patronumdan öğrendiğim güzel bir sözle bitirmek istiyorum. "Güzel gören güzel düşünür. Güzel düşünen hayatından lezzet alır."

Sır (The Secret) kitabı yutturmacası.

Arka kapağını okuyup da "ahanda fena bişey keşfettim" diyerek bu kitaba atlayan sazanlardan birisi de ne yazık ki benim :) Yazıklar olsun bana hiç akıllanmayacağım.

Hayatımda ilk defa bir kitap tarafından aldatıldığımda 10-12 yaşlarındaydım. Ablamın bir gazete ilanında gördüğü "10 Günde Zayıflamanın Sırrı" kitabı sıfır beden takıntısı olan her genç kız gibi ilgisini çekmiş ve annemi de kilo problemlerinin tarih olacağına ikna ederek kitabın siparişini verdirtmişti. Ben de o yaşlarda tombalak bir çocuk olduğum ve diğer arkadaşlarımın yanında kompleks yaptığım için bu kitaba büyük ilgi duymuştum. Hayatım değişmek üzereydi. Artık ben de futbol takımına girebilecektim. Hararetli bekleyişimiz bir hafta sonra gelen bir paketle sona erdi. O paketi açarkenki heyecanımızı hiç unutmam. Ablam kitabı eline almış ve yüksek sesle okumaya başlamıştı. Kitabın ilk birkaç sayfasından sonra büyük sır açıklanıyordu. Yemek yerken her lokma 1 dakika çiğnenecek. Ssonra 100 sayfa kadar diyet listeleri. Sır bu mu yani? 10 sayfa sırrın reklamı, sonra 1 paragraf sır, sonra 100 sayfa diyet listesi. Kitap biryere fırlatıldı ve ilk birkaç lokmalarımızı bir dakika kadar çiğneyip sonra bu sevdadan vazgeçeceğimiz yemek sofrasına oturuldu.

Sır kitabını ilk okuduğumda aynı hissi yaşadım. İstediğin herşeyi elde etmenin sırrı o şeyi çok istemek. Sonrası hikaye. Kim neyi çok istemiş ve başarmış muhabbeti. Aslında bu yeni birşey değil. Biraz kişisel gelişim, NLP vesair konularına bulaşmış herkes bu "araba almak istiyorsan habire kendini o arabaya binerken hayal et" meselelerini iyi bilirler. Aslında NLP'nin tutar bir yönü var. Hani biraz insanın kendini birşeye kanalize ederek bir algıda seçicilik oluşturması vesilesiyle istediği şeye sahip olmasına neden olabilecek fırsatları daha iyi değerlendirebilmesi veya ona yönelik çalışması veya satınalma tercihinde onu önplana alması gibi az biraz akla mantığa uygun bir yönü var. Yani NLP geliyor sonuçta insanın kişisel bir içdisiplin oluşturması noktasına dayanıyor.

Sır yazarları bu çabanın bile insanlara zor geldiğini düşünmüş olacak ki kişisel gayreti de kenara atarak işi direk kuantum fiziğine dayandırmış. Sadece düşünme yetecek başka bir gayrete de gerek yok. Lisedeki Pakistanlı Fizik hocam bu kitabı okuyup da "aah ülen aah bu nasıl benim aklıma gelmedi" nidalarıyla kafasını dağlara taşlara vurmuş mudur bilemiyorum ama ne yazarın ne de okuyucunun kuantum fiziği hakkında lise hocam kadar bile bilgisi yok. Bu halde kuantum fiziği sır yasasının doğruluğunu nasıl ispat edebiliyor anlamak mümkün değil.

Şöyle 1-2 gün hayal aleminde gezmek veya abuk subuk birşey için harcayabileceğiniz birkaç saatiniz varsa bu kitabı okumak isteyebilirsiniz. Buna birşey diyemem. Ama bence fazla kaptırmamak gerekir. Tabii bu formül tutmayacak. Onun da panzehiri hazır. Bunu da dün gördüm. "Sır benim için çalışmıyor veya bazen çalışıyor bazen çalışmıyor (!!) diyenler için her defasında garantili çalıştıran yöntem kitabı". Aslında bu kitap ünlü yazar Napoleon Hill'in çok eski bir kitabı.

Madem ki elalem sikrıt yaparak karşısına kuş karga çıkarabiliyor veya yerde para felan bulabiliyor, acaba tüm mahalle, konu komşu sikrıt yapsak susuz Ankaramıza yağmur yağdırabilir miyiz :)

Çarşamba, Temmuz 18, 2007

Özellik Yönelimli mi? Vaka Yönelimli mi?

Bu yazıda iki temel yazılım geliştirme tekniğini inceleyeceğiz.

Program yazarken genelde yaptığımız şey şudur. Programın yapması gereken bir iş belirleriz. Sonra programa o işi yaptırıncaya kadar kodlar dururuz. Kodlama yaparken aklımıza birşeyler gelir. Elimiz değmişken müşteriyi memnun edeceğini düşündüğümüz bu özellikleri ekleriz. Hadi buna bir isim verelim ve bu işi belirleme ve belirlediğimiz işi programa yaptırma olayına Üretim Süreci diyelim.

Üretim sürecinin bir iş belirleme ve o işi yapma adımlarının arasında aslında bir de analiz adımı vardır. Yani bir iş belirlenir. Bu işi programın nasıl yapacağı analiz edilir ve yaptığımız analize göre kodlama yapılır. Gerçekte bir de tasarım aşaması var ama şimdilik onu kodlama aşamasına dahil edelim. Programın yapacağı işe de gereksinim diyelim.

Özetlersek önce bir gereksinim seçiyoruz, bu gereksinimi programın nasıl karşılayacağına karar veriyoruz ve programı yazıyoruz.

Yapacağımız iş ne olursa olsun, işin nasıl yapılacağının analizinde iki temel yöntem vardır. Tümdengelim ve Tümevarım. Eğer konunun bütünü hakkında yeterli bilgimiz varsa Tümdengelim tekniğini uygularız. Yani konuyu bir bütün olarak ele alırız ve bütünü oluşturan parçaları araştırırız. Eğer konu hakkında yeterince bilgi sahibi değilsek o zaman Tümevarım tekniğini uygularız. Yani bütüne ait olduğunu tahmin ettiğimiz küçük parçaları ele alırız ve onları biraraya getirerek bir bütün oluşturmaya çalışırız. Tümevarım tekniğinin çok önemli bir riski vardır. Küçük parçalardan bütüne ulaşma çabası herzaman başarılı sonuç vermez. Bütüne hakim olmadığımız için elimizdeki parçalar bizi gerçekte olandan çok farklı bir noktaya götürebilir.

Örneğin inşaat işi yaptığımızı düşünelim. Eğer nasıl bir bina yapacağımız belli ise o zaman inşaatın sonucunu düşünerek bir proje hazırlarız. İşleri küçük parçalara böleriz. Bu aşamada inşaat sırasında karşılacağımız sorunların büyük bölümünü kağıt üzerinde çözeriz. Sonra hangi iş bitince hangisinin başlayacağını belirleriz ve planımıza uygun şekilde işi organize edip uygulamaya geçeriz. Ulaşacağımız sonuç başta planladığımızla aynı olacaktır. Eğer bir bina yapacağımızı biliyor ama nasıl bir bina yapacağımızı bilmiyorsak o zaman elimize malayı, tuğlayı alıp duvarın bir tarafından örmeye başlarız ve ilerleme durumumuza göre sonraki işin ne olacağına karar vermeye çalışırız. Bu yöntemle başta amaçladığımız sonuca ulaşma ihtimalimiz çok düşüktür. Yapacağımız küçük bir klübe ise konuya hakimiyetimizi kaybetmeden işi bitirme ihtimalimiz olabilir ama bir gökdelen yapmaya kalkarsak bir yerden sonra ip kopar.

Tabiiki inşaat yapmıyoruz program yazıyoruz, burada bazı farklar var. Farklar çok olsa da program üretirken de Tümevarım ve Tümdengelim yöntemleri kullanılır. Biz bu iki program yazma yöntemine Özellik Yönelimli (Feature Driven) ve Vaka Yönelimli (Case Driven) programlama diyoruz. (Türkçelerini ben şimdi uydurdum. Türkçe başka şekilde ifade ediliyorsa onları da araştırıp yazıma eklerim. Şimdilik böyle devam edelim.)

Eğer çevremizde "Programa şöyle bir özellik ekledik." veya "Programda şu özellik olmadığı için müşteri programı almadı" şeklinde konuşmalar yapılıyorsa Özellik Yönelimli Programlama yapıyoruz demektir.

Eğer "Kullanım vakası bu kullanım senaryosuna uygun değil" veya "Bu kullanım vakası müşteri gereksinimlerini tam karşılamıyor" gibi konuşmalar yapılıyorsa Vaka yönelimli Programlama yapıyoruz demektir.

Asıl amacım bu yöntemlerin tanıtımını yapmak değil. Amacım yazılım üretiminde sık yapılan bir hataya dikkat çekebilmek ve projelerin aslında müşteri gereksinimlerine paralel gitmesinin ne kadar önemli olduğunu anlatabilmek. İyisi mi gerçek hayat örnekleri üzerinden düşünerek devam edelim.

Öncelikle basit bir örnek düşünelim. Bir program yazarak yazılım sektöründe devrim yapmayı planlamaktayız. Herkes bu programı satın almalı. Programımız bir satış programı olsun. Stok kartları olacak. Alış faturası ile mal alınacak, Satış Faturası ile satılacak. Program bu evraklarla yapılan hareketleri baz alarak Stok Envanterini ve Stok Karlılık Raporunu verecek. Bir de müşterilerin borcunu alacağını tutacak. Programı ne tür bir müşterinin kullanacağını ve müşterin gereksinimlerini bilmediğimiz için konuya şöyle gireriz.

Temel parça stok kartı. Stok kartı olmadan fatura kesemeyiz. Önce stok kartını düşünelim. Stok kartında ne olur? Stok kodu, Malın Cinsi, Barkod, Birim, Satış Fiyatı ve raporlar için birkaç tane özel kod olur. Biz bunları düşünürken çok bilgili arkadaşımız "Böyle yaparsan bu programı bilgisayar parçası satanlar kullanamaz çünkü onlar malı dövizle alıp satarlar" der. Tamam sorun yok Döviz satış fiyatı özelliğini de koyalım. Döviz koyacaksak kur bilgisinin girileceği bir alan daha gerekir. Sonra başka biri "Buna bir de peşin fiyatı, veresiye fiyatı lazım der" peki 2. Satış Fiyatını da koyalım hatta elimiz değmişken bir de 3. satış fiyatı koyalım zengin göstersin. Bunların döviz karşılıklarını da girecek alanlar koyalım. Tabii bitmez. Başka biri "aaa ama ürünün adet barkodu farklı paket barkodu farklı" der. Tamam birim bazında barkod tanımlama özelliğini de koyduk. Başka biri "ya geçen bi müşteriye gittim adam stok kartında 3. iskonto tanımlama özelliği olmadığı için 5 yıldır kullandığı program bırakmış" der. 3. İskonto mu? Hmm 3 iskonto kullanan yerleri kaçırmamak lazım. Stok kartına 3 tane de iskonto tanımlama alanı açalım. Peki 3 tane de fiyat koyduk? Peşin alana da veresiye alana da aynı iskontolar uygulanacak mı? Neyse konu biraz karıştı. Şimdilik karta direk koyalım sonra biri istek yaparsa çaresine bakarız.

Evet stok kartı tamam. Kodladık güzel oldu. Şimdi satış faturasına geçelim. Faturada ne olur? Bir başlık bölümü, bir hareket bölümü bir de genel toplam bölümü olur. Başlığa ne koyacağız? Belge Tarihi, Belge Numarası, stok kartında döviz de olduğuna göre başlığa bir de döviz seçeneği koyalım. Müşteri kartının seçileceği bir alan açalım. Müşteri kartı mı? Hmm o zaman önce müşteri kartını yapalım. Bu böyle sürer gider...

Bu arada başka bir yazılım evinde olaylar daha farklı gelişmektedir. Şirket yönetimi giyim malları satan yerlerde kullanılacak bir satış programı yazmayı planlamaktadır. Kullanacak kitle tanımlıdır. Programın çözeceği problem de bellidir. Giyim satışı konusunda deneyimi olan birisiyle yapılan görüşme neticesinde şöyle bir döküman hazırlanır.


Giyim Satış Programı

Vaka No:1 Satış Sorumlusu Satış Yapar

  1. Müşteri satın alacağı ürünleri kasaya getirir
  2. Satış Sorumlusu yeni satış komutu verir
  3. Sistem Satış belgesini hazırlar, otomatik belge no ve tarih verir, boş bir hareket ekler ve belgeyi gösterir.
  4. Satış Sorumlusu ürün barkodunu okutur.
  5. Sistem barkoddan stok kartını bulur, karttan satış fiyatını okur, harekete stok kodunu, malın cinsini satış fiyatını yazar, belge toplamını günceller ve yeni satıra geçer.
  6. Satış sorumlusu tüm mallar belgeye ekleninceye kadar 4. adımdan devam eder.
  7. Satış Sorumlusu ödeme şeklini (Nakit, Kredi Kartı) seçer.
  8. Sistem ödeme şeklini ekranda gösterir.
  9. Satış sorumlusu belge yazdırma komutunu verir.
  10. Sistem belgeyi kaydeder ve yazıcıya belgeyi gönderir.
  11. Bitti.

Bu döküman işletmede yapılan bir faaliyetin bilgisayara kaydedilmesi sırasında girilen bilgilerin ve program ile kullanıcının etkileşiminin gösterildiği bir kullanım vakasıdır (Use Case) Bu vakayı programlayacak programcı bu işlemin yapılabilmesi için stok kartına hangi bilgilerin konulması gerektiğini araştırır. Bu vakayı tamamlayabilmek için Stok kartında Barkod, Stok Kodu, Malın Cinsi, Satış fiyatı alanlarının olması yeterlidir. Ya birim? Döviz fiyatı? Programın hedefi giyim satışı yapanlardır. Giyim satanlar koliyle gömlek satmazlar. Döviz kullanan da bazı yabancı kökenli mağazalar haricinde pek yoktur. Aslında giyim satan bir mağazanın stok kartında birim gibi bir bilgi olması bile hem veri hem de görünüm anlamında fazlalıktır. Ya iskonto? Mağazalar indirim yapmazlar mı? 2 numaralı "Kampanya Kullanım Vakası" üzerinde yapılan inceleme neticesinde giyim mağazalarının iskontoyu belli bir grup ürüne yaptığı ortaya çıktığı için rakibimiz iskontoyu stok kartına koymamış onun yerine başka bir yerden yazlık gömlek grubu veya kışlık pantolon grubu gibi belli gruplara topluca iskonto yapılmasını sağlamış. 2. ve 3. iskontoyu koymaya da gerek bile duymamış. Peki giyim satan kişi benim programımı kullansa kampanya döneminde ne yapacaktı? Önce tek tek her stok kartına iskonto vermeye çalışacaktı. Bu zor gelmeye başlayınca benden topluca stok kartlarına iskonto yapılmasını sağlayacağım bir özellik isteyecekti.

Biz özellikleri birarada çalıştırmaya ve müşterilerimizin isteklerini yapmaya uğraşırken rakibimiz başından sonuna bir işin yapılabildiği çalışan birşeyler üretmiş ve buna ihtiyaç duyacağını düşündüğü müşterilere gitmeye başlamıştır.

Kullanım vakaları kullanım senaryoları ile geliştirilir. Kullanım senaryosu bir gerçek hayat örneğidir. Mesela şöyle bir senaryo düşünelim. Müşteri ürünleri kasaya getirmiş ve satış sorumlusu ürünleri okutmaya başlamıştır. Tam ürünleri okuturken müşteri "bir dakika" der o anda gözüne çarpan bir eteğe bakmak üzere kasanın önünden ayrılır. Satış sorumlusu ne yapar? Kullanım vakamız bu senaryoyu karşılayabilir mi? O an yapılan satışın duraklatılması ve sıradaki müşteriye geçilmesi durumunu karşılayacak şekilde kullanım vakası güncellenir. Programcı vakayı tamamlayacak şekilde programı günceller, vakanın her adımının tamamını test eder. (veya test kodunu günceller) Programın bir yerinde değişiklik yapılması durumunda çalışma şeklinin ne olması gerektiğini kullanım vakası (Use Case) belgelemektedir. Bir değişiklik yaparken başka bir işlevin bozulması gibi bir risk çok düşüktür.

Sonuçta işe yarar bir fatura yazma ihtimali vaka yönelimli hareket edildiği zaman hep daha yüksektir çünkü tümdengelim yöntemi kullanılmaktadır ve parçaların taşıyacağı özellikler bütüne bakılarak belirlenmektedir. Programcılıkta en kötü olay programın tamamlanmamış vakalar içermesidir. Örneğin programda yapılması gereken iki iş olduğunu ve ne yapılacağına programcının karar verebileceğini düşünelim. Birisi "seri numaralı satış yapma özelliği" birisi de "faturayı yazıcıdan çıkarma" özelliği olsun. Özellik yönelimli düşünen programcı büyük ihtimalle seri numaralı satış özelliğini eklemeyi düşünecektir çünkü bu özellik programın hitap ettiği kitleyi genişletecek ve programın satılma ihtimalini yükseltecekir. Kimse programı yazıcıdan çıktı verip vermediğine bakarak almaz ama seri numaralı satış yapan bir müşteri bu özelliği görmek ister. Programcı bıçak kemiğe dayandığında fatura çıktısının nasıl olsa yapılabileceğini düşünür. Halbuki vaka yönelimli düşünen birisi böyle bir tercih yapma durumunda bile kalmaz. Program fatura yazdırmadan daha ilk vaka bile tamamlanmamaktadır. Bir vaka tamamlanmadan diğerine geçilmeyeceği için program fatura kaydeden ama çıktısını veremeyen bir duruma asla geçmez. Özellik yönelimli programlamada hemen her zaman programda buna benzer bir eksiklik olur.

2 önemli tespit yaparak konuyu sona erdirelim.

Üretim tekniği yazılımevinin bütün organizasyonuna sirayet eder. Bir programın demosu yapılırken programın hangi teknikle hazırlandığını hemen anlayabiliriz. Eğer demoyu yapan kişi "Faturada x özellik var" "stok kartında y özellik var" şeklinde anlatım yapıyorsa o yazılımevi özellik yönelimli çalışmaktadır. Eğer demoyu yapan kişi önce müşterinin kullanım senaryolarını sorguluyor sonra programın bu kullanım senaryolarında nasıl kullanıldığını gösteriyorsa o yazılımevi vaka yönelimli çalışmaktadır.

Gördüğü süper özelliklerden çok etkilenerek özellik yönelimli üretilmiş bir programı satınalan birisi programı kullanmaya başladığı andan itibaren hayal kırıklığına uğrar. Programda süper özellikler vardır ama bu özellikler sistem ile kullanıcı etkileşimi düşünülmeden eklendiği için özelliklere ihtiyaç olan yerde ulaşmak her zaman mümkün olmaz. Program adamın sırtını bile kaşıyacak özelliklere sahiptir ama kullanıcı ihtiyaç duyduğu anda bu özelliklerden tam faydalanamaz. Örneğin faturaya herhangi bir satırdaki stoğun alış fiyatına bakma özelliği eklenmiştir. Halbuki kullanıcı sadece fiyata bakmak için faturaya satır eklemek istememektedir çünkü faturaya hangi stoğu ekleyeceğine fiyatına bakarak karar vermek istemektedir.

Sonuçta özellik yönelimli programlamaya iyice yüklenmiş olduk. Tabii bu kadar kötü görünmesinin nedeni örneği XP gibi herhangi bir yöntem kullanılmadığını düşünerek vermiş olmam. Böyle bir temel olduğunda özellik yönelimli programlama yaparak iyi sonuç alabilmek mümkün.

Delphi Hatasını Düzeltiyor mu?

Delphi nerede hata yaptı yazımın üzerinden bayağı bir zaman geçti. Bu arada Codegear kuruldu. Delphi 2007 çıktı. Delphi 2007'yi inceledim ve Win32'ye dönüş operasyonunu çok olumlu buldum. Codegear'ın Delphi yapılandırmasındaki stratejisinin başarılı olacağına inanıyorum. Galiba benzer bir dönüşü Microsoft'da Visual C++ ile yapacak. Birgün herşeyin .Net framework üzerinde çalışacağını iddia eden Microsoft bunu nasıl izah edecek bilemiyorum ama .Net dayatmasından dönülmesinin her açıdan hayırlı olacağını düşünüyorum. Sonuçta üzerinde çalışacağınız projenin gereksinimleri kullanacağınız aracın belirlenmesinde en önemli rolü oynuyor. Alternatif çok olsun ki neyi neyle yapacağımıza kendimiz karar verebilelim.

Delphi bildiğimiz Delphi olmalı, başka birşey olmaya çalışmamalı.

Programı Hangi Dille Yazalım?

Uzun bir aradan sonra yeniden merhaba....

Yoğun dönemlerden ve yoğun kafa karışıklıklarından kurtuldum ve ilk iş olarak blogumu güncellemek istedim.

Zaman zaman programlamaya yeni başlayan arkadaşlar bana şu soruyu sorarlar. Stok programı yazacağız Delphi ile mi yapalım .Net ile mi? Veya e-ticaret sitesi yapacağız PHP'mi kullanalım ASP mi gibi. Bu aslında biraz çivi çakacağız keserle mi yoksa çekiçle mi çakalım gibi bir soru. Bunların hepsi bir program yazma aracı olduğuna göre marifet aracı kullananın yeteneğine kalıyor. Bir arkadaşım anlatmıştı. Birisi Ara Güler'e yeni aldığı dijital fotoğraf makinesini gösterip bir yorum yapmasını istemiş. Ara Güler "Fotoğraf çekmeyi bilen dikiş makinesi ile bile fotoğraf çeker" diye cevap vermiş. İnsan bir işi yapmayı öğrendiği zaman artık o işi hangi aracı kullanarak yaptığının bir önemi de kalmıyor. Bir tanıdığım sadece kullandığı aracın özelliklerinden ve pratikliklerinden faydalanarak sözümona bir stok programı yazmıştı. Sonrasında çıkan sorunlara kullandığı araç bir çözüm getirmediği için o işi yapan component arayışlarına başladı. Sonra componentler de artık sorun çözmemeye başlayınca o işi yapamayacağına kanaat getirerek işin peşini bıraktı. Aslında kullandığı aracın bütün özelliklerini ve üstüne yüzlerce componentin de özelliklerini öğrenerek aslında bilmesi gerekenden çok daha fazla şey öğrenmişti ve o kadar şeyi bilmesine rağmen neden istediğini bir türlü yapamadığını hep merak etti.

Kafası karışık olan varsa alttaki videodan MSPaint ile Mona Lisa resminin nasıl yapıldığını bir izlesin ve adamın MSPaint uzmanı mı yoksa resim yapma uzmanı mı olduğuna karar versin.



Hala tatmin olmayan varsa arkadaşın kaşık ve çikolata ile veya bıçak ve şokella ile ekmeğin üzerine yaptığı diğer resimlerin videolarını da inceleyebilir :)