Archive

Posts Tagged ‘DEVELOPMENT’

MÜŞTERİLERİNİZE KULAK VERİN !

Ocak 4, 2008 1 yorum

sccc.jpgÇoğu zaman bir yazılım projesini veya bir uygulamayı hata geçirmeden evvel aklımızda temel bir şablon olur. Bunu kağıda yada dijital bir ortama aktarınca hatlar belirginleşir. Bu sırada aklımıza yeni fikirler gelir ve bunu da şablonumuza ekleyip resmin son şekline iyice yaklaşırız. Bu yeni fikirlerin çoğu kullandığımız benzer ürünlerden esinlenmeler yada kopyalamalardır. (Düşünün: bir audio player yazacak olsanız uygulamanıza ne gibi özellikler eklerdiniz ? Ses ayarları, graphic equalizer, farklı dosya formatlarını destekleme, müzik kütüphanesi, internetten içerik getirme ,belki audio ripping, harici depolama birimleri için destek ve senkronizasyon vs vs. Muhtemelen çoğunuzun aklından bunlar geçti.) Bu süreci tamamlayınca artık development ‘a hazır hissederiz kendimizi ve uygulamamızı exception almadan çalıştırınca “bizden mutlusu olmaz 🙂” Güya çoğu ihtiyaca cevap verdik , hemen herşeyi hallettik. Kodlayan mumnun kullanan memnun. Acaba atladığımız bir ihtiyaç, aklımıza getirmediğimiz bir özellik olamaz mı?

Olur, olurmuş. Bunu Aqua Data Studio ‘nun e-posta grubuna gönderilen “New Feature” taleplerini okudukça daha belirgin bir şekilde görüyorum. Bakın bugün nasıl bir talep geldi:


I am a big fan of ADS. At this point there is only one feature lacking to make it perfect, for my needs at least.
As I type this, my licensed copy of ADS 6.5.0 has 25 servers registered into it: some Oracle, some MS SqlServer, and a some MySql.
My problem is that over time I lose the passwords to some of these databases. I can still connect through ADS because I entered the password correctly months or even years ago, but I can’t make a new connection because I have no idea what I typed back then into the password field.
What I would like to have is a field in each server registration where I could type some comments to remind me about salient features of each server. Putting the password into the comments is one example.
I can do that when I define a database connection into the IBM Webpshere 6.1 application server using that product’s administrative console– that’s the reason I thought to request this ability to add a comment for each registered server within ADS.


Açıkcası ben de hem Java hem de ASP.NET ile 2 adet database administration tool yazmıştım. (Basit ama ihtiyaçlarmı gören ve bana çok şey öğreten uygulamalardı) Amaç hem birşeyler öğrenmek hem de diğer araçlarla yaşadığım karmaşayı aşmaktı. Önce JDBC ile Java tabanlı minik bir uygulama geliştirdim. Sonra AsP.NET öğrenince ADO.NET+AJAX+ASP.NET kombinasyonuyla SQL SERVER 2005 üzerindeki tabloları ve bunlara ait bilgileri listeleyen web tabanlı bir uygulama yazmıştım. Son yazdığım uygulama AJAX sayesinde bağlandığım remote database server ‘ım üzerinde işlem yaparken kendimi daha az bekliyor gibi hissettirmiş ve beni SQL Server Management Stuido ‘nun kilitlenmelerinden bir dönem korumuştu.Bu tip uygulamaların en temel aşaması veritabanı ile bağlantı kurmaktır. Kullanıcıdan gerekli bilgileri (IP,Port,Username,Password) alıp, bağlantıyı kurduktan sonra, ilgili API ‘lerin getirdiği kolaylılara bir de bağlandığınız ürünün kendine has yeteneklerini ekleyip işinizi görebilirsiniz. Ama her iki uygulamamda da hiçbir şekilde yukarıdaki gibi bir PASSWORD HINT tarzı açıklama alanına yervermemiştim. (Açıkcası akıl edememiştim.)Bazılarınız için bu abartılası birşey değil. (Hatta güvenlik açığı diye düşünenler olabilir. Sonuçta sizin şifreyi hatırlamanızı kolaylaştıran birşeyler – eğer mesajı iyi gizlememişseniz- başkalarının da şifreyi daha kolay tahmin etmesine neden olabilir.) Fakat geçen gün aynı durumu enteresan yollarla çözmeye çalışmış birisi olarak ben faydalı bir istek olarak gördüm bu eklentiyi. Geçtiğimiz ay BETA database ‘inin şifresi lazım olmuştu ve DBA arkadaşlar diğer sunuculardakinden farklı bir şifre seçmişler. (Sağolsunlar) İlgili connection bilgileri ekibimizdeki bir arkadaşın kullandığı SQL Developer uygulamasında kayıtlıydı. Tabii password bilgisi asterix (*) karekterlerinin arkasına gizlenmişti. Bahsi geçen arkadaş da şifreyi hatırlayamayınca tahmin edin ben ne yaptım ?Asterix Revealer dediğimiz uygulamalar ile SQL Developer ‘dan şifreyi almaya çalıştım ama asıl işimi görecek uygulamaları bulunduğum şirketin güvenlik politikası gereği indirip kullanamadım. (Allahtan başka ekipteki arkadaşlardan şifreyi hatırlayanlar çıktı…)

