Sen Başla Sonra Değiştiririz
Planlı olmak yapabildiğim en mükemmel şey değil. Kendimi en fazla 3 ay planlayabildim. Bana çok fazla şey kattığını söyleyemem. Çünkü benimsediğim hayat biçimi buna uygun değil.
Planlar Sonradan Değiştirilmemeli
Yaptığınız şeyler yemek pişirmek ve yemek, kitap okumak ve yan projeler ise bunları planlamanız çok önemli değildir. Ama bazı şeyler vardır ki planlı olması lazım. Örneğin yazılım şirketlerinde yer alan projeler. Bu projelerin planlanması tıpkı bir plastik fabrikası yönetiliyor gibi yapılmalıdır.
Plansızlığın Maliyeti Zamandır ve Önemsenmelidir
Örneğin üretim sürecine girecek bir ürün şeklinin, ebatlarının ve içerisindeki madde yoğunluğunun o anda çalışan makine operatörüne bırakılması hem fabrikada bir karmaşaya yol açacaktır hem de maddi anlamda kayba neden olacaktır. Burada paradan bahsediyoruz.
Yazılım geliştirme süreçlerinin maddi karşılığı ise zamandır. Zaman gibi değerli bir aracı gereksiz yere harcadığımızda, geriye kalan tek şey ise “keşke” oluyor.
Plansız Süreç Arzular Doğurur
Plansız süreç, iyileştirme arzulu bir düşüncedir.
Ancak bizim arzulardan çok daha fazlasına ihtiyacımız vardır. Arzu ederek koskoca bir süreci tamamlayamazsınız.
Hoşuma Gitti Tabanlı Süreçler Zarar Verir
Yukarıdaki operatör örneğinden yola çıkarak bizim meslekte çokça karşımıza çıkan bir şeyi söylemek istiyorum. Eğer kurumsal bir şirkette çalışmıyorsanız ve “plan nerede, tasarım nerede” gibi soruları sorduğunuzda alacağınız cevap “sen başla sonra değiştiririz” olacaktır. Tamamen aynısı olmayabilir kabul ama cevaptaki niyet bunu içerecektir.
Yaşanabilecek sorunlar aşağı yukarı bellidir. Proje yöneticisi var ise o, yok ise patron yazılımcının kafasına göre ortaya çıkardığı şablonu beğenmeyecektir. Bu sadece son kullanıcının gördüğü kısımla alakalı bir sorun. Eğer problem arka tarafta yaşanıyor ise zaten sorunun büyüğü orada yaşanır.
Mesela bir menüden bahsedecek olursak yazılımcının kafasında iyi görüntü, menünün ortada yer aldığı bir görüntüdür. Ancak bu menü, alt menüleri ile birden fazla karmaşayı da destekler halde şekillendirilmiş olabilir. En sonunda görüntüye onay verecek kişi bunu beğenmeyip sola ya da sağa yaslayalım diyebilir. Onlar bu işin 1–2 dakikalık işlemle düzeltilebileceğini düşünse de pek böyle olmayabiliyor.
Gelecek İhtiyaçları Planlanmalıdır
Gelecekte oluşabilecek ihtiyaçlar düşünülmeden tasarlanmış bir sistem ise ayrıca bir sorun. Örneğin bir adet üye kayıt sayfasına sahipsiniz. İlk aşamada fotoğraf ya da galeri gibi bir alan istenmiyor. Fakat daha sonra isteniyor ayrıca bu alanında başka complex işleri yapması bekleniyor.
Henüz geliştirilen ürün yayına çıkmadan, testleri yapılamadan o anki “ah şu da olsun” düşüncesi ile yeni özellikler sistem geliştirilmeye devam edilir.
İşin garibi başlangıçta belirtilen deadline çoktan aşılmıştır. Bitirilememe nedeni ise sürekli olarak son anda gelen istekler. Projenin bir türlü çıkarılamama nedeni yazının da başlığını oluşturan “sen başla sonra değiştiririz” cümlesi oluyor aslında.
Ama proje yöneticisi ya da patron bu projenin benzerlerini araştırıp gerekli olabilecek şeyleri tartışmak için 30 dakika zaman harcamış olsaydı muhtemelen yukarıdaki sancılı süreç yaşanmamış olacaktı. Her şeyi belli olan bir projede “şimdi ne yapacağız?” gibi sorular da ortaya çıkmayacaktır.
Sonuç Olarak Ne Yapılmalı?
1-) Mutlaka her süreç planlanmalı, plan sonradan oluşturulmamalı
2-) Ben öyle istiyorum düşüncesi terk edilmeli, egodan daha önemli olan mantıksal kararlar alınmalı
3-) Ortaya çıkarılacak plana yazılımcı da dahil edilmeli ve yazılımcı egosu ikna edilmeli
4-) Gelecekte oluşabilecek isteklere göre yazılım süreci tasarlanmalı
5-) Zamana saygı duymalısınız. Zaman günümüz şartlarında geriye alınan bir şey olmadığı için kaybolan şeyin telafisi de zor olabilir. Bunu bilerek her şeyi düşünmelisiniz.
6-) Yazılımcıya saygı duyun ve mevkiniz gereği ortaya çıkan egoyu ona yansıtmadan ona güvenin.
7-) Son olarak en ufak bir geliştirme sürecini bile hafife almayın.