Dr. Volkan Tunalı'nın Kişisel Blogu

Bilgisayar, Teknoloji, Bilim, Sanat

Archive for Ocak, 2009

Kritik Kütle

leave a comment

Kritik kütle, yazılımın kaynak kodunun komple yeni baştan yazılmadıkça etkin bir şekilde yönetilemeyecek kadar aşırı büyük boyutlara ulaştığı Yazılım Yaşam Döngüsü aşamasını tanımlayan bir Yazılım Mühendisliği terimidir. Bir tanımlama da şu şekilde yapılabilir: mevcut bir hatayı (bug) gidermek yeni ve daha büyük bir hataya yol açıyorsa, yazılım artık kritik kütleye ulaşmış demektir. Genellike kritik kütle aşamasındaki bir yazılım iyileştirilmeye çalışılmaz; yazılıma son verilir ve yeni baştan geliştirilir.

Hatalı planlama, yazılımcı sirkülasyonu nedeniyle sürekli yeni yazılımcıların projeyi ele alması, yetersiz dokümantasyon, kopyala-yapıştır tarzı kötü programlama alışkanlıkları gibi temel nedenler bir yazılım projesinin Kritik Kütle aşamasına gelmesine neden olmaktadır.

Genelde masum ve düzgün planlanmış gibi başlayan bir yazılım projesi zaman içerisinde özensizce eklenen yeni özellikler nedeniyle kontrolsüz bir şekilde büyür ve bu büyüme farkedilmeyen hataları ve çözülemeyen sıkıntıları da beraberinde getirir. Ya da bazen bir an önce çalışan bir ürün çıkartma derdiyle çabucak bir geliştirme yapılır, bütün eksik ve özensiz tasarımına rağmen sistem çalışıyor ve müşteriyi memnun ediyordur. Eksikleri giderilmeden ve iyileştirilmeden yeni özelliklerin bu baştan sorunlu tasarım üzerine eklenmesinin sonucunda kritik kütle yine kaçınılmazdır.

Çoğunlukla yine aceleci, özensiz ve düzensiz geliştirme süreçleri nedeniyle dokümantasyon eksikliğinin koddan giderilmeye çalışılması, revize edilecek kodu yazanın artık projede bulunmaması sonucunda yeni programcıların eksik bilgiyle yaptığı eklenti ve revizyonlar da zaman içerisinde mevcut kodu iyice içinden çıkılmaz hale getirebilir. Bir de buna suya sabuna dokunmadan sorunları bir an önce çözmek için kopyala-yapıştır programcılık yapılması eklenince yazılım sistemi artık devam ettirilebilir, desteklenebilir, kolay revize edilebilir (maintainable) bir sistem olmaktan çıkmaktadır.

Written by vtunali

Ocak 29th, 2009 at 8:55 am