Taslak Çalışmalarım

English (Ä°ngilizce)

Sunday, July 31, 2005

PG´nin Ajan Temelli Simülasyonu ve Yalın Düşünce

Bir önceki yazımla ilgili bir gözlemim daha var.

Haberde sözü geçen iyileştirmeler bana Jim Womack´ın Yalın Düşünce (Lean Thinking) kitabındaki fikirlerini anımsattı.

P&G´nin yaptığı simülasyon sonucunda şu sonuçlara varmışlar:

  • Kamyonların tam dolmasını beklememeli

  • İmalat süreci büyük kümeler halinde değil, küçük miktarlar halinde yapılmalı

  • Parakendecilere sevkiyat 72 saat yerine 24 saatlik aralıklarla yapılmalı


Yalın Düşünce´de de benzer fikirler, herhangi bir simülasyona dayanmamakla birlikte, savunuluyor. Üretim/dağıtım veya her ne iş yapılıyorsa, kitlesel (mass) üretimin kurallarına göre yapılmamalı. Kitlesel üretimden kaynaklanacak tasarruflar (economics of scale) aslında, ürün yetiştirmedeki gecikmelerin ve stok yığılmalarının sebep olacağı ek maliyetlerden çok daha az olacaktır. Bu yüzden, kitlesel üretim yerine küçük ölçekli üretim yapılmalı.

Üretim yerine, dağıtım, nakliye, hizmet, proje geliştirme veya diğer bir ekonomik faaliyeti koyabilirsiniz.

İlginç ve oldukça sağlam gözlemlere dayanan bir teori. Kitabı okumanızı tavsiye ederim.

Bir örnek, yazılım geliştirme süreçlerinden vereyim. Yazılımların çapları büyüdükçe, yazılım geliştirme projelerindeki sorunlar üssel olarak artıyor. Bundan dolayı yazılım geliştirme, doğrudan kodlamaya dayalı bir faaliyet olmaktan giderek, daha fazla dokümantasyona ve planlamaya dayalı bir faaliyet olmaya doğru gidiyor. Bu yönetim sorunlarıyla baş etmek için, başta Amerikan kamu kurumlarından kaynaklanan pekçok proje yönetim süreci geliştirildi, geçtiğimiz 30 yıllık sürede. Ancak yapılan araştırmalar, başarı seviyesinde bir ilerleme olmadığını gösterdi.

Son yıllarda bu ağır dokümantasyon ve planlama yükü gerektiren süreçlere karşı, daha hafif yük getiren süreçler öne çıkarılmaya başlandı. Bunların çoğu ortak bazı özelliklere sahip: Mesela hepsinde döngüsellik (iterative) var. Yani bir yazılımı başından sonuna kadar tek bir zaman diliminde çıkarmak yerine, parça parça çıkarıyorlar. Her parçanın çıkarılması, başlı başına bir yazılım projesi gibi ele alınıyor. Planlama daha küçük adımlar halinde yapılıyor.

Sonuç olarak şunu demek istiyorum. Küçük ölçekli iş yapma, hem imalatta, hem lojistikte, hem de yazılım geliştirme gibi çok farklı alanlarda daha başarılı ve ekonomik bir yöntem.

Ajan temelli simülasyonlar

Ajan temelli simülasyonlarla (Agent based simulation) ilgili ilginç bir habere rastladım: http://www.computerworld.com/printthis/2003/0,4814,77855,00.html

Habere göre P&G firması (Türkiye´deki Omo, Alo, Prima gibi pekçok temizlik ürününün satıcısı) ajan temelli bir simülasyon çalışmasının sonucunda tedarik zincirini yeniden yapılandırmış. Projenin sonucunda toplam 300 milyon dolarlık tasarruf elde edilmiş.

Çok ilginç... İlk başta böyle yüksek rakamlı tasarruf iddiaları insana biraz gerçek dışı geliyor. Ancak haberi okudum, son derece mantıklı.

Proje aslında ERP gibi bir otomasyon projesi değil. İşletme kararlarının hangi kurallara göre yapılacağını belirlemeye yarayan bir simülasyon projesi. Aslında bir tür öğrenme deneyimi.

Simülasyon gerçek dünyanın bilgisayar üzerinde benzerinin kurulduğu bir modeldir. Aslında bir oyun gibi düşünülebilir.

Adamlar bu oyun üzerinde çeşitli deneyler yapıyorlar. Mesela, normalde P&G kamyonları tam olarak doldurup gönderiyor. Böylece nakliye maliyetinden tasarruf ediyorlar. Oyunda, kamyonları tam olarak doldurmak yerine yarı yarıya dolunca da göndermeyi deniyorlar. Oyunun sonucunda bakıyorlar ki, nakliye maliyetleri yükselmiş. Ancak stok yetersizliğinden kaynaklanan kayıp satış maliyetleri azalmış. Eldeki stok maliyeti düşmüş. Düşen maliyetler, artan nakliye masraflarını aştığı için, oyunun sonucunda daha karlı çıkmışlar.

