Yazılım Projesinde İhtiyaç Analizi Nasıl Yapılır?

Bir yazılım projesinin bütçesini ve süresini en çok etkileyen adım, kod yazılmadan önce yapılan ihtiyaç analizidir. Adım adım nasıl yapılacağını anlatıyorum.

İçindekiler
  1. İhtiyaç analizi neden bu kadar önemli?
  2. Yazılım projesi ihtiyaç analizi adım adım
  3. Analiz sonunda elinizde ne olmalı?
  4. Sık yapılan analiz hataları
  5. Analiz ile teklif arasındaki bağ
  6. Bu işi nasıl birlikte yaparız?
  7. Sık sorulan sorular
  8. Sonuç

“Bize bir program lazım, siparişleri takip etsin” cümlesiyle başlayan bir görüşme, iki saat sonra on beş farklı ekranı, üç kullanıcı tipini ve iki entegrasyonu içeren bir listeye dönüşebilir. İşte bu dönüşümü kontrollü biçimde yapmanın adı yazılım projesi ihtiyaç analizidir. Kod yazılmadan önce yapılan bu çalışma, projenin süresini, maliyetini ve sonunda gerçekten işe yarayıp yaramayacağını belirleyen en kritik adımdır. Bu yazıda ihtiyaç analizinin nasıl yapıldığını, hangi soruların sorulduğunu ve sonunda elinizde ne olması gerektiğini anlatıyorum.

İhtiyaç analizi neden bu kadar önemli?

Bir yazılım projesinde yanlış anlaşılan bir gereksinim, ne kadar geç fark edilirse düzeltmesi o kadar pahalıya mal olur. Kâğıt üzerindeki bir değişiklik birkaç dakikalık iştir; canlıya alınmış bir sistemde aynı değişiklik veritabanını, ekranları ve raporları etkileyebilir.

İyi bir analiz şu faydaları sağlar:

  • Teklifin gerçekçi olmasını ve sonradan sürpriz ek maliyet çıkmamasını sağlar.
  • Geliştirici ile işletme arasında ortak bir dil oluşturur.
  • Gereksiz özellikleri ayıklayarak süreyi kısaltır.
  • Teslimde “bunu böyle istememiştik” tartışmasının önüne geçer.

Yazılım projesi ihtiyaç analizi adım adım

Analizin karmaşık belgelerle dolu olması gerekmez. Küçük ve orta ölçekli projelerde aşağıdaki adımlar çoğu zaman yeterlidir.

1. Amacı tek cümleyle yazın

“Bu yazılım bittiğinde hangi sorun çözülmüş olacak?” sorusunun cevabını tek cümleyle yazın. Örneğin: “Saha ekibinin servis formlarını kâğıt yerine tabletten doldurması ve ofisin bunları anında görmesi.” Bu cümle, sonraki tüm kararlar için pusula olur.

2. Kullanıcıları ve rollerini belirleyin

Sistemi kim kullanacak? Yönetici, satış personeli, depo sorumlusu, müşteri… Her rolün neyi görebileceği ve neyi değiştirebileceği ayrı ayrı yazılmalıdır. Yetki yapısı, projenin karmaşıklığını doğrudan etkiler.

3. Mevcut süreci olduğu gibi anlatın

Bugün iş nasıl yapılıyor? Hangi form dolduruluyor, kime iletiliyor, nerede bekliyor? Kullandığınız Excel tablolarını, kâğıt formları ve ekran görüntülerini paylaşmak bu aşamada çok değerlidir. Mevcut süreci anlamadan yeni süreci tasarlamak, temeli görmeden kat çıkmaya benzer.

4. Hedef süreci tasarlayın

Yazılım devreye girdiğinde aynı iş nasıl yapılacak? Burada amaç, mevcut süreci olduğu gibi dijitale taşımak değil, gereksiz adımları ayıklamaktır. Kimi zaman analiz sırasında bir onay adımının aslında hiç gerekmediği ortaya çıkar.

5. Verileri ve raporları listeleyin

Hangi bilgiler tutulacak (müşteri, ürün, sipariş, servis kaydı…) ve yönetici hangi raporu görmek istiyor? Rapor ihtiyacı, hangi verinin hangi ayrıntıda kaydedilmesi gerektiğini belirler.

6. Dış sistemleri belirleyin

Muhasebe programı, e-ticaret sitesi, kargo firması, SMS ya da e-posta servisi gibi bağlantı kurulacak sistemleri listeleyin. Her entegrasyon ayrı bir iş kalemidir ve kapsamı etkiler.

7. Önceliklendirin

Ortaya çıkan listeyi üç gruba ayırın: olmazsa olmaz, olsa iyi olur, sonraya kalabilir. İlk sürümü yalnızca birinci grupla sınırlamak, projeyi hızla kullanılabilir hâle getirir. Bu yaklaşımın mantığını MVP nedir yazısında ayrıntılı anlattım.

Analiz sonunda elinizde ne olmalı?

Analiz tamamlandığında geliştiriciyle aranızda paylaşılan, yazılı ve anlaşılır bir belge olmalıdır. Bu belgenin içeriği kabaca şöyledir:

