Category Archives: Psikoloji

Doğru bil(me)diklerimiz neler?

Dediğim gibi bir sürü boş vaktim olmasa da bir sürü boş işe harcadığım vaktim olduğu için bir çok gereksiz konuda yazı yazabiliyorum. Aynen bir sürü gereksiz yazılım yazmak gibi ama biraz daha farklı. Bus efer ki konu, esasta doğru bildiğimiz yanlışlar ile alakalı. Bildiğiniz gibi, yazılım üzerine çalışınca, yazılım hakkında bir çok diyaloğun da içerisinde oluyorsunuz. Bu yazının ortaya çıkmasında sebep aynı böyle bir tartışmaydı; **“Object Oriented Programming kullanmıyorsunuz!” lafından çıktı hepsi, beni suçlamayın onu suçlayın.

Ne Bil(mi)iyoruz?

Pek tabii ki yazılımcılar olarak biz her şeyi biliyoruz! Aksi ispat edilemez, edilecekse gelsin çıksın karşıma. Biz bu meslekte dirsek çürüttük, her şeyini biliyoruz tabii ki. Ne biliyoruz peki? OOP biliyoruz, Pattern biliyoruz, Nesne biliyoruz, Polimorfizm biliyoruz, her bir şeyi biliyoruz. Açıkcası bir kaç güne kadar ben de böyle diyordum ki, piyasadan bir üstadımız beni yerin yedi kat dibine sokuncaya kadar. Sonrasında kendime geldim, nefes aldım bir oh çektim falan.

Peki gerçekten bu terimlere hakim miyiz?

Konuşmanın biraz daha heyecanlandığı noktada, benim otomatikman muhalefete geçme gibi bir özelliğim olduğundan, konu genelde farklı boyutlara taşınır. Konuşmada arkadaşın yukarıda belirttiği OOP kullanmıyorsunuz, bir nefi bilmiyorsunuz lafı sonrasında, sinirler arttı benim. “OOP Nedir?” dedim arkadaşa, basitçe bana OOP tasarım kalıplarıdır dedi o da. Bir kere öyle değil bu işler. OOP dediğimiz, nesne tabanlı programlamadır. Yani nedir? Nesne olması gerekir, yani senin nesneler yaratman, basitçe bu nesneleri yönetecek katmanları yazman ve buna bağlı programlama yapmanı anlatır. Peki ben hiç tasarım kalıbı ya da güzel adıyla Design Pattern kullanmamışsam? O zaman ben hiç OOP kullanmamış mı olurum? Ekmeğe, şeklini verirken franzile şekil vermediysem ortaya çıkan ürün ekmek değil midir? Aynı mantıkta yanıtlanabilecek bir cümle.

Eğer sen nesnelerini oluşturup, katmanlarını koyduysan, SOLID mantığını biraz da olsun yakaladıysan o zaman zaten OOP yapmışsın ne mutlu sana. Pattern kullanmadıysan OOP yapmadın diye bir algı yok, olmamalıdırda. Pattern kullanmadım diyorsunuz da peki o konuda da emin misiniz?

Pattern olayı

Ya şimdi bir gerçek var, Design Patterns popüler olduğundan beri, herkes bu terimi kullanır oldu hayatında. Adı üzerinde, tasarım kalıbı bu, yani kalıplaşmış kod yapısı. Hiç kullanamadan adam akıllı kod yazmanız için çömez olmanız lazım, kullanıp adını bilmezseniz normal developersınızdır. Fakat insanlar sizden ismini ve cismini bilmenizi bekler. Yeni dünya diye bir meyva var, ismini tam olarak bilmem. Alırım, yerim. Tutup da sen bana bunu yerken, “hiç yeni dünya yememişsin, çok süper meyva” dersen, yemiş olsam bile yemedim psikolojisi oluşur üzerimde.

Kod açısından örnek verirsek, yıllarca data fonksiyonlarını yazdıktan sonra, datayı ele alan DAL yani Data Access Layer’ı yazarken nesnelere uygun tekil sınıflar yazdım. Yani bir tablo varsa, o tabloya data girişini sağlayan. DataTablosuBase.Save() ya da DataTablosuBase.Insert(DataTablosu _dataTablosu) kodlarını içeren sınıfı yazdım ve datalarımı öyle kaydettim. Şimdi yıllar sonra öğreniyorum ki bu yöntem Repository Pattern olarak ele alınıyormuş. Şimdi aynı konuşmada, arkadaş bana onu da dedi “Hiç pattern kullanmadan OOP yazılmaz”. Bu arkadaşı ilk arayan 20 kişiye postayla göndermeye karar verdim. Bildiğin bas baya kullanmışım işte.

