Arda Çetinkaya Yazılım ve arada kendim ile ilgili karaladıklarım…

Projelerde yapılacak işlerin ne kadar süre içerisinde yapılacağını tahmin etme süreci oldukça sıkıntılı geçer. Her ne kadar yapılacak işlerin analizini iyi yapmış olmak bu sürece olumlu katkı sağlasa da, öngörülemeyen sorunların ya da ihtiyaçların etkilerini bu süreç kapsamında kestirmek zor olduğundan yapılan tahminler çok geçerli olmaz. Sürecin adı “Estimation”(tahmin) olarak geçtiği için, zaten kesin bir zaman birimi söylemek çok da mantıklı değil.Tahmin etmek bütün olay. Ama tabi ki bu tahminlerin bir değer taşıyor olması ve bu değerin farkında olmak gerekli.

Yazılım projelerinde de “estimation” yapılması gereken bir olay. Yani müşteriye verilecek sözden ya da kontrattaki maddelerden ayrı olarak, yazılım geliştirme sürecinde, sürece katkı sağlayacak bir kavram. Yazılım geliştirirken hangi adımlarda ne kadar süre harcandığını görmekte, geliştirme sürecince görev dağılımın iyi yapılmasına katkı sağlayacaktır.

“Planing Poker”, olarak geçen poker planlaması tahmin süreçlerinin en basiti ve etkili yöntemi olduğunu düşünüyorum kendi tecrübelerimden. Agile(çevik) yazılım geliştirme metodlarında  tercih edilen bu yöntem aynı zamanda oldukça da zevkli…

Basit olarak poker planlaması, projedeki “item”ların ne kadar süre içerisinde yapılacağını interaktif bir şekilde tahmin ederek gerçekleşir. Bu süre kavramı belli bir puanlama sistemi ile yapılır. Normal sayısal değerlerin kullanılabileceği gibi Fibonacci sayılarının(0,1,2,3,5,8,13,21,34….) kullanılması tavsiye edilir. Bunun nedeni, Fibonacci sayıları ile yapılan tahminlerin daha anlamlı olabilecek olması. Şöyle ki;  “item” için tahmini olarak verilecek zaman yükseldikçe, o tahminin anlamı da aynı şekilde bulanıklaşacaktır.Yani bir “item”a 20 birim ya da 22,23 birim şeklinde bir zaman tahmini veriliyor olması birim değerinin yüksek olmasından dolayı çok da bir şey ifade etmez. 20,22,23 şeklinde değil de zaman biriminin “yüksek” olması şeklinde daha anlamlıdır. Aynı şey zaman biriminin düşük olarak tahminlendiği “item”lar için geçerli değildir. Düşük zaman tahmini şeklinde belirlenen “item”lar, farklı şekilde yorumlanarak önceliklendirme konusunda etkili olabileceklerinden dolayı yukarıdaki gibi yorumlanmamalıdır.Bu arada hep zaman birimi olarak bahsettim. Ama peki birim olarak ne kullanmak gerekli? Tahminleme yapılırken kullanılan zaman birimi,”saat” ve “gün” şeklinde projenin büyüklüğüne göre değişkenlik gösterebilir.Ya da uyguladığınız geliştirme metodolijisi içerisinde belli bir puan sistemindeki puana da denk gelebilir.

Poker planlamasının nasıl yapıldığına geçelim şimdide. Öncelikle tahminlemenin yapılacağı olan “item”lar açıklanır. Bu işi geliştirme sürecine hakim bir kişinin yapması en doğru olacaktır. Ürün yöneticisi ya da projeye hakim olan proje yöneticisi gibi birinin bu süreçte bulunuyor olması, “item”ların açıklanmasında faydalı olacaktır.Bunun amaçı tahminlemeden önce “item”ların tüm geliştiriciler açısından aynı şeyi ifade ediyor olmasıdır. “item”lar herkes için aynı şeyi ifade etmiyor ise ortaya çıkan tahminlerdeki tutarsızlıklar çok büyük olacaktır.”item”ların içeriğini netleştirmek için bu aşamada “item”ları alt maddeler(task) ile açıklıyor olmak faydalı olacaktır. Açıkcası “item”ların net olmasının, tahminlerin faydalı bir çıktı ortaya koymasında çok önemli olduğunu düşünüyorum.

