Arda Çetinkaya Thoughts on software, with the occasional personal rambling…

Bad Gastein

/ Leave a comment / ~ 4 dakikada okuyabilirsiniz.

Geçen sene başladığım snowboard macerama bu sene de devam ettim. Geleneksel hale gelir mi bilemiyorum ama oldukça zevk aldığımı söyleyebilirim. Geçen sene Avusturya’nın Salzburg kentinde, Zell am See adında küçük bir kasabada başlamıştım, takip edenler hatırlayacaktır. Bu sene yine Salzburg’da Bad Gastein kasabasına gittim. Yurdumun dağları neyine yetmiyor diyeceksiniz belki ama Bad Gastein’dan sonra bu soruya çok daha net cevap verebiliyorum artık.

Salzburg Dom

Salzburg

SALZBURG

Bad Gastein’e, Salzburg üzerinden tren ile yaklaşık 1.5 saatlik keyifli bir yolculuk ile ulaşabiliyorsunuz. Salzburg’a yakın olmasından dolayı 1 günlük Salzburg ziyareti ile de bu yorucu tatilin başında biraz gezinme fırsatı yaratabilirsiniz eğer gidecek olursanız.

Salzburg’dan uzun uzun bahsedecek kadar bir zaman geçiremedim. Zaten çok bahsedecek bir şeyi de yok aslında. Oldukça küçük ama sevimli bir şehir. Eski şehir merkezi, Salzburg Dom,Salzburg kalesi(Hohensalzburg Castle) ve Mozart’ın evi ciddi anlamda görülmesi gereken ana yerler. Şehrin tepesindeki Salzburg kalesini gezmeye benim fırsatım olmadı ama şehrin aşağısından baktığınızda oldukça ilgi çeken bir yer. Giderseniz benim yerime de gezin…Diğer yerleri zaten ister istemez geziyor oluyorsunuz…

IMG_3539Salzburg

BAD GASTEIN

IMG_3531Neyse…Asıl olayımız Bad Gastein…Bad Gastein, termal suların olduğu ve kayak tatili için oldukça elverişli bir kasaba. Deniz seviyesinden 1000 metre yukarıda olan bu kasabadaki 2500-3000 metre yüksekliğindeki dağlar kayak için oldukça yeterli. Yani baştan söyliyim, kayak,snowboard falan ilgileniyorsanız ve yurt dışında değişik yerleri keşfetmeyi seviyorsanız mutlaka denemenizi tavsiye ederim…

IMG_3532Kış mevsiminde, termal sulardan çok karın etkili olduğu bu kasabada, direkt lift’ler ile dağa çıkmanız mümkün. Liftler kasaba merkezinde bulunduğundan ekstra herhangi başka bir şey yapmanıza gerek yok. Liftlerden geçebilmek için Skipass’inizi almanız yeterli olacaktır. Tabi kendi kayak malzemeleriniz yok ise, bunları kiralayabileceğiniz yerlerde mevcut. Ben Intersport denen oldukça büyük spor mağazası zincirinden kiraladım. Tavsiye ederim. Snowboard’u,kaskı ve ayakkabıları 4 günlük 160euro kadar bir bedel ile kiralamak mümkün. Kayak da bu civarlarda olsa gerek, ona bakmadım açıkcası… 4 günlük Skipass ücreti de bu arada 160euro civarı…Bu aldığınız skipass ile diğer şehirlerdeki tüm liftleri kullanabiliyor olduğunuzu da eklemek isterim.IMG_3535

Bad Gastein’nın pistleri oldukça geniş ve uzun…Ve hatta oldukça dik…Ama Zell am See’ye göre daha eğlenceli ve güzel diyebilirim. Yukarıdaki pistler geniş olduğundan rahat kayabiliyorsunuz. En yukarı çıktığınızda yaklaşık 2500 metre kadar bir yüksekliğe ulaşıyorsunuz. Oldukça güzel bir manzara olduğunu söyleyebilirim. Kaymaktan yorulup, dinlenmek için tepedeki restoranlarda dinlenip, manzaranın keyfini çıkarmanız da mümkün. 10 euro’ya çok rahat doyup, 20 euro civarına kadar kendinizi şımartıp güzel yemeklerde yiyebilirsiniz.