Toparlamak gerekirse geliştirdiğiniz uygulamaları kolayca test edilebilir bir şekilde insanlara sunup 3., 4., 5. hatta N. şahısların görüşlerini mutlaka alın. Bu yazıdaki çok basit bir örnek. Ama emin olun bundan daha güzel istekler de geliyor ki bu sayede ADS bugün çok güçlü bür uygulama haline geldi. Bir de bu örneğin bir istisnası var. Uygulamayı kullananların çoğu ya uygulama geliştirici yada veritabanı yöneticisi yani işten anlayan insanlar. Bazen de müşterilerinizden uygulamanızın arka planda Kurtlar Vadisi ‘nin polifonik melodisini çalması yönünde talepler gelebilir. Bu gibi talepleri ve bu gibi şahıslardan gelen DİĞER TALEPLERİ sağlığınız açısından ciddiye almamakta fayda var. Şimdilik benden bu kadar… En kısa sürede daha farklı ve daha güzel yazılarla karşınızda olacağım…Sağlıcakla kalın…

JIRAMANIA BİZE ÇOK UZAK ÇOOKKK!!!

Eylül 28, 2007 3 yorum

threetools.pngGeçtiğimiz günlerde Atlassian firmasının sitesinde gördüğüm What 3 Dev Tools Do You Rely on Most? başlıklı haber çok hoşuma gitmişti. Yani bir uygulamanın bu kadar çok amaca hizmet edebilir olması ve bu kadar efektif kullanılması hem o uygulamayı yazanlar için hem de kullananlar için çok güzel bir durum.

Yukarıdaki resimde de görüleceği üzere arkadaşlar development süreçlerinin her aşamasına JIRA ‘yı entegre etmişler. Bu sayede JIRA+CVS+ECLIPSE üçlüsü ile projelerini tıkır tıkır yürütmeyi başarmışlar. Resme bakınca JIRAMANIA bu olsa gerek demiştim kendi kendime…

Bu arada nedir bu JIRA diyenler buradan ve Mustafa Tan ‘ın blogundan detaylı bilgiye ulaşabilirler.

JIRA özetle “Söz uçar yazı kalır” felsefesinin yazılım projelerinde hayat bulmasıdır benim gözümde. Yapılan , yapılması gereken, yapılması umulan yada yapılacak olan işlerin takip edilebilmesini ve kayıt altında olmasını sağlar JIRA. Yani e-maili, telefon yada birebir muhattabiyeti kayıt altına alır. “Abi bee bu kod patlıyor bir el atıver de biz de teste devam edelim” şeklinde gelecek vakitsiz bir telefonun önüne geçer JIRA. Onun yerine e-mailinize ve JIRA hesabınıza tatlı bir issue düşer bir öğle tatili öncesinde… 🙂