“item”lar netleştikten sonra, herkes tahminin gizli olarak yapar. Bir kağıda yazmak, ya da bu iş için kullanılan kartları seçmek(-ki iskambil kartları ya da önceden hazırlanmış Fibonacci kartları faydalı olabilir)  koşulu ile tahminler yapılır. Tahminler yapılırken, kafa karışıklığına yol açmamak için bu işlemin gizli yapılması şarttır. Daha sonra aynı anda herkes tahminin gösterir.Tahminlerdeki zaman birimlerinden en büyüğünü ve en küçüğünü belirten kişiler, neden bu tahminlemeyi yaptıklarına dair kısa açıklamalarda bulunur. Bu sayede başkaları tarafından öngörülemeyen şeyler ortaya çıkar ve tahminleme tekrar aynı şekilde herkes arasında yapılır ve ortak bir karar ortaya çıkar.Bu süreç 2-3 adım olabilir. Ama zaten en fazla 3.adımdan sonra ortak bir şeyler ortaya çıkacaktır.

Bu şekilde tüm “item”lar tek tek tahminlenir. Ortaya çıkan sonuç sadece tahmin açısından değil, geliştirme sırasında yapılacak işlerin netleşmesi açısından da çok önemlidir. Poker planlaması, geliştiricilerin takım içerisinde kendilerini daha düzgün ifade etmesini ve en önemlisi takım içerisindeki iletişimin gelişmesini sağlar. Her takım elemanı, bireysel olarak kendi potansiyelinin farkına daha kolay varır.Neyse şimdilik bu kadar…Kendi tecrübelerim dahilinde bu konu hakkında doğru ya da yanlış bir şekilde bir şeyler paylaşmak istedim. Fikir ve düşüncelerinizi iletmekten çekinmeyin, ciddi anlamda önemli benim için…

Somasegar’ın yaptığı açıklama ile Visual Studio 2010 ve .NET Framework 4.0’ın bir kaç hafta geçikeceğini öğrenmiş olduk. Daha önce 22 Mart 2010’da çıkacağı söylenen VS 2010 ve .NET Framework 4.0’ın bu ötelenmesi, Beta 2’den sonra gelen faydalı feedback’ler olmuş.Nasıl yani derken,performans anlamında Beta 2’den sonra bir çok iyileştirme yapılmış ve yapılacakmışta. Bundan dolayı biraz ertelenmesi gerekiyormuş. Şubat 2010 gibi Visual Studio 2010 RC versiyonu ile bu iyileştirmeleri bizimle paylaşacak olan Microsoft kim bilir ne zaman çıkaracak RTM halini…

Her zaman olduğu gibi sürekli bir kaos ortamı var ülkemizde…Sağlıktan,ekonomiye,eğitimden,spora alakalı alakasız her türlü konuda bir iç çatışma, bir kavga, bir sorun…Kendi içimizde bile doğru düzgün yaşayamadığımızdan, bu tarz konularda sorunlar yaşıyor olmak sanırım doğru. 21.yy’dayız…Elalem tatil planı olarak uzaya gitmeyi planlıyor, biz hala kendi insanlarımız ile “açılım” adı altında doğru düzgün nasıl yaşarız bunu çözme(me)ye çalışıyoruz…Keşke çözülse,çözülmek istense de bizde yapsak uzayda tatil planları…Ama bunlara gelene kadar önce “insanlık” açılımı yapmamız lazım sanırım…

Hafta sonu, çok gelişmiş ve ulaşımda çığır açan, İstanbul’un medar-ı iftiharı metrobüste  bir eylem yapılmış.Özeti şu şekilde;

