Makale Özeti

Yazılım projelerinin neden başarısız olduğu ile ilgili tecrübe aktarımı tadında olan ve sizin de kendinizden bir şeyler bulabileceğiniz bir yazı...

Makale

1. Müşteri memnuniyetsizliği

Projeler, müşterilerin ve son kullanıcıların gereksinimlerini tam anlamıyla karşıladıkları zaman başarılı sayılırlar. Proje bütçeye uygun ve zamanında bitmiş bir proje olsa bile müşteri memnuniyeti üst düzeyde değilse başarılı değildir.

2. Projenin zaman ve bütçe kısıtlarını fazlasıyla aşması

Proje ekibinin, proje kısıtlarını göz önünde bulundurmadan işleri sürdürmeleri başarısızlığı da beraberinde getirecektir. Bütçe ve zaman, proje kısıtlarından en önemlileridir. Proje, uygun olmayan bir bütçe ve/veya tahmin edilen zamandan çok sonra tamamlanırsa başarılı kabul edilmez. Neden zaman ve bütçe aşılır:

  • İyimser veya yanlış yapılan süre tahminleri (Hallederiz_Abi_Modeli” – “Kervanı_Yolda Düzelim_Modeli”) –> {Sonrasında} –> Yapacak_Birşey_Yok” –> “Ne_Yapın_Edin_Bitirin”
  • Belirsiz proje hedeflerinin verilmesi
  • Proje ilerleme süreçlerinin düzgün işlememesi, bu sürecin yanlış raporlanması
  • Yöneticinin yetersiz veya deneyimsiz olmasından dolayı kaynakları kötü yönetmesi
  • Proje geliştirme ekibinin yeterli kalitede olmaması
  • Projedeki yetki ve sorumlulukların yanlış dağıtılması
  • Ekip içindeki yetersiz ve/veya yanlış iletişim
  • Eksik takım ruhu

 

 3. Gereksinim analizlerinin proje genelindeki belirsizlikler yüzünden gerektiği gibi yapılamaması ve bunun neden olduğu sürekli değişiklikler

Gereksinimlerin toplandığı analiz süreci, yazılım geliştirme sürecinin en önemli aşamalarından biridir. Proje takımı, analiz süresince gereksinimleri dikkate alarak, ürünün tüm özelliklerini ayrıntılarıyla belirleyemezse, projenin başarısız olması kaçınılmazdır. Gereksinimler neden etkin olmaz:

  • Kullanıcıların sürece dahil edilmemeleri veya kullanıcılardan geribildirim alınmaması
  • Kullanıcının isteği anlaşılmadan “Nasıl olsa yaptığımı beğenir – EgoCoding” yaklaşımı
  • Kullanıcıyı yönlendirici sorular sorulması
  • Kullanıcının ekibi yanlış yönlendirmesi sonucunda Analiz ve Tasarım süreçlerinin birbirine girmesi (Ne sorusuna cevap aranacakken Nasıl sorusuna cevap bulunması)

4. Tamamlanan ürünün var olan sistemdeki diğer ürünlerle entegrasyonunda yaşanan problemler

Yazılım ürünleri, onu kullanacak olan işletmelerin var olan işleyiş ve çalışma yapılarını olumsuz derecede etkilememeli, hatta entegre olabilecek şekilde tasarlanmalıdır. Mevcut sorunları çözmek amacıyla satın alınan ürünün, işletmeyi yeni sorunlarla baş başa bırakması projeyi başarısız kılacaktır.

 5. Ürünün son kullanıcılar tarafından kolay kullanılamayışı (Kullanılabilirlik Sorunu)

Yazılım ürünleri, kullanıcılarla daima etkileşim halinde olacağından, kolay anlaşılır ve kullanışlı olmaları öncelikli gereksinim olarak görülmektedir. Proje ekibindeki geliştiriciler ürünü oluştururken, kullanıcıların kolay çalışmalarına yönelik ara yüzler tasarlanmalıdırlar. Örneğin:

  • Yazılımı kullanacak kişilerin profilleri (Ortalama yaş, öğrenim durumu, beklenti vb.) çıkartılmalı ve profillere göre kullanıcı ara yüzleri tasarlanmalıdır.
  • Kullanıcıları yönlendirici grafikler ve ikonlar kullanılmalıdır.
  • Kullanıcı ekranlarındaki zorunlu alanlar farklı renkle belirtilmelidir.
  • Yardım dokümanlarında kullanıcı terminolojisi kullanılmalıdır.
  • Kullanıcının gireceği veri miktarı olabildiğince az olmalıdır.
  • Sayfa yükleri azaltılmalıdır. Her sayfa tipi için ebatlar belirlenmeli ve bu ebat kesinlikle aşılmamalıdır.
  • Vb.

 6.  Kalite güvence ve kalite kontrol süreçlerinin eksikliği

  • Test sürecinin düzgün modellenememesi (test stratejisi, test planı, test senaryoları, kullanıcı kabul testleri vb.)
  • Gecikmelerden dolayı teste yeterince zaman ayrılamaması (Testten yemek)
  • Hata yönetimi yapılmaması
  • Kaynak kod kontrol yönetimi, değişim ve sürüm yönetimi yapılmaması
  • Kod gözden geçirme süreçlerinin işletilmemesi (Code Review)
  • Kodlama kalite standartlarının belirlenmemiş olması

7.  Proje sonunda gerekli eğitim ve desteğin verilememesi

Yazılım projeleri, kullanıcı ve yönetici eğitimi, altyapı sistemi ile uyumluluk, düzgün kurulum ve teknik destek gibi kavramlarla birlikte değerlendirilirler ve bunlardan birinde meydana gelen eksik veya sorunlar proje başarısızlığına neden olabilir.

www.denizkilinc.com