Devam…

Nedir-TVUzun bir süredir aktif olarak hayatına devam eden Nedirtv‘nin 7.yılında tekrardan bir sunumla; “Yazılım Kalitesi ve Kalite Özellikleri” başlığı altında bir şeyler anlatmaya çalışacağım. 2 Mart 2013 tarihinde, Bahçeşehir Üniversite’sinde gerçekleşecek bu etkinliğe katılmak ücretsiz. Bol bol muhabbet edeceğimiz bu etkinliğe ilgilenen herkesi bekliyorum. Aşağıda ayrıntıları ve katılım için gerekli adresi bulabilirsiniz…

 

 

Geleneksel hale gelen Nedirtv yıldönümü etkinliğimizi bu yıl Bahçeşehir Üniversitesi Beşiktaş Kampüsü’nde gerçekleştireceğiz. 2 Mart Cumartesi günü gerçekleşecek etkinliğimizde ilginizi çekecek konularla yine karşınızdayız.
Program

09:45 Açılış Konuşması
10:00 Türkiye’de Yazılım Proje Yönetimi
11:00 TFS ile Düzenli Proje Geliştirme
13:00 Ara
13:30 Windows Azure Platformu ve Mobil Dünya
14:30 Yazılım Kalitesi ve Kalite Özellikleri

Konuşmacılar
Arda ÇETİNKAYA
Burak Selim ŞENYURT
İbrahim ATAY
Nezih TINAS

Tarih: 2 Mart 2013 Cumartesi
Yer: Bahçeşehir Üniversitesi, Beşiktaş Kampüsü – D Blok Konferans Salonu

Etkinliğimiz Bilişim Eğitim Merkezi’nin desteğiyle gerçekleşecektir. Gün sonunda birçok kitap ve eğitim çeki hediyelerimiz olacaktır.Etkinlik kayıtları 1 Mart Cuma günü saat 13:00’de kapatılacaktır. Etkinliğe katılmak için http://nedirtv2013.eventbrite.com/ adresini takip etmeniz gerekmektedir.

Buradan tekrardan Nedirtv ailesine bana da programda yer verdikleri için teşekkür ederim. Etkinlikte görüşmek üzere…

Bir etkinlikte Java tarafından… 2 Şubat 2013 tarihinde İstanbul Bahçeşehir Üniversitesi’nin Beşiktaş kampüsünde İstanbul Java Günü 2013 düzenleniyor. Arun Gupta ve Peter Veentjer gibi önemli isimlerin de katılacağı etkinliğin programı aşağıdaki gibidir.

12.45-13.00: Açılış Konuşması – Altuğ Bilgin Altıntaş
13.00-13.50: Primefaces – Çağatay Çivici
14.00-14.50: Java EE 7 and provide an update on what’s coming new there – Arun Gupta
15.30-16.20: JavaFX 2′ye Genel Bakış – Hilmi Kemal Yıldız
16.30-17.10: Multiverse projesi ve Concurrency – Peter Veentjer
17.20-17.50: Java 8 – Lambda Projesi – Rahman Usta

Ücretsiz olarak gerçekleştirilecek bu etkinliğe katılmak için kayıt olmanız gerekmektedir. Bu adresten kayıt olabilir daha fazla bilgiye ulaşabilirsiniz.

Yine güzel bir etkinlik haberi… 26 Ocak 2013 tarihinde Ineta Türkiye’nin düzenlemiş olduğu Ineta TechDays ile Windows ve Azure tarafında ki yenilikleri takip etme fırsatını bulabilirsiniz. Windows 8, Windows Phone 8 ve Azure Mobile Services gibi konuların anlatılacağı etkinlik ücretsiz olup, tüm gün sürecektir. Etkinliğe katılmak için bu adresi kullanabilirsiniz.