Açar bakarsınız ve gerekeni yaparsınız. Sonradan birisi çıkıp da “Ben şu zaman demiştim sen bu zaman yaptın“, yada “ben böyle demiştim sen şöyle yaptın“gibi bir iddiada bulunamaz çünkü herşey orada yazılmıştır. JIRA ‘nın tanıtımı yapıp , teorik olarak kullanımını anlattıktan sonra sıra geldi hayatın gerçekleriyle yüzleşmeye…

Biz de şu anda dahil olduğum projede JIRA ‘nın nimetlerinden faydalanmaya çalışıyoruz. Hem development hem de test sürecinde yoğun bir şekilde JIRA kullanılıyor. Özellikle de projesini yaptığımız şirketin IT departmanıyla olan ilişkilerde işlerin daha ciddi yürütülmesi adına JIRA köprü görevi görüyor. Şu sıralarda bizim ekibin yazdığı modüller Alfa tesinde. Müşterimizin IT departmanındaki arkadaşlar bizlerin yaptığı ekranları test edip bizlere hatalı durumlarda “issue açıyorlar“. Buraya kadar herşey olağan. Ama bazen etrafımda öyle manzaralara denk geliyorum ki… Millet uzaya gidiyor biz nereye diye düşünüyorum…

Bir hata raporlanmış, developer arkadaş da düzeltmiş bir güzel. Şimdi tek yapması gereken JIRA ‘da kendisine atanan görevi ufak bir açıklama girerek kapatmak. Developer arkadaş kaygılı. Neden mi? Çünkü hatayı raporlayan vatandaş açıklamaları anlamamkta büyük bir direnç gösteriyor. Ne yapsam ne yazsam diye düşünürken oradan dahiyane bir fikir egliyor. “Ya telefon açıp söylesene. Böyle böyle diye anlatsana” (Hani yazılandan anlamıyor belki laftan anlar diye umuyor sanırım) yada “Dur dur ben de e-mail adresi var o bayanın uzun uzun bir mail at olsun bitsin”  Güler misin ağlar mısın?

Madem bizim telefon, e-mail gibi hizmetlerimiz var neden JIRA kullanıyoruz? Neden birileri JIRA ‘da bizim sorunsuzca çalışabilmemiz için emek harcıyor? Yada bu işler madem böyle de yürütülebiliyor neden bir grup zeki arkadaş oturup JIRA adlı bir uygulama geliştiriyor. Maksat yeşillik olsun diye değil mi? Yada el alem “Sizin JIRA ‘nız var mı?” diye sorduğunda “Olmaz mı hem de en enterprise edition ‘ından” diyebilmek için…

Görüldüğü üzere bir uygulama ne kadar akıllıca tasarlanmış olursa olsun işin içine beşeri faktörler girince, o akıllıca tasarım pek bir anlam ifade. Siz siz olun bu gibi fikirlere aldırış etmeyin. Elinizdeki araçlar her ne kadar amacınız olmasa da onları ne kadar efektif ve doğru kullanırsanız o kadar rahat edersiniz. Sisteminize ekleyeceğiniz fazladan her araç hem maddi yük getirecek hem de ayrı bir yönetim süreci isteyecektir. O nedenle bu gibi işlere ayıracağınız kaynağın karşılığını en iyi şekilde almalısınız. Hem siz elinizdeki aracı doğru kullanmak konusunda ne kadar ısrarcı olursanız etrafınızdakiler de er geç size uymaya başlayacaktır. (Yani birileri derdini yazarak anlatmayı ve diğer taraf da yazılandan birşyeler anlamayı öğrenmeli.) Yanlışları değil doğruları toplu halde yapmaya özen göstermenizi dileyerek yazımı burada noktalıyorum.