Bilgisayar yazılımları geliştirmekle yıllardır uğraşılmakta. Son yarım yüzyılda ortaya çıkan bu alanda çeşitli paradigmalar (prosedürel, nesne tabanlı, fonksiyonel, vs) ve çeşitli modeller (code reuse, unit testing, component model, extreme programming, design patterns) ortaya atıldı. Daha çok "Özgür Yazılım'' ile birlikte dağıtık geliştirme yöntemleri gündeme geldi. Tasarım, uygulama ve test aşamalarını kapsayan geniş bir açıdan baktığımızda bize önerilen çeşitli "doğru'' geliştirme yöntemleri var.
Diğer her alanda olduğu gibi dengeli ve sağlıklı bir kavrayışa sahip olmak için doğruların yanında "yanlış'' yöntemler hakkında da bilgi sahibi olmak gereklidir. Bu konuda yaşanmış çok tecrübe olmakla birlikte, yazılı olarak birkaç kaynak dışında ciddi bir eksiklik bulunmaktaydı. Bu makale, ağırlıklı olarak yazılım mühendisliği ile ilgili birkaç Internet sitesinden derlenmiş, daha çok özgür yazılım alanını ilgilendiren bu tür çıkmaz yolları tanıtmaktadır.
Ortak noktaları:
* Çoğu bir problemi çözmek isterken ortaya çıkar
* İlk bakışta harika bir fikir gibi gözükebilirler
* En çok tasarım aşamasında görülürler
* Sizden çok daha üretken ve başarılı grupları batırmışlardır!
Gürer Özen'in Anti-Patterns çevirisinin devamını
burada okuyabilirsiniz.
Biz de (eMBA yazılım geliştirme ekibi olarak, http://www.bilgiemba.com/tr/ ) uzunca bir süredir Mantis Bugtracker kullanıyoruz ( http://mantisbt.sourceforge.net/ ). Apache, PHP ve MySQL ortamında çalışan bu hata takip sistemi (ki Oktay arkadaşımız sağolsun, aylar önce bize bunu o tavsiye etmişti FM Forum ortamında) hem MS Windows hem de GNU/Linux ortamında gayet kolay kuruluyor ve çalışıyor, değişiklik yapmak da zor değil, öyle yeniden derleme derdi falan da yok :)
4 kişilik programlama ekibi ve 25 kadar eMBA hocası, asistanı, koordinatörü, vs. bu sistem üzerinden hataları ve taleplerini bildiriyorlar ve ITracker yazısında olduğu gibi hatalar bildirilir bildirilmez yazılım ekibi e-posta ile uyarılıyor, geribesleme, vs. yapılıyor, ardından problem gideriliyor, hatayı bildiren çözümü onayladıktan sonra da hata KAPALI duruma getirilip ana listeden çıkarılıyor. Sonra gerekirse detaylı raporlar alınabiliyor falan. Hatta ben SVG ile uğraşırken bir ara heves yapıp o sisteme bir de küçük bir grafik çıktı modülü yazayım demiştim, bir iki denemem oldu, PHP ile veritabanından verileri çekip sonuçları XML tabanlı SVG dili ile tarayıcıya gönderince SVG plug-in devreye giriyor ve aylık hata sayısının günlere göre dağılımı çubuk grafik olarak çıkıyor falan :) (Oktay´a not: Bence bunu Mantis´e ekleseler süper bir özellik olur, gerçi şu anda SVG desteğini doğru dürüst veren bir tek Adobe SVG plug-in var ve o da bir tek Windows ortamında doğru dürüst çalışıyor o ayrı; Nuh-i nebiden kalma sürümü var bir tane Red Hat için. Açıkçası hala SVG gibi güzel ve XML tabanlı bir Internet tarayıcı grafik gösterme diline %100 destek vermeyen Mozilla ekibini kınıyorum.)
Bu sistemin işleri bir hayli kolaylaştırdığını ve zaptü rapt altına aldığını söylemem abartılı olmaz.