top of page

Endüstri Mühendisliği Yazıları-6 (Excel'de Planlama ve Anubis)

Merhaba,


Bir önceki yazıda, iş hayatımın ilk yılında üstünde çalıştığım 6 Sigma ve optimizasyon projesinden bahsetmiştim. Bu tip projelerde yer almak güzeldi ama günlük rutin iş döngüsü farklı şeyler bekliyordu. Planlamada çalıştığım için binlerce (belki yüzbinlerce) veriyi analiz edip, ihtiyacımız olan sonuçları ortaya çıkartmam, kritik noktalardaki performansımızı özetleyen raporlar hazırlamam gerekiyordu. Örneğin, şirketin ERP'sinin bağlı olduğu veri tabanından güncel stokları çekecektim. Sonra, bunları başka tablolardaki fiyat, malzeme grubu gibi özellikleriyle ve kısa-orta vade ihtiyaçlarıyla eşleştirmeliydim. Sonuçta, ne kadar çalışan (yani belli bir vadede tükenecek olan) ve ne kadar atıl stokumuz olduğunu belirlemem gerekiyordu. Otomotiv sektöründe kullanılan on binlerce tip malzemeyi düşünürsek, bu kapsamlı veri analizinin yönetimce kısa sürede anlaşılması, problemli alanların belirlenmesi beklenemezdi. Haliyle, yönetim özetleri çıkartıp, kritik noktaları (örneğin eldeki toplam envanterin kaç günde tükeneceği gibi) öne çıkartan raporlar hazırlamalıydım. Bu raporların çekileceği veri tabanının büyüklüğü, verinin analiz edilebileceği tek ortamın da MS Office araçları olması, işi yapana ciddi bir yük getiriyordu. İşte ben de böyle bir yükün içine (iş hayatındaki tabirimizle yüzmeyi bilmediğim bir denize) düştüm. Üniversitede az buz Excel, Access kullanmayı öğrenmiştik, ama bu kadar kapsamlı veri analizi için bilgim yetersiz kalıyordu. Yine de kendimi zorladım; kullandığım programların yardım ekranlarından ve çevremdekilerden bir şeyler öğrenmeye çalıştım. O zamanlar web'de pek fazla kaynak yoktu ya da biz bilmiyorduk. İyi kötü ilk raporlarımı çıkarmaya başlamıştım. Bu ilk örnekleri şefimle paylaşıp, olurunu istedim. Çekiniyordum tabi, ilk ciddi işlerimdi bunlar. Raporlara baktı, formatları hakkında birkaç söz söyledi. Sonra, "Gel, senin bilgisayarına geçiyoruz." deyip önüme düştü ve benim masama yürüdü.

Ben oturup, bilgisayardan bir şeyler gösterecek diye beklerken bana kendi koltuğumu işaret edip; "Şimdi otur, bana bu raporları nasıl çıkardığını göster." dedi. Şaşırmış bir halde, bilgisayarın başına oturdum. O da bir sandalye çekti ve başlamam için işaret etti. "Şimdi şefim, bu tabloyu alıp şuraya kopyalıyorum. Sonra içine girip şunlara bakıyorum, bir de..." diye anlatırken sözümü kesti. "Sen, şimdi bunların hepsini böyle elinle mi yapıyorsun?".

"Evet" diye başımı sallayınca kaşlarını çatıp sordu; "Ne kadar zamanını alıyor bunlar?". Ne diyeceğimi bilemedim. Az bir süre söylesem, günün kalanında ne yaptığımı soracak diye düşündüm. Fazla desem, bu sefer işi beceremediğimi düşünecek diye korktum. Derin bir nefes alıp, neyse onu söyledim; ortalama yarım gün harcıyordum.

"Olmaz, öyle şey." dedi. "Bu raporları, bir saatten az sürede çıkaracaksın, yoksa istemiyorum."

Ben ne diyeceğimi şaşırmış, bir ekrana bir ona bakıyordum. "Şefim, nasıl yaparım? Ayrıca haydi yaptım diyelim, sonra ne yapacağım?"

"Bana ne" dedi. "Ne yaparsan yap. İster çay iç, ister gazete oku." Koridorda yürüyen güzel bir kızı gösterdi. "Git kızların peşinde koş. Ne yaparsan yap be adam! Ben bu raporlarla gününü öldür diye mi aldım seni işe? Bunları bir saatte bitirmezsen, raporları istemiyorum." dedi, bir hışım kalktı gitti yanımdan. Arkasından baktım kaldım. Bizim ekip üyelerine gittim, durumu anlattım. Kızarmış yüzüme bakıyor, gülüyorlardı. "Eh nihayet şef seni de çarpmış." dedi en kıdemlisi. "Şimdi bak; akşam iş çıkışı bir kitapçıya gidiyorsun. En alasından birer tane Excel ve Access kitabı alıyorsun. Hatta dur, sen kodlama da yapabilirsin. Bir de VBA (Visual Basic for Application) kitabı al. Bugünden itibaren yeme içme çalış onlara. Getirip burada da çalışabilirsin, biz seni idare ederiz, raporları çıkartırız." dedi. İş çıkışı koştum gittim kitapçıya. Toplayıp kitapları eve döndüm ve o günden bu yana bitmeyen bilgisayar, program, yazılım çalışmamı başlattım.


Excel'in temelini öğrenmek kolaydı. Bir yerden sonra, formülleri yardım ekranlarından bakarak anlayabiliyordum. Ayrıca kritik formüller yirmiyi geçmiyordu. Bunları iç içe veya yan yana kullanmayı öğrendim. Sağ olsun çalışma arkadaşlarım da çok yardımcı oldu, bir çoğunun nerede daha iyi kullanılacağını, hangi tip hatalardan kaçınmam gerektiğini gösterdiler. Yanlış kurgulanmış bir formüller zinciri hem hata verebiliyor, hem dosyanın yavaş çalışmasına sebep oluyor, hem de yeni bir şeyler eklemeye kalktığınız zaman çok zorluyordu. Neyse, bir süre sonra hem el hem de yaklaşım (yani karşımdaki problemi, hangi formüllerle çözeceğim hakkında) alışkanlığı oturdu.


İş bununla bitmiyordu. Başında da bahsettiğim gibi, ciddi oranda veri elleçlemem gerekiyordu. Birçok yerde gördüğüm çalışanlar bunu Excel'e güvenip yapmaya çalışıyorlar. Fakat, Excel bir veri tabanı yönetim programı olmadığı için, kullandıkları dosya şişiyor ve çok yavaş çalışıyor. İşte, yine arkadaşlarımın doğru yönlendirmesiyle bu bataklığa saplanmadan, asıl kaynağı yöneten programa, Access'e yöneldim. Okulda veri tabanı yönetimi üzerine ders almıştım, ama üzerinde uğraştığım raporun bilgi topladığı tablolar ve bunların arasındaki ilişkiler çok daha karmaşıktı. Haliyle, Access'in her türlü yeteneğini kullanabilecek kıvama gelmeliydim. Birkaç hafta süren kesintisiz bir tempoyla bu konuda kendimi geliştirdim. Artık, veri tabanından istediğim tabloları, bunların içindeki gerekli bilgileri çekip diğerleriyle kolayca eşleştiriyor, Excel'e gönderebiliyordum. Excel'de de belirlediğimiz kriterlere göre üst hesapları yapıyor ve yine şefimin talep ettiği gibi standart ve rengarenk formatlarda raporlayabiliyordum. Hem de bunlar yarım saat içinde bitiyordu! Şefim inanmadı, geldi yine yanıma oturdu. 5. dakikada "Tamam olmuş." dedi kalktı gitti. Sözünü tuttu ve raporlardan arta kalan zamanıma da hiç karışmadı.

Bir süre sonra Excel ve Access bilgim ilerlemişti; sadece bu raporları değil, uğraştığım her şeyi "otomatize" ediyordum. Ayrıca, birçok komutun klavye kısa yollarını öğrenmiş, bunun sayesinde hızımı da arttırmıştım. (*)


Daha ötesine geçmek, yani bu programları ve başka şeyleri birbirine bağlamak için VBA öğrenmem gerekiyordu. Örneğin, Access'de elleçlenen bilgiyle damıtılmış bir Excel raporunu Outlook'dan ilgili kişilere mail atan bir program; kullanıcının sadece bir tuşa basmasının yeterli olduğu... Ya da aldığı verilerle Excel'de bir model kurup, daha önceki yazımda bahsettiğim Solver'ı otomatik çalıştıran bir program... Son bir örnek; ihtiyaç duyduğunuz formülü Excel'e kodlayabilmek, yani bir User Defined Function (UDF) yazabilmek. İşte bunları yapabilmek için VBA kitabımı alıp, Excel başında kodlamalara başladım. Bir süre sonra konuya hakimiyetim arttı; düşündüğümün ötesinde fonksiyonlar, modüller ve programlar yazıyordum. Bunlar o kadar çok işe yarıyordu ki, diğer bölümlerde çalışanların dikkatini çekmişti. Kendi işleri için bana çözümler yazdırmaya başladılar. Erkeklere pek yazmıyordum, daha çok kızların taleplerini karşılıyordum. Evet, pozitif ayrımcılık yapıyordum ama küçük de olsa bir bedeli vardı. İstedikleri işin hacminden (yazılımcı diliyle adam-gün) bağımsız, bana ve ekibe üzümlü, havuçlu kek yapacaklardı. Keki dışarıdan alıp geleni kabul etmiyorduk, hoş yiyorduk da; işin karşılığı illa evden yapılan olacaktı. Bu işin çok kekini yedik... :)


Peki, planlama bu işin neresinde? Ayrıca, bu Anubis de nereden çıktı böyle? Bu kadar eğitim/öğretim sonucu sadece otomatik raporlama aygıtı mı vardı elimde? Tabi ki, hayır. Çok daha kompleks problemlerin çözümü için harekete geçebilirdim. O dönem işimi değiştirmiş, büyük bir otomotiv yan sanayii şirketinde çalışmaya başlamıştım. Üretim planlamacı olarak işe girmiştim. Önümde, yaklaşık 1000 çeşit ürün, bunların üretildiği 25 hat, üçü büyük olmak üzere 10 müşteri ve her hafta baştan yapılan en az 20 haftalık planlar vardı. Üretim kapasitesi sınırlıydı ve şirketin envanter hedefleri çok sıkıydı. Böyle bir planlama süreci için; benden önce çalışanlar Excel üstüne güzel bir format oturtmuş ve bir yazılımcıya VBA üstünde çalışan bir model yazdırmışlardı. Fakat, bu program çok yavaş çalışıyordu. Çalıştırdığımız zaman neredeyse bütün günümüzü alıyordu. Kitlenmiş bir Excel'e bakıyorduk. Haliyle, farklı senaryoları denemek çok zorlaşıyor, bahsettiğim kısıtlar yüzünden iş içinden çıkılmaz hale geliyordu. Mesaimiz bir türlü bitmiyor, iş hafta sonuna kayıyor, gece gündüz zamanımızı alıyordu. Planlama müdürümle konuşup, "Bu böyle olmaz, ben bu iş için yeni bir program yazacağım." dedim. Kabulüyle oturup kurgulamaya başladım. Kısa sürede boyumdan büyük bir işe giriştiğimi fark ettim. Yazmaya çalıştığım şey bir çok yerden hata veriyordu. Saatlerce bitmek bilmeyen kod taramalar (debug), her probleme yeni bir çözüm önerisinin yazımı ve yetişmediği zaman defter başında algoritmayı tekrar tasarlamak. Aradan geçen 15 yıla rağmen aşağı yukarı aynı yerdeyim; bu üçlü teknik yazdığım her programda bir döngü halinde devam ediyor. Neyse, program bir süre sonra yerine oturmaya başladı. Fakat, hız problemini tam olarak çözememiştim. Evet, çalışan bir şey yazmıştım, ama bu da eskisi gibi çok yavaş çalışıyordu. O ana kadar harcadığım kadar bir efor daha sarf edip programı hızlandırmak için uğraştım. Sonuçta, bundan öncekiyle birebir aynı işi, hatta belki daha da iyisini yapan programım, bir dakikayı bile aşmayan bir sürede sonuç veriyordu. Kendi sorumluluk alanımda defalarca test edip, iki programın sonuçlarını karşılaştırdım. Her şeyin yolunda gittiğinden emin olduktan sonra diğer planlamacılarla paylaştım. Ekibin çok önemli bir iş yükü ortadan kaldırılmıştı, saatlerce süren çalışma dakikaya inmişti. Hatta, şirketin diğer fabrikalarında da kullanılmaya başlandı. Zaman içinde (ben işten ayrıldıktan çok sonra duydum bunu) Balkanlardaki fabrikalarda da kullanılıyormuş. Çalışma arkadaşlarım program için bir isim istemişti benden. O sene ODTÜ-EM'den arkadaşım Tamer Sırçalı'yla Mısır'a gitmiştik tatil için. SeyahatnamEM'de de yayınlanan Mısır gezimizde anlattığım gibi; beni Mısır mitolojisinde en çok etkileyen tanrı Anubis'ti. Bunun anısına programa Anubis adını verdim.


Aradan yıllar geçti, ben kariyer rotamda birçok şirkete girdim çıktım. Son çalıştığım şirkette bir planlama müdürü pozisyonumuz vardı. Başvuru yapan birisi benim bu programı yazdığım yerde çalışıyormuş. Görüşme esnasında, "Utkan Bey, ben sizinle tanışmaya geldim aslında." dedi. "Özel bir sebebi var mı?" diye sordum. "Evet var." diye cevapladı. "Duyduğuma göre Anubis'i siz yazmışsınız." Şaşırmıştım. Aradan 15 yıl geçmişti, acaba geçmişten mi konuşacak diye merak ederken, söze devam etti. "Şu ana kadar bir çok program, proje geldi gitti. Daha iyisini yaptık diye, birçok yazılım getirdiler. Ama hiçbiri onun doğruluğu ve esnekliğine ulaşamadı. Anubis'i yerinden edemediler. Ben ve birçok planlamacı bu yazdığınız program için size minnettarız." dedi.

Afallamıştım. 15 yıl önce yazdığım program, ki neredeyse hiç bakımı yapılmadı, hala çalışıyor muydu? Hala, talepleri yerine getirebiliyor muydu? Evet, karşımdaki yalan söylemiyor, benimle kafa bulmuyordu. Bu geçen zaman zarfında, orada çalışmış belki yüzlerce planlamacı olmuştu ve Anubis işlerinde onların baş yardımcısıydı. Bundan büyük bir mutluluk olabilir mi benim için? Şirkete ve çalışanlarına kalıcı bir değer bırakmıştım. Sadece çalıştığım güne değil, uzun bir döneme yayılan bir katkım vardı.


Bunları yapabilmemi sağlayan birisi vardı, onun teşviki olmasa bu noktaya gelemezdim; Ford Otosan'daki kadim şefim Murat Binici. Onun liderliği, yönlendirmesi ve teşvikiyle bilgisayarı ve programlama dillerini öğrenip, çözümlerimi hayata geçirmeye başladım. Kendisine hepinizin huzurunda şükran ve saygımı sunuyorum. Nerede ve hangi pozisyonda çalışırsam çalışayım, bana bu katkılarını unutmayacağım ve hep benim şefim olarak kalacaktır.


Sevgiler


(*) => O yıllarda bol bol Counter Strike ve Starcraft oynuyordum. Bu oyunların kısa yolları klavyenin sol tarafına, genellikle 1234 ve altında yer alan bölgede toplanmıştır. Ergonomi kaynaklı bu dizilim, kullanıcının oyuna hakimiyetini artırır. Starcraft-2 dünya şampiyonlarından Maru lakaplı arkadaşımızın bu şekilde klavye kullanımı gösteren oyun tarzını dikkatinize sunuyorum; Maru Playing Starcraft2. Ekrana pek bakmayın, bu oyunu bilmeme rağmen ben bile anlamıyorum ne yaptığını... Microsoft programlarının kısa yolları da iki türlüdür. CTRL ve ALT ile kullanılırlar ve önemli bir kısmını aynı bölgede yani 1234 altında toplanmışlar. Haliyle bizim gibi bilgisayar oyunu tutkunları için, Excel kullanımı çok kolaylaşıyor. Buradan bol bol bilgisayar oynanmasının iş hayatına faydalı olduğu bilgisinin çıkarılmasını bekliyorum. Evet, bekliyorum; oynayın, oynatın efendim... :) => Başa Dön


bottom of page