Tag Archives: Death March

Anti-Pattern: Big Project Syndrome

Uzundur anti-pattern kavramlarından bahsetmeyi planlıyordum ama malumunuz, öyle design-pattern gibi kolayca ele alınabilecek kadar kısa değiller. Bu yüzden seçip seçip yayınlamak gerek. Hatta bunun için not defterimde bir liste bile oluşturudum. Gerçi anlatmak istediğim AP bu değildi; analysis paralysis fakat ona gelmeden önce küçük bir AP’yi size anlatmam gerek.

Unutanlar için Anti-Pattern (AP) tanımı

Anti-Pattern ya da antipattern dediğimiz kalıplar aslında çoğumuzun çalışırken yaptığı, fakat işimizi kolaylaştırmaktan çok işimizi zorlaştıran işlerin kalıplaşmış halidir. Bir nevi toplumsal ortak deneyim denilebilir. Eğer bir AP’yi okuduğunuzda, “aa evet ben de bunu yapıyorum” diyorsanız, siz de muhtemelen yanlış yapıyorsunuz. AP’nin tam bir çözümü yok fakat korunmanın yolları da illa ki var :).

Tanım

Basit bir anti-pattern. Henüz tam olarak resmi bir kategorisi olmasa da ben bunu “Project Management” ile “Project Architecture” arasında bir yerde kategorize ediyorum. Tanımı ise;

Kimi zaman yönetimin baskısı, kimi zaman da kendi kararı – egosu – neticesinde programı dizayn eden kişinin, tüm dünyanın sorunlarını çözecek bir programı inşa etmeye, projelendirilmeye çalışması.

Detaylıca anlatmaya çalışırsak; şirketinizde finans, kalite ve satın alma departmanları var. Bu departmanların hepsinin ayrı ihtiyaçları var tabii ki. Biri muhabsebe programı, diğeri dokümantasyon, bir diğeri ise sipariş takip sistemi istiyor. Şirketinizdekiler de öyle bir sistemden bahsediyorlar ki, bu kudretli program her departmanın ihtiyacını yaptığı gibi ek olarak üç dört departmana daha hizmet veriyormuş. İşte bu program sizde yapılmaya çalışıyorsa ya da en azından planlanıyorsa bu Big Project Syndrome anti-pattern’inin sizde olduğunu göstermektedir.

Önlem

Önlem için önce müdürün ya da sistemi dizayn eden kişinin kafa yapısının değişmesi gerek ama maalesef bu pek ihtimal dahilinde olmadığı için, elimizden azı gelmekte. Muhtemel kurtulma yöntemi ise; Do The Simplest Thing That Could Possibly Work ki bunu bir makalede detaylıca anlatacağım. Şimdilik kısaca özetlemek gerekirse, isminden de anlaşılacağı gibi. Çalışacak en basit şeyi direk yapmak. Yani sizden üç programı da istiyorlarsa, önce hangisi basit ise onun yapılması ve sonrasında diğer işlere geçilmesi.

Maalesef bu karar sizin elinizde değil, siz basit bir yazılımcısınız. Bunun kararı maalesef sistemi dizayn eden kişide – muhtemelen müdür. Bu yüzden projenizin “Death March” adı verilen, hiç bitmeyen ve sürekli over budget olan bir projeye dönüşmesi ise an meselesi.

Her gün bir AP yazsam yine de elimdeki liste bitmez ama yazmadan da olmayacak. Eğer sizin de böyle 007 James Bond tarzı bir programınız şirketinizde yapılıyorsa yorumlarda bana katılmanızı bekleyeceğim. Bir sonraki AP’de görüşmek üzere.

Not: Bu arada ekleyecektim ama unutmuşum, sonradan aklıma geldi. Bu tip seçimler yapan kişilere Occam’ın Usturası1 ile saldırabilirsiniz;

Şeyler gerektirmedikçe çoğaltılmamalıdır! Başka bir deyişle, bir problem var ise her zaman en mantıklı ve basit olan açıklama “esas açıklama” olarak kabul edilmelidir.


  1. Occam’ın Usturası: (http://tr.wikipedia.org/wiki/Ockham’ın_Usturası)