Yazılım kalitesi dendiğinde aklınıza ilk neler geliyor bilmiyorum ama benim uzun bir süre bir çok soru geldi aklıma. Mesleğim ve yaptığım iş dolayısıyla uzun bir süre cidden kafa yordum kendimce. Bazen hala sorguluyorum…Yazılım nedir? Kalite nedir? Neden gerekli? Kaliteli olduğunu gösteren kriterler neler? gibi formal bir şekilde bir kaç tanesini yazabilirim…Çok fazla bu soruların içerisine girmeden, fark etmiş olacağınız üzere yazılım kalitesi ile ilgili bir kaç şey karalayacağım bu sefer…Biraz sesli düşünüp, insanlar neleri nasıl düşünüyoru da görmeyi planlıyorum açıkcası…Neyse dağılmayalım çok…

Yazılım kalitesi

Öncelikle yazılım kalitesinin ne olduğunu oldukça basite indirgeyip, daha sonra karmaşıklaştırmayı düşünüyorum. Genelde komplike yaklaşımlar ile bazı şeyleri anlamakta kendi kendimize işimizi zorlaştırdığımızı düşünüyorum. Yazılım kalitesi, yazılımın çözmeye çalıştığı problemlerin başarı derecesidir. En basitinden bu şekilde düşünebiliriz. Bir problemimizi çözmek, ya da başka bir ifade ile; bir ihtiyacımızı karşılamak adına yazılımın, ihtiyaçlarımızı karşılama derecesi olarak biraz daha karmaşıklaştırabiliriz bu tanımı.

Genelde yazılım kalitesi diyince, esneklik,hız,taşınabilirlik falan gibi özellikleri başlıyoruz saymaya…Ancak bu özellikler bir yazılımın her zaman kaliteli olmasını sağlar gibi bir şey söyleyemeyiz. Ya da bunlar olmazsa yazılımın kalitesiz olduğunu da söyleyemeyiz. Bu özellikler, kalite derecesinin belirlenebilmesi için, ihtiyaçlar doğrultusunda ortaya çıkan özelliklerdir. Bu iki kavramın tam olarak anlaşılmadan, çok iç içe alındığını ve bazen, farklı durumlarda sorunlara yol açtığını gözlemliyorum. Bundan dolayı yazılım kalitesi ve kalite özelliklerinin birbirinden ayrı kavramlar olduğunun altını çizmek isterim.

Bir yazılım projesinin geliştirme aşamasında, her yazılımcı, kaliteli olacağını düşündüğünden yukarıda saydığım bir kaç özelliğe direkt dikkat ederek geliştirmeye başlar. Hızlı olsun”…”Esnek olsun, yarın başka modüller yazarım”…”Kodu okunabilsin”…”Veri katmanını, tüm veritabanı sistemleri ile uyumlu çalışacak şekilde yazim ki, başka sistemlerle de uyumlu olsun”…Bunlar sadece bir kaçı…Hepimizin düşündüğü, bir şekilde yapmaya çalıştığı şeyler…İyi güzel de, bunlar gerçekten gerekli mi? Kodu okunamayan, tek veritabanı ile çalışan, çok hızlı olmayan bir yazılım kaliteli olamaz mı? Olur, hem de çok güzel olur…

Yukarıda dediğim gibi ihtiyaçları sorunsuz bir şekilde karşıladığı sürece, problemleri kolaylıkla çözdüğü sürece yazılım kaliteli olarak nitelendirilebilir. Nitelendirilebilir diyerekten özellikle ucu açık bir ifade kullandım. Bu noktada da ‘Kime göre kaliteli?’ sorusu ortaya çıkıyor çünkü. Yazılım kalitesi, yazılımın kullanıcıları açısından farklı şekilde yorumlanabilir. Yazılımı yazan kişiler açısından, yazılımı kullanan kişiler açısından ve yazılıma bakım yapacak kişiler açısından kalite derecesi değişiklik gösterecektir.