Bölüm İçerik
Amaç ve kapsam Projenin çözeceği sorun ve sınırları
Kullanıcı rolleri Her rolün yetkileri
Ekran listesi Hangi ekranlar olacak, her birinde neler yapılacak
Veri modeli özeti Tutulacak temel kayıtlar ve ilişkileri
Entegrasyonlar Bağlanılacak dış sistemler
Raporlar İstenen rapor ve listeler
Kapsam dışı Bu sürümde yapılmayacak olanlar

“Kapsam dışı” bölümü sıklıkla atlanır ama en az diğerleri kadar önemlidir. Neyin yapılmayacağını yazmak, beklentileri netleştirir.

Sık yapılan analiz hataları

  • Çözümü tarif edip sorunu anlatmamak: “Bir açılır menü olsun” yerine “personel hangi şubede çalıştığını seçmeli” demek, geliştiriciye daha iyi bir çözüm bulma alanı tanır.
  • Uç durumları atlamak: Sipariş iptal edilirse, ürün iade gelirse, personel işten ayrılırsa ne olacak? Bu sorular erken cevaplanmalıdır.
  • Tek kişinin görüşüyle yetinmek: Yönetici ile sahada çalışan personelin ihtiyacı farklıdır. Her iki tarafı da dinlemek gerekir.
  • Her şeyi ilk sürüme koymak: Öncelik belirlemeyen analiz, bitmeyen projeye dönüşebilir.

Analiz öncesinde kendi tarafınızda hazırlık yapmak isterseniz yazılım projesi brief hazırlama yazısındaki şablon işinize yarayabilir.

Analiz ile teklif arasındaki bağ

Sağlam bir yazılım projesi ihtiyaç analizi, farklı geliştiricilerden gelen teklifleri karşılaştırmayı da kolaylaştırır. Herkes aynı belgeye fiyat verdiğinde, rakamlar arasındaki farkın nereden geldiğini sorgulayabilirsiniz. Teklifleri hangi ölçütlerle değerlendirmeniz gerektiğini yazılım teklifi nasıl değerlendirilir yazısında anlattım.

Analiz olmadan verilen teklifler ya çok yüksek (belirsizliğe karşı pay bırakıldığı için) ya da çok düşük (kapsam eksik anlaşıldığı için) olur. Her iki durum da proje ilerledikçe sorun çıkarır.

Kısa bir örnek senaryo

Bir teknik servis firması düşünün. İlk talep “servis kayıtlarını tutan bir program” olsun. Analiz sırasında teknisyenlerin sahada internet bulamadığı, müşterinin imzasının alınması gerektiği ve yedek parçaların depodan düşülmesi gerektiği ortaya çıkar. Bu üç bilgi, analiz yapılmadan verilen bir teklifte hiç yer almazdı; proje ortasında fark edildiğinde ise hem süreyi hem bütçeyi ciddi biçimde etkilerdi.

Bu işi nasıl birlikte yaparız?

Benimle çalışan işletmelerde ihtiyaç analizi genellikle şu şekilde ilerler:

  1. Keşif görüşmesi: İşinizi, mevcut araçlarınızı ve sorun yaşadığınız noktaları dinlerim. Mümkünse işin yapıldığı yeri görmek ya da ekran paylaşımıyla mevcut tabloları incelemek isterim.
  2. Kullanıcılarla kısa görüşmeler: Sistemi her gün kullanacak bir iki kişiyle konuşarak sahadaki gerçek ihtiyacı netleştiririm.
  3. Analiz belgesi: Ekran listesi, roller, veriler ve kapsam dışı maddeleri içeren sade bir belge hazırlar, sizinle birlikte üzerinden geçerim.
  4. Teklif ve yol haritası: Onaylanan belgeye göre ilk sürümün teklifini ve sonraki aşamalar için öneriyi sunarım.

Projenizin analizine birlikte başlamak isterseniz iletişim sayfasından bana ulaşabilirsiniz.

Sık sorulan sorular

İhtiyaç analizi ne kadar sürer?

Projenin büyüklüğüne bağlıdır. Küçük bir panel için birkaç görüşme yeterli olabilirken çok birimli bir sistemde analiz daha uzun sürer. Önemli olan acele etmeden belirsizlikleri gidermektir.

İhtiyaç analizi için teknik bilgi gerekir mi?

Hayır. Sizden beklenen, işinizi ve sorunlarınızı anlatmanızdır. Teknik karşılıkları bulmak geliştiricinin işidir.

Analiz yapıldıktan sonra kapsam değişebilir mi?

Değişebilir; ancak değişiklikler yazılı olarak kaydedilmeli ve süre ile maliyete etkisi konuşulmalıdır. Analiz belgesi bu değişiklikleri yönetmek için bir referans noktası sağlar.

Analiz belgesi bana mı ait olur?

Bu, anlaşmaya bağlıdır. Belgenin size teslim edilmesi, ileride farklı bir geliştiriciyle çalışmak isterseniz de işinizi kolaylaştırır.

Sonuç

İyi yapılmış bir yazılım projesi ihtiyaç analizi, bütçe ve süre sürprizlerini azaltır, ortaya gerçekten kullanılan bir yazılım çıkmasını sağlar. Projenizi bu adımlarla netleştirmek isterseniz benimle iletişime geçebilirsiniz.