Çarşamba, Mart 22, 2006

Soyutlamalar ve Ogrenme Tembelligi

Programlama yaparken -hatta tüm mühendislik problemlerini çözerken- en önemli becerilerden biri zannediyorum soyutlama becerisi. Yani bir işin detaylarını soyutlayarak, daha üst seviyeden o işi yapabilmeyi sağlamak. Java gibi dillerden, Struts, JSF gibi kütüphanelere veya design patternlardan aspect oriented programminge kadar yöntemler hep daha ileri seviyede soyutlama yapmayı sağlıyor. Hatta kimin söylediğini hatırlayamıyorum, meşhur bir yazılım mühendisi akademisyen -belki Donald Knuth olabilir- şöyle diyordu: "Programlamadaki her problem bir indirection (dolaylandırma) yoluyla çözülebilir."

Yazının Devamı...

Salı, Mart 21, 2006

Yenilik Uretme Yaklasimi Nasil Olmali?

Bir yerde şunu okumuştum: Sahip olduğunuz beceriler/teknolojilerden çıkarak yeni ürün fikri üretmemelisiniz. Bunun yerine ihtiyaçtan yola çıkarak yeni fikirler üretmelisiniz.

Evet, bu ikisi büsbütün farklı yaklaşımlar. Ancak tek başına ihtiyaçtan yola çıkmak da yeterli değil. Çünkü elimizdeki potansiyel kaynaklarla neler yapabileceğimizi, hangi ihtiyacı karşılayabileceğimizi bilmediğimiz sürece yenilik üretemeyiz.

Ancak yine de öneri doğru. Çünkü doğrudan ihtiyaçlardan değil de beceri/teknolojilerden yeni ürün fikirleri geliştirilirse, o zaman pazarın ihtiyaç duymadığı şeyleri yapma ihtimalimiz çok yüksek olur.

Öyleyse, yeni ürün fikirleri ihtiyaçtan yola çıkmalı, ancak geniş bir teknoloji/beceri bilgisine sahip olmak ön koşul olmalı.

Pazartesi, Mart 20, 2006

Program Yazma Keyfi

Programcılık neden bilmiyorum bana çok büyük bir keyif veriyor. Bir problemi ele almak. Onu anlamaya çalışmak. Çözümler tasarlamak. Buna yönelik bir ilerleme planı oluşturmak. İlk adımı tasarlamak ve bunu uygulamak. Biraz ilerlemek. Sonra plana geri dönüp kaldığım yerden devam etmek... Bunlar bana büyük keyif veriyor. Gerçi her zaman böyle olmuyor. Belki çoğu zaman problemlerde tıkanıyorum. Ama sonra sabırla uğraşmaya devam etmek ve bir şekilde tıkanıklıkları aşmanın verdiği sevinç bir başka oluyor.

Yazının Devamı...

Cuma, Mart 17, 2006

Dubai Resimleri

Marinadan bir resim. Burası dünyanın en büyük insan yapımı marinasıymış. Resimde marinanın sadece çok küçük bir kısmı görünüyor. Posted by Picasa

Salı, Mart 14, 2006

Yazilim Bakim Maliyeti

java.net sitesinde güzel bir yazı çıktı: "The economics of quality" Yazıda, bir yazılımın bakım sürecindeki hataların maliyetlerinin nasıl tahmin edileceği ve maliyet iyileştirmesi için nereye odaklanılması gerektiği gösteriliyor. Buna göre bakım sürecindeki hataların maliyetleri dört faktöre bağlı: Kalite, yazılımın büyüklüğü, hata başına maliyet, müşterinin bulduğu hataların oranı.

Bu dört faktörden, son ikisi kontrol edilmesi ve hatta tam olarak ölçülmesi oldukça güç. İlk iki faktör ise, yazılım geliştirmecilerin kontrolü altında.

Burada kaliteden kasıt, satır başına hata sayısı. KLOC (bin satır kod) başına kaç hata bulunuyorsa, o değer alınıyor. Yani 1000 satırdaki hata sayısı, 50 ise, Q (kalite) 0.05 ediyor.

En önemli maliyet faktörünü de kalite faktörü oluşturuyor. Malcolm Davis, yazının yazarının gözlemlerine göre kurumsal IT departmanlarında Q ortalama 0.1 civarında. Bu oranı sadece 0.05'e düşürmek bile, maliyetlerde yarı yarıya tasarruf anlamına geliyor. Benzer şekilde kurumsal IT yazılımlarında, kopyala/yapıştır türü alışkanlıkların yaygın olmasından dolayı, yazılımlar gereğinden fazla büyük. Bu tip kod fazlalıklarını temizlemekle de ciddi bir maliyet tasarrufu yapılabiliyor.

Bu yazının bana önemli gelen tarafı şu oldu: Genellikle kalitenin veya sadeliğin (kısalığın) iyi bir şey olduğunu biliriz. Ancak bunun sayısal etkisinin ne olduğunu göstermesi açısından bu yazı son derece yararlı. Malcolm Davis yazısında kullandığı rakamları 10 yılı aşan çok sayıda projede yaptığı ölçümlerle destekliyor. Ve bu yolla hesapladığı maliyet tahminleri, firmalarda çalışan bakım yazılımcılarının yıllık masraflarına yaklaşık eşit çıkıyor.

Pazartesi, Mart 06, 2006

Dubai

Geçen hafta Pazar günü Dubai'ye geldim. Oytek'teki işimden Cuma günü ayrıldım. Hemen iki gün içinde, hazırlanıp, Dubai'de yeni bir işe başladım. Aslında ilk günden itibaren bloglamayı düşünüyordum, ancak fırsat bulamadım.

Uçak yolculuğundan başlayayım şimdi :) Açıkçası uçağa daha önce de binmiştim, ama bu sefer nedense daha heyecanlı oldu yolculuk. Uçak kalkarken, çok tuhaf hissettim, bu kadar büyük bir şeyin uçabilmesinden dolayı. Sonra gökyüzüne biraz çıktıkça, aslında bu uçağın hiç de büyük olmadığını düşündüm. Sonra dünyayı düşündüm. Dünya da bir uçak gibi, koca evrende çok daha süratli bir şekilde uçuyor.

Yazının Devamı...