Biraz basit ve belki saçma gelebilecek bir örnek üzerinden gidiyor olacağım, ama yukarıda bahsetmiş olduğum farklılıkların netleşmesi adına daha anlamlı olacağını düşünüyorum. 2013’e yeni girdiğimiz şu günlerde, yılın ilk günlerinde bir çok kişi milli piyango heyecanı yaşamıştır sanırım. Her senenin ilk saatlerinde, bu piyango çekilişini yapacak bir uygulama yazmamız gereksin. İhtiyaç oldukça basit…Yedi tane düğme olacak, her birine basınca 0 ile 9 arasında bir sayıyı gösterecek. Çıkan sayılar da veritabanına yazılacak. Oldukça basit…Görsel olarak hiç bir özelliğinin olmasına da gerek yok. Bu ihtiyaçları tam anlamadan, bu ihtiyaçların çıktığı noktaları iyi çözümlemeden bu kadar basit bir yazılım projesini geliştirmeye başlarsak, kalite özellikleri içerisinde kendimizi kaybetmemiz çok mümkün. Mesela bu uygulamanın hızlı olmasına hiç gerek yok…Yılbaşı eğlence telaşı zaten herkes sabah bakıyor (: 1 sayıyı 10 dakikada hesaplasa da olur…Kullanışlı olmasına da gerek yok, sadece bir düğme olacak, sayıyı gösterecek ekstra bir şeye gerek yok…Görsel olarak yanar dönerli bir arayüze de gerek yok…Çıkan sayıları yazarız bir kartona, 2-3 kadın ve erkek şık bir şekilde sunar (: …Genişletilebilir de olmasına gerek yok, 7 tane sayı hesaplayacak sadece… Vermiş olduğum örnekler çok basit örnekler olsada, burada altını çizmek istediğim nokta, kalite özeliklerinin, ihtiyaçlar doğrultusunda şekillenmesi gerektiği. Bu uygulamayı ortada olmayan bir ihtiyaca göre, yarın öbür gün sayılsal loto içinde kullanılabilir diye esnek ve genişletilebilir bir şekilde yapmaya çalışırsanız, geliştirme süresini gereksiz bir şekilde riske atıyor olup, var olan ihtiyaçları karşılamakta da büyük sıkıntılar yaşayabilirsiniz. Kısacası yazılımın kalitesi için, kalite özelliklerinden kaç tanesini karşıladığı değil, nasıl karşıladığı daha önemli.

Yazılım geliştirirken, genelde analiz süreci iyi işletilmez ise, daha geniş bir bakış açısı ile düşünülmeye gidiliyor. Bazen iyi, bazen kötü bir şey aslında bu…Yani; basit problemler iyi anlaşılmadığından, daha geniş bir perspektif ile bakılıp, “işte şunu da sağlayalım, bunu bu şekilde yapalım ki ileride başka birşey geldiğinde sağlamış oluruz” gibi, kulağa güzel gelen ama karmaşıklığa yol açabilecek durumlar ortaya çıkabiliyor. Bu durum mevcut geliştirilmekte olan yazılım projesinin kalitesine olumsuz bir şekilde yansıyabilir, hatta büyük bir ihtimal kesin yansır. Ayrıca bir müşteri için geliştirdiğiniz bir projeyi, kaliteli olması adına genişletilebilir olarak düşünüp, başka müşterilere de, başka modüller ile satabiliriz belki diye ekstra bir çaba içerisine girdiğinizde, bu çabanın gerçekten karşılığının olması da gerekmektedir. Cidden başka müşterilere, başka modülleri satabilecek satış ekibinin de olabilmesi ve kaliteli olması adına yapmış olduğunuz bu geliştirmeyi pazarlayabilmesi önemlidir. Yoksa kaliteli olduğuna inandığınız yazılımın, kalite özelliğinin hiç bir önemi olmaz.

Kısacası yazılımın kalitesi, yazılımın ortaya çıkma nedenleri ile  birebir olarak alakı bir kavramdır. Kaliteli bir yazılım için, ihtiyaçların çok iyi analiz edilmesi ve bu ihtiyaçların sebeplerinin anlaşılması gereklidir. Aksi takdirde sıkıntılı durumların oluşması çok muhtemel…Şimdilik bu kadar…Bu konu ile ilgili aklıma başka sorular geldiğinde yine bu şekilde sesli(?) düşünüyor olurum herhalde…