Böyle deneyler yaparak, herhalde oyunda toplam 300 Milyon dolar daha tasarruflu iş yapmayı sağlayacak kuralları tespit etmişler. Şimdi bunları uygulamak kalıyor ki bu herhalde oyunu geliştirmek kadar önemli ve zor olacaktır.

İlginç bir vaka. Acaba bu ajan temelli simülasyonlar işine girsek mi? :)

Google Map Uygulamaları

Google Map (link: http://maps.google.com/) Amerika´da giderek yaygınlaşıyor. Sadece Google´ın sunduğu hizmetlerin ötesinde 3. parti yazılım evleri de Google Map üzerinde çalışan uygulamalar geliştiriyor.

Bunlardan bir tanesi, emlak satış/alışıyla ilgili. Satılacak emlakın yeri Google Map üzerinde gösteriliyor: http://www.housingmaps.com/

Google resmi bir API ortaya çıkarırsa, 3. parti yazılımların önü açılacak. Burayı yakından takip etmeli. Belki Türkiye´ye de çok gecikmeden getirirler.

Saturday, July 30, 2005

Çizelge Yazılımı İş Planı

Yazılımın geliştirilmesi sürecinde şu işleri gerçekleştirmem gerekecek (analiz hariç):

  1. Algoritma Tasarımı

  2. Nesne modeli ve veri yapısı

  3. Ekranlar


    • Konfigürasyon ekranları

    • Çizelge/Takvim Ekranı

    • Drag/Drop

    • LAF problemleri

    • Uyarılar

    • Tablo ve listeler


  4. Kural Yönetimi

  5. Veri Analizi - Raporlamalar

  6. Standart Yeniden Kullanılabilir Ekranlar




Analizin de taslak planını çıkarmak lazım:

  1. Use Caseler

  2. Ekranlar

  3. Kısıtlamalar - Kurallar

  4. Raporlar



En önemli sorunlardan biri de çok sayıda kuralın doğru çalıştığından emin olmak. Bu yüzden iyi bir test altyapısı da kurmamız gerekecek.

Ayrıca fiziksel mimarinin nasıl olacağını ve buna göre nasıl bir altyapı hazırlayacağımızı da netleştirmeliyiz. Client/server, internet, client veya bunların bir kombinasyonu şeklinde olabilir.

Bir de bence kullanışlılığa yönelik de özel bir araştırma yapmalıyız. Çünkü zaman çizelgelemesi başlı başına karmaşık bir iş. Bu sahadaki yazılımlar gerçekten çok karmaşık. Bir tanesi sadece kullanılabilir seviyede. O bile yine çok karışık. Daha kolay bir etkileşim modeli geliştirebilir miyiz, bunun üzerine düşünmeliyiz.

IntelliJ´in yazılım geliştirmedeki kolaylıklarına benzer yeni çözümler bulmalıyız.

Mimosa

Çok kötü bir yazılım... Kelimelerin imlası bile yanlış. Bu yazılım nasıl dünyanın 50 ülkesinde satıldı, anlamıyorum. Yazılım satmak bu kadar kolay mı? O zaman bizim yazılımlar peynir ekmek gibi satmalı...

Programın fonksiyonalitesi nasıl henüz anlayamadım, ama kullanışlılığı felaket. Ders kodları olarak, 5PE, 5D&T gibi garip kodlar bulunuyor. Sanki kullanıcılar C veya PHP programcıları...

Tabloların sütun başlıkları yok.

Ekranlarda o kadar çok düğme var ki...

Etiketler anlaşılır değil. Mesela ders bilgisini gösteren ekranda MAX 20, SUM 20, DONE 12, LINKS 7 gibi düğmeler var. Acaba Basic´le program mı yazıyorsun, düğmelere basınca :) ?

Böyle bir yazılımı kim, niye alır, anlamıyorum. SAP kullanmak bile bundan daha kolaydır.

Yeni Bir Blog Daha

Bu blogun özelliği, çok ciddi ve üzerinde düşünülmüş olmayan yazılarımın internete aktarılması olacak. İnsan, ciddi bir şeyler yazmaya çalışınca, çoğu zaman bunu erteliyor. Her ne kadar webloglar zaten temelde gündelik yazılar üzerine kurulu olsa da, ben yine de önemli bir çalışma yapmadan webloglara yazı postalamaktan çekiniyorum.

Ancak bu weblogumun amacı zaten taslak halindeki yazıları sunmak olduğu için, umarım bu blogumu daha sık bir şekilde güncellerim.