Yazılım projeleri neden gecikir? İşveren tarafından bakış
Gecikmenin sebebi çoğu zaman yavaş çalışılması değil, baştan yanlış anlaşılmasıdır. Müşteri olarak gecikmeyi önlemek için yapabilecekleriniz.
Yazılım projelerinin gecikmesi sektörde neredeyse bir klişe. Ama gecikmenin sebebi çoğu zaman sanıldığı gibi “yazılımcının yavaş çalışması” değildir.
Bu yazıyı, bir yazılım firması olarak kendi süreçlerimizden ve gecikmiş projelerden öğrendiklerimizle yazdık. Amacı suç dağıtmak değil; müşteri tarafında hangi kararların projeyi hızlandırdığını göstermek.
1. Kapsamın baştan net olmaması
En büyük sebep bu. Proje “personel takip programı” diye başlar. Üçüncü haftada “bir de servis güzergâhı ekleyelim” denir. Beşinci haftada prim hesabı gelir. Her biri makul isteklerdir ama proje artık başladığı proje değildir.
Ne yapmalı: İlk aşamada neyin yapılmayacağını da yazılı hale getirin. “Prim hesabı ikinci aşamada” cümlesi, “prim hesabı da olsun” cümlesinden çok daha değerlidir.
Yeni istekleri reddetmek gerekmez; ikinci aşamaya almak yeterlidir. Önemli olan ilk teslimin tarihinin korunmasıdır.
2. Karar verecek kişinin belirsiz olması
Ekran tasarımı gösterilir, üç kişi bakar, üçü farklı şey söyler. Hangisinin geçerli olduğu belli değildir. Bir hafta geçer.
Ne yapmalı: Projenin tek bir karar vericisi olsun. Başkaları görüş bildirebilir ama son sözü söyleyen tek kişi olmalı. Bu kişinin projeye zaman ayırabilecek durumda olması da şart — en yoğun yöneticiyi atamak, projeyi onun takvimine bağımlı hale getirir.
3. Gerçek sürecin farklı işlemesi
Anlatılan süreç ile sahada işleyen süreç çoğu zaman aynı değildir. Yönetici “mal kabulde şöyle yapılır” der; depoda çalışan kişi yıllardır başka türlü yapmaktadır.
Program anlatılana göre yazılır, sahada kullanılmaya başlandığında uymadığı görülür ve baştan düzenlenir.
Ne yapmalı: Analiz aşamasında işi fiilen yapan kişiyle konuşulmasını sağlayın. Bir saatlik depo ziyareti, üç saatlik toplantıdan daha fazla bilgi verir.
4. Veri hazırlığının hafife alınması
“Mevcut verileri aktarırız” cümlesi kolay söylenir. Gerçekte o veri şöyledir: aynı müşteri üç farklı isimle kayıtlıdır, ürün kodları tutarsızdır, bazı alanlar boştur.
Veri temizliği çoğu projede en uzun süren aşamadır ve genelde planlanmaz.
Ne yapmalı: Aktarılacak veriyi projenin başında inceletin. Temizlik gerekiyorsa bunu projeye paralel yürütün; teslim haftasına bırakmayın.
5. Testin son güne bırakılması
Program teslim edilir, “bir bakarız” denir, iki hafta kimse bakmaz. Sonra kullanılmaya başlanır ve eksikler o zaman çıkar — canlı ortamda, iş yoğunluğunun ortasında.
Ne yapmalı: Her modül tamamlandığında test edin. Testi yapacak kişiye bunun için zaman ayrılmalı; günlük işinin arasına sıkıştırılan test yapılmamış sayılır.
6. Onayların beklemesi
Yazılım tarafı ekranı gösterir, cevap on gün sonra gelir. Bu süre projeye doğrudan eklenir ama genelde “yazılımcı geç teslim etti” diye hatırlanır.
Ne yapmalı: Geri bildirim için makul bir süre belirleyin — örneğin üç iş günü. Bu sürenin aşılması durumunda takvimin de kayacağını baştan kabul edin.
7. Eğitimin atlanması
Program hazırdır, kullanılmaya başlanır ama kimse tam olarak nasıl kullanılacağını bilmez. Sonuç: “program çalışmıyor” şikâyeti gelir, oysa çalışan ekranı bulamamaktadır.
Ne yapmalı: Eğitimi projenin bir aşaması olarak planlayın. Kısa ve tekrarlanabilir olsun; tek seferlik uzun bir toplantı yerine, kullanmaya başladıktan bir hafta sonra ikinci bir tur yapın.
Sağlıklı bir projenin işaretleri
Bir yazılım projesinin yolunda gittiğini gösteren dört işaret:
- Kapsam yazılı ve iki tarafta da aynı belge var
- Tek karar verici belli ve ulaşılabilir
- Parça parça teslim yapılıyor, sonu beklenmiyor
- Düzenli kısa görüşmeler var — haftada yarım saat yeterli
Dördüncü madde küçük görünür ama en etkilisidir. Haftada bir yapılan on beş dakikalık bir görüşme, sapmaları büyümeden yakalar.
Gecikme olduğunda
Her projede sapma olur; bu normaldir. Önemli olan nasıl yönetildiğidir.
Sağlıklı yaklaşım şudur: gecikme fark edildiği anda söylenir, sebebi açıklanır ve yeni takvim birlikte belirlenir. Sağlıksız yaklaşım ise gecikmenin teslim tarihinde öğrenilmesidir.
Bir yazılım firmasıyla çalışırken bakmanız gereken şey, hiç gecikme olmayacağı vaadi değil — gecikme olduğunda size ne zaman ve nasıl söylendiğidir.
- proje yönetimi
- yazılım süreci
- dijitalleşme