“Bir grup tekerlekli sandalyeli metrobüsle gezmeye çıkarsa ne olur?” diyerek yola çıkan Özürlüler Vakfı üyeleri, engelli asansörünün bozuk olduğu Mecidiyeköy Metrobüs Durağı’nda, tekerlekli sandalyeleriyle tek merdivenin girişinde eylem yaptı. Dertleri, engelsiz yolculara “Bir dakika bakar mısın?” diye sormak, “Buradan geçemiyoruz” diye seslerini duyurmaktı. Beş dakikalık eylem merdivenleri tıkayınca kimi ‘engelsiz ancak demokrasi özürlü vatandaşlar’, “Burada ne işiniz var, sokağa niye çıkıyorsunuz!” diye bağırdı. Polis de “Artık eylemi bitirin” diye çıkıştı. Engelliler, seslerini duyurmak için geldikleri merdivende, izdihamda ezilmekten son anda kurtuldu…

Devamı da burada…Neyse diyeceğim o ki; daha insalıktan nasibini almamış bir toplumuz…”Açılım” falan bizim neyimize…İnsani değerlerden yoksun bir şekilde yaşıyoruz. Bir de üstüne üstlük var olan insani değerleri de iyice kaybediyoruz.”Burada ne işiniz var, sokağa niye çıkıyorsunuz!” diye bağıran beyinsiz insanlarımız olduğu sürece böyle de devam edecek ne yazık ki. Önce beyinlerdeki engeller kalksın ki,sonra gerisi gelir dimi…Medeniyetin “Tek dişi kalmış canavar” diye öğretildiği bir ülkede canavar formatında insanlar oluyor olması aslında çokta şaşıralacak bir şey değil sanırım. Neyse…

ASP.NET MVC Framework’ün yeni versiyonu(2.0)’ın release candidate’i çıkmış bulunmakta…

Buyrun burdan yakın….

2009’dan kurtuluyoruz ya, “en”lerini yazmasak olmaz…Kendimce kendi “en”lerimi yazıyorum…2010’da baktıkça gülerim…

En güzel gün: Cuma(Cumartesi gibi yaşayınca,haftasonu uzun geliyor…2009’da çok yaptım,2010’da da devam)

En güzel tatil: Europe with kuzi(Kuzi,pasaportsuz hollanda’ya giden bir insansın…farkındasın dimi)

En mutlu an: Her an with Ezgi (kalp)

En mutsuz an: O an….

En güzel konser: Hellfest 09 ve Faith No More ve God is an astronaut…

En güzel gezi: Ağva

En çok yenilen yemek: Subway sandviçleri(bknz. yemeksepeti istatistikleri…)

En güzel yemek(ler): Ağvadaki balık, “cadı”nın ev yemekleri,Santa Lucia Pizza(Çok düşündüm cidden 2009’dan damağımda kalanlar bunlar)

En anormal davranış: Ütü fişini çıkardım mı çıkarmadım mı şeklinde eve geri dönüş…(Hatırlamak istemiyorum :P)

En normal davranış:Ev telefonunu açtırdım…

En güzel tatlı: Cake House’un elmalı turtası(Kakaolu kekin yerini tutmuyor gerçi…Not:Mesaj içeriklidir…)

En güzel müzik: Yenilenen kapı zilim

En güzel “Ankara”: Aile toplantısı…2010’da bir daha olsun sayın yetkililer…

En güzel haber: Kirli işlerimi halledecek bir avukatımın, kirli işler yapmaya başladığımda çoktan yetişmiş olup,k.çımı kurtaracak olması 🙂

En yanlız an: Yazın son zamanları…(Bildiğin depresyondaydım…)

En yoğun zaman: Her zaman

En pahalı haber: 2010,2011 şeklinde sürecek olan kredi yurtlar ödemelerimin başlıyor haberi

Daha da çıkar aslında…2009’un sonuna kadar eklemeler yapacağım…Güncellemeler de olabilir…Sıkıldım şimdi…