Mlliyet Milliyet Blog Milliyet Blog
 
Facebook Connect
Blog Kategorileri
 

14 Eylül '09

 
Kategori
Teknoloji
 

Yazılım mühendisliği açısından verimlilik – 1

Yazılım mühendisliği açısından verimlilik – 1
 

Siber dünya, mevcut dünyanın üzerine kuruluyor. Yavaş ama emin adımlarla. Her gün biraz daha...


Verimlilik öyle tartışma götürür bir konu değil.
Neredeyse “Mutlak” kriterleri oluşmuş bir konu.

1- Bir proje için ara zamanda verimlilik hesaplanamaz.
Bu demektir ki; iş bitmeden projenin ara safhalarından birinde verimlilik hesaplanması bütünün verilerine sahip olunmadığı için hatalıdır.
Ama bütünün, süreç olarak, öngörü olarak (tahmini) bir gelecek projeksiyonu çıkarılabilir.
Bu durumda eldeki tahmini veriye göre bir verimlilik değeri elde edilebilir.

2- Verimliliğin temel kaygısı tasarruftur.
Nedir bunlar: Zaman, işçilik, malzeme.

ZAMAN:
Bir işi daha az zamanda yapabilmeyi sağlamak.
Bunu yaparken (yazılım özelinde) deneyim ve analiz çabukluğu önemlidir.
Diyelim ki; A1 projesi ile uğraşırken aşırı zaman harcayarak çok başarılı bir algoritma ürettiniz.
Bu algoritma (Diğer sektörlerde proses) çok büyük faydalar sağlıyor.
A- Bu iş için (A1 projesi kapsamında) proje verimliği kötü bir değer alır. (Yani: verimliliği düşüktür)
B- Proje ekini, bu faydalı üretimi başarmış olmaktan dolayı, ekip verimliliği bazında iyi bir değer alır. (yani: verimliliği yüksektir)

İŞÇİLİK:
Bir işi daha az kişi ile yapabilmeyi sağlamaktır.
Aslında ZAMAN kriterine de bağlıdır.
Ama “hedef iş” bazında daha az “adam-saat” kullanımı önemlidir.
Yazılım işinde, altprogramlar ile yada programlama dili seçimi ile ilgilidir.
Mesela Assembler dili ile 100 adam-saat zamanda yapılabilecek bir işi, C dili ile 15 dakikada yapabilirsiniz.

MALZEME:
Bu kriter nesnel üretimi esas alan bir sistemin kriterlerinden.
Ama mamul olarak yazılım ürününü düşündüğümüzde bunun girdisi olan tek mal, işçilik ve ortam (soft ve hard) ekipmanlarıdır.
Malzeme girdisi olan bir sektör olmadığı için bu maddeyi yazılım ekibi verimliliğinde ele almak pek anlamlı değil.
Ama mekanik bir şeyler üretenler için önemi tartışılmaz.

Not: Yazıda verilen örnek: (Birim zamanda yazılan kod)
Bu kriter üretilen kodun işlerliğini içermediği için pek bir değer taşımıyor.
Yani satır sayısı ile verimlilik olmaz.
Aksine;
Bir işlevi, daha az kod ile yapmak, daha değerli bir çalışmadır.
Ama burada “zaman” değişkenini de ele almak gerekir.

Gelelim verimlilik nasıl belirlenir:

Proje ekibi işe başladığında projenin tümünün planlamasını yapar.
* Bu proje, gerekli ekiplere paylaştırılır. (Grafik, kodlama, veritabanı, test vb...) (Matrisin sütünları) “1D”- X ekseni
Her ekibin işlevinin bütüne etkisi yüzdesel olarak belirlenir.
* Her ekibin iş süreci de kendi içinde takvime bağlanır. (Matrisin Satırları) “2D” - Y Ekseni

Bu takvimler iş süresince birebir takip edilir.
* Ekipler de içlerinde ayrıca eleman bazında süreçleme yapabilir. (Matrisin derinliği) “3D” - Z Ekseni

Şimdii; |XYZ| matrisi, verimlilik vektörü oluşturulmuş olur.

Hep sevgi ile kalın.

Murat SEVGİ

 
Toplam blog
: 370
: 1092
Kayıt tarihi
: 10.07.08
 
 

1969 doğumlu. Tasarımcı, endüstriyel otomasyon sistemleri için yazılım geliştiriyor. Yüksek öğren..