Saturday, April 27, 2013

Test Mühendisi Projenin Sahibidir

Yazılım projeleri, tanımları gereği genelde bir "proje" olarak algılanırlar. Proje, başlangıç ve bitiş tarihi belirli olan bir süreçtir. Dolayısıyla bu projede çalışanlar da (genelde) "bana verilen işi yaptım, ücretimi aldım" gözüyle bakarlar projelere.
Yani aslında kendilerini projenin sahibi olarak görmezler; sonuçta proje müşterinin ve projeyi yapan şirket sahiplerinindir diye düşünülür. Proje ile ortaya çıkan ürün veya hizmetin kimlerin hayatını kolaylaştıracağı veya zorlaştıracağı, kimlerin bu ürün/hizmetten dolayı mutlu olacağı veya acı çekeceği pek düşünülmez (düşünenler vardır tabii, genel izlenimlerimi aktarıyorum).

Bu tarz bir düşünce yanlıştır diyemeyiz; herkesin algısı ve hayata bakışı farklı.

Bir test mühendisi olarak eğer ki yaptığınız işin altına imza atacaksanız ve/veya bulunduğunuz şirkette uzun seneler çalışmayı düşünüyorsanız, sorumluluğunuz altına aldığınız veya verilmiş projelerin "genel sağlığı"ndan da birinci derecede sorumlusunuzdur. Şöyle ki;
- Eğer yaptığınız işin altına imzanızı atacak kadar güvenmiyorsanız veya "aman yapılsın bitsin de..." tarzında düşünüyorsanız, bu işler bir süre sonra sizi takip edecek ve isminizi kötüye çıkaracaktır (gerçi bu her sektör ve her iş grubu için aynı).
- Eğer bulunduğunuz şirkette uzun seneler boyunca çalışmayı düşünüyorsanız ve çalıştığınız projeler uzun soluklu (operasyon denilebilecek tarzda) projeler ise, diğer herkes (proje yöneticisi, yazılım geliştiriciler) başka projelere veya şirketlere gittiğinde o üründen neredeyse tek başınıza sorumlu olursunuz, çünkü şirkette o projeyi detaylı olarak bilen bir başkası kalmamıştır.

Test mühendisi ürünün doğru, hızlı ve kullanılabilir olmasından sorumludur, ürünün şirket içindeki müşterisidir, ürünü müşteriye ve son kullanıcıya kabul ettirecek kişidir; bu açıdan bakıldığında projenin sahibidir.

Eğer aşağıda yazdığım konulara zamanında dikkat etmezseniz, projenin ilerleyen aşamalarında büyük zorluklar çekmeniz ve/veya ürün kalitesinde düşüş kaçınılmazdır .

- Fonksiyonel Doğruluk: Ürün/hizmet istendiği şekilde ilgili kullanıcıların ihtiyacını karşılamak zorunda. Bundan aslında bahsetmeye gerek bile yok.

- Kullanılabilirlik: Mümkün olduğu kadar az işlem yaptırarak, kullanıcının istediği bilgiyi mümkün olduğu kadar hızlı bir şekilde sunmak, şeklinde özetleyebiliriz. Diğer bir durum da, kullanıcının karşısına çıkardığınız ürün/hizmette tek bir tane bile gereksiz simge, resim, yazı vesaire olmamalıdır. Sunulan fonksiyon, arayüz, hizmet, ... amacına uygun olmalıdır.
Ayrıca Erişebilirlik (Accessibility) yani engelli kişilere kolaylık sağlayacak özellikler de bu kapsamda değerlendirilebilir.

- Performans: Ürünler/hizmetlerin sanki bunu tek bir kişi kullanacakmış tasarlanması ve geliştirilmesi ölümcül bir hatadır. Hedef kullanıcı kitlenizin büyüklüğünü bilmek durumundasınız.

- Ölçeklenebilirlik: Bugünün veya yakın geleceğin şartlarına göre üretilen bir ürün/hizmetin senelerce insanlara hizmet etmesi isteniyorsa, bu ürün/hizmetin artan kullanıcı sayısı ile paralel olarak genişletilebilmesi gerekir.