Bu pattern’in üç temel prensibi var; Data erişiminde tek noktanın olması, Tablolarınızla alakalı tek bir sorumlu yer olması, Olası altyapı değişimlerinde sistemin minimum değişimle işlemesi. E ben bunu gayet yerine getirmişim, sadece “DataTablosuBase” yerine “DataTablosuRepository” dememişim. Ha bir de EF kullanmamışım ama o kontaya girersem çok olaylar çıkar.

Sonuç

Demem odur ki, asla bir insanla beraber adam akıllı kod yazmadan ona şunu yapmamışsın, bunu yapmamışsın demeyin. Yapmıştır, illa yapmıştır da bilmiyordur. Yapmıştırsın da bilmiyorsundur diyin. Bu sayede siz de o insandan biraz kod öğrenebilir, o insanla aranızı bozmazsınız. Dünya daha güzel bir yere gelir. Fakat konunun başında da dediğim gibi biz yazılımcılar her şeyi bildiğimiz için bu konuda burnu havada insanlarız. Arada bir kendinizden daha iyi olan insanlar tarafından alaşağı edilin de, kendinize gelin vallaha.

Proje Yönetiminde Ego Faktörü

Bugün ilginç bir konu ile karşınızdayım, “Proje yönetiminde ego faktörü”. Bu kısa makale aslında sadece yazılımcı olanlar için değil, analist olmak isteyenler için de açıklayıcı olacaktır. Zira boş işler konusunda kafa yormakta üstüme olmayan şahsımın, bu konuda bir çok fikri bulunmakta.

Proje Yönetimi

Bu konuda detaylı bir makale yazacağım. Özellikle o makalede ele alacağım konuları aşağıda özetleyebilirim.

  • Proje Yönetimi nasıl olmalıdır?
  • Proje Yönetimi esasen hangi faktörlere dayanır?
  • Proje Yönetimi adı altında yerel yazılım sektöründe ne gibi sorunlar var.
  • ve daha nicesi…

Şimdilik bu konulara fazla dalmayalım, vakti geldiğinde bu yazı da zaten o yazı dizisinin bir parçası olacak ve detaylıca bir sonuç ortaya çıkartacağız. Şimdilik konuya hakim olduğunuzu ve şirketinizde bir Proje Yönetimi olduğunu varsayalım. Muhtemelen yok ama yine de olduğunu düşünelim. Haliyle yazılımcı da olsanız, analist de olsanız verilen görev neticesinde sizden bir Analiz Dokümanı çıkarmanız istenmekte, buna müteakip projeyi yapacağınız birim ile bir toplantı ayarlamanız lazım. Siz de tabii tüm saflığınız ve isteğinizle gidip, paşa paşa toplantı yapacağınızı düşünerek karşınızdaki kişi ile masaya oturdunuz. İşte tüm hayalleriniz birazdan o masada yıkılacak, daha önce yıkılmadıysa bir sonraki masada yıkılacak. Korkmayın hemen bu aslında çok güzel bir şey, çünkü gerçek hayatı deneyimliyorsunuz.

Toplantı Masası

Masaya oturdunuz, özenle aldığınız defterinizi ve şirketin size aslında dokuz liralık gösterdiği iki liralık kalemi elinize alarak karşınızdaki kişiden bir PROJE çıkartacağınızı düşünüyorsunuz. O kadar iyimsersiniz ki, poliyanna yanınızda otursa size bakıp ağlardı. O masanın karşısında oturan şahıs ya da şahıslar, sizin gibi kaç tane kişinin leşini bıraktı o masada farkında mısınız? Hayalleriniz, planlarınız toz bulutu olup kaybolmadan önce karşınızdakine bakın. Telefonunu nereye koyuyor? Gözünüzün içine bakıyor mu? Soru sormanıza izin veriyor mu?

Size hiç hayatın sırrını ya da toplantıda x hareketini yaparsanız karşınızdaki daha rahat hissedecek falan demeyeceğim, zira böyle şeylere inanan birisi de değilim. Fakat her toplantım sonrasında elimdeki notları dolduran birisiyim. Zira önemli olan da odur. Toplantı masası savaş meydanıdır, orada yapacağınız en ufak hata sizin savaşı kaybetmenize sebep verebilir.

Projenin hayat döngüsünü özetlersek;
– Proje Talebi: “Kaşık istiyorum, çorba içeceğim”
– Analiz Toplantısı: “Çatal lazım, batırıp yiyemiyorum”
– Proje Sunumu: “Alın size bıçak, artık kesip küçük lokmalar yapabilirsiniz”

Toplantının Ön Analizinin Toplantısı

Bodoslama toplantıya dalan bir tip olmayın! Gidin önce, toplantı yapacağınız kişi hakkında bir ön bilgi edinin, şirketteki iş arkadaşlarınızla ya da daha önce o müşteriye gitmiş kişilerle biraz muhabbet edin. Nasıl bir insandır önce öğrenin; ”Düşmanı Tanımak” ya da “Egoyu Ölçeklemek” dediğimiz bu işlem size kişinin nasıl bir ego haritasına sahip olduğu hakkında fikir verecektir. Gözünüzü korkutmayın, baştan korkarsanız hiç bir projeyi tam olarak çıkartamazsınız, müşterinin kölesi durumuna gelir ve saçma sapan, sonu gelmeyen isteklerin kölesi olursunuz.

Kişinin olabileceği tipleri burada ele almaya çalışırsak kendi başına büyük bir makale olur. Zira onu da başka bir yerde inceleyeceğim. Ego bakımından tehlike derecesine göre üç ana kategoriye ayrılır bu insanlar.

  • Egosu olmayan müşteri; kısaca projeye muhtaç müşteri.
  • Egosu orta seviye olan müşteri; kısaca sizi küçümseyen ama dile getiremeyen müşteri.
  • Egosu tavan yapmış müşteri; onunla ancak CEO irtibata geçebilir, siz kimsiniz ki karşısına çıktınız onun?

Toplantının Hazırlığı

Toplantı yapacağınız mekana gitmeden önce yapmanız gereken işleri gözden geçirmeniz gereken aşama burası. Önce dokümanlarınızı hazırlayın, asla orada eksik belgenizin olmasını istemezsiniz. Toplantı daha önceden ayarlanmışsa, bir iki gün öncesinden kız isteme mesajı atın; ”Yarın yapacağımız toplantı için uygun musunuz?” gibi kibarlıktan öleceğiniz bir mesaj. Toplantı günü için ayarlanmış kaliteli kıyafetler. Falan filan, bunları her yerde bulabilirsiniz. Esas önemli olan o kişiye karşı uygulayacağınız stratejinin nasıl olacağıdır.

Kişinin ego seviyesini, yeterli kişi ile görüştükten sonra çıkarttıysanız bu kişilere karşı uygulayacağınız stratejik planı da çıkartmanız gerekmektedir. Ayrıca bu bilgileri toplarken, Proje Yöneticinizden projenin anlam ve önemi hakkında bir bilgi de isteyiniz, eğer bu konuda bilgi sahibi değilse maalesef bir bacağınız topal olacak ama yine de sağ çıkacaksınız, korkmayın!

Toplantının yapılacağı yere erken gelmeniz değil, toplantı odasına toplantı vakti girmeniz önemlidir! Egosu ne olursa olsun, insan sonuçta saygı görmek ister.

Toplantı Masası

Toplantıyı eğer birden fazla kişi ile yapacaksanız, masanın asla başına oturmayın, yan taraflara oturun ki masayı geniş bir şekilde görebilir, kişilere eşit ilgi gösterebilirsiniz. Toplantı masası yukarıda da dediğim gibi sizin savaş alanıdır ya da daha kibar hali ise satranç tahtanız. Burada soracağınız her soru, proje için diyeceğiniz her laf ilerde sizin aleyhinize delil olarak kullanılabilir. O yüzden bu masanın heyecanına kapılıp asla olmayacak şeyler için söz vermeyin. Karşınızdaki kişi mantar değil sonuçta, o da çalıştı ve buralara kadar geldi.

Strateji!

Karşınıza müşteri geldiğinde, kişiyle ilgili edindiğiniz önyargıları hemen masanın kenarına itin. Önce karşınızdaki kişiyi anlamaya çalışın. Adettendir bir beş dakika ya da on dakika bir geyik yapın. Hem onun stresini alırsınız, hem de kendi gerginliğiniz yatışır. Eğer acelesi varsa standart “naber”, “naaptın reyiz” cümlelerini kullanabilirsiniz. Tabii ana fikri anladığınızı düşünüyorum.

Ego derecesine göre strateji yönelimlerini ele alalım.

Düşük Ego

Yukarıda özetlediğim gibi, bu kişiler esasında sizin projenize muhtaç olan kişilerdir. Yine de bu insanlara, onların sizin projenize olan ihtiyaçlarını belli etmemek büyük bir özen ister. Zira köşesine sıkışmış bir kediyle asla uğraşmak istemezsiniz! Bu kişiye var olan projenizi dilediğiniz gibi anlatabilir, diğer müşterilerinizle ne kadar mutlu mesut yaşadığınızı belirtebilirsiniz. Hatta eğer karşıdaki ile kanka moduna girmeye yaklaşırsanız, müşterileriniz ile yaşadığınız sorunları esprili bir dille anlatabilirsiniz.

Orta Ego

Bu arkadaş aslında daha önceden bir ajansta falan çalışmıştır ya da içten içe kıl olduğu bir akrabası ya da arkadaşı yazılımla ilgilenmektedir ve bunu dile getirmek için fırsat kollamaktadır. Asla ama asla o kişiye karşı tepki vermeyin, haklısınız deyin geçin. Zira amacınız orada laf dalaşına girmek değil, proje hakkında bilgisini almaktadır. Kısaca biraz okşayın arkadaşı – fiziksel değil, laflarınızla. Bu arkadaşın o zamanlardan kalan sinirini ya da bilgisini kullanın; o zamanlardan laf açın, projede eksik gördüğü kısımları belirtmesini isteyin, onun gibi zamanında bizim sektörümüzde çalışmış kişilerin bilgisinin programa çok fazla yarar sağlayacağını, bunun sayesinde hem onun hem de şirketin kazanacağını belirtin. Kısaca biraz yağlayın arkadaşı. O zaten sizin böyle davrandığınızı gördüğü anda bayrakları indirecektir. Çok vermeyin yağı ama egosu makul ölçülerde seyretsin.

Bu tip kişilere ayrıca toplantı sonrasında doküman paylaşımı, istedikleri güncellemeleri gönderebilecekleri bir e-posta adresini ve iyi niyetlerinizi verin. Kapıdan çıkınca hepsini unutacaksınız zaten.

Yüksek Ego

İşte şimdi ayvayı yediniz. Bu arkadaşa yapabileceğiniz tek şey onun egosunun altında ezildiğiniz hissiyatını vermektir. Genel kanının aksine yönlendirilmesi en kolay insanlar da bu insanlardır. Nasıl diye soracaksanız az önce dedim ya, ona hiç görmediği kadar ilgi gösterin. Onun engin bilgisinden ve deneyimlerinden elde edeceğiniz güzellikleri anlatın, projeyi daha önce profesörlerle ve nice PMP’ler ile tasarlamış olsanız bile, onunla konuştuktan sonra yeniden tasarlayacağınızı hatta ve hatta sırf bunun için geldiğinizi anlatın. Size baştan sona kadar projenin nasıl olması gerektiğini anlatsın dursun.

Toplantı içerisinde zaten projede olan şeyleri size hiç yokmuşçasına anlatacaktır çünkü o kategorinin ya da butonun ismi farklıdır. Siz yine de notunuzu alın, ilgiyle, canla, başla dinleyin kendisini. Hatta toplantıyı uzatmayın. Daha sonra tekrar görüşmek için kendisinden bir tane daha toplantı koparın. Bu insanla iki taneden az toplantı yapmayın, süreç hakkında sürekli saçma sapan e-postalar atın ki ilgilendiğinizi falan sansın.

En sonunda da zaten var olan modülleri sanki o anlatmış da siz development ekibine yeniden yaptırmış gibi pazarlayın.

Sonuç

Her şeyden önce toplantı öncesinde görüşeceğiniz kişiyi tanıyın, o kişi hakkında ne kadar fazla kişi ile görüşürseniz, hedefinizi tanımanız o kadar kolay olacaktır. Sinirlenme ya da savunma asla size bir satır daha fazla not aldırmayacaktır. Uyumlu olun, anlayışlı olun, gerekirse projeyi yapmış olan ekibi satın ama o bilgiyi o insandan söküp alın. Çetin ceviz olmak önemli bir noktadır fakat bilgiyi almak daha farklı bir nokta.