İçeriğe geç
DigiRise
Projenizi konuşalım

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

Özel Yazılım4 dk okuma

Özel yazılım projesinde ihtiyaç analizi, özellik listesi hazırlamaktan daha geniş bir çalışmadır. Amaç, işletmenin bugün hangi süreci nasıl yürüttüğünü, sorunun nerede oluştuğunu ve geliştirilecek sistemin hangi koşullarda başarılı kabul edileceğini netleştirmektir.

"CRM yapılacak", "panel lazım" veya "Excel yerine sistem istiyoruz" gibi ifadeler başlangıç noktasıdır. Teknik kapsam değildir.

Önce problemi tanımlayın

Çözümü tarif etmeden önce mevcut problemi yazın.

Zayıf tanım:

Sipariş takip yazılımı istiyoruz.

Daha kullanışlı tanım:

Siparişler e-posta ve Excel üzerinden takip edildiği için durum güncellemeleri farklı dosyalarda kalıyor, operasyon ekibi güncel kaydı bulmak için manuel kontrol yapıyor.

İkinci tanım, yazılımın hangi sorunu çözmesi gerektiği konusunda daha fazla bilgi verir.

Mevcut süreci adım adım çıkarın

Süreci ideal haliyle değil, bugün gerçekten nasıl yürüdüğüyle belgeleyin.

Örneğin:

  1. Talep e-posta ile geliyor.
  2. Satış çalışanı Excel'e kaydediyor.
  3. Yönetici fiyatı onaylıyor.
  4. Operasyon ayrı dosyaya bilgi giriyor.
  5. Müşteriye durum e-posta ile bildiriliyor.
  6. Tamamlanan iş muhasebeye aktarılıyor.

Her adım için şu bilgileri toplayın:

  • İşlemi kim yapıyor?
  • Hangi araç kullanılıyor?
  • Hangi veri giriliyor?
  • Sonraki adımı ne tetikliyor?
  • Nerede bekleme oluyor?
  • Hangi hatalar tekrar ediyor?
  • Hangi istisnalar var?

Kullanıcı rollerini belirleyin

Tek bir "kullanıcı" çoğu özel yazılım için yeterli tanım değildir.

Örneğin:

  • Yönetici
  • Satış
  • Operasyon
  • Muhasebe
  • Saha çalışanı
  • Müşteri
  • Bayi

Her rol için yetkileri ayrı yazın.

Rol Görebildiği veri Yapabildiği işlem Yapamaması gereken
Satış Kendi müşterileri Teklif oluşturma Finansal rapor silme
Operasyon Aktif işler Durum güncelleme Fiyat değiştirme
Yönetici Tüm kayıtlar Onay ve rapor

Bu çalışma hem arayüz hem güvenlik mimarisi için temel oluşturur.

Verinin kaynağını ve yaşam döngüsünü çıkarın

Yazılımda hangi verilerin tutulacağını yalnızca alan listesi olarak düşünmeyin.

Her kritik veri için şu soruları cevaplayın:

  • Nereden geliyor?
  • Kim oluşturuyor?
  • Kim değiştirebilir?
  • Hangi sistemlere gönderiliyor?
  • Ne kadar süre saklanıyor?
  • Silinebilir mi?
  • Geçmiş değişiklikler tutulmalı mı?

Örneğin müşteri adresi CRM'den geliyor, sipariş sırasında güncelleniyor ve ERP'ye gönderiliyorsa üç sistem arasındaki sahiplik netleşmelidir.

Entegrasyonları isim olarak değil işlem olarak yazın

"ERP entegrasyonu" kapsamı belli bir gereksinim değildir.

Bunun yerine:

Onaylanan sipariş, müşteri kodu ve ürün satırlarıyla ERP'ye aktarılacak. ERP'den oluşan sipariş numarası özel yazılımda ilgili kayda geri yazılacak.

gibi işlem tanımı gerekir.

Entegrasyon için kontrol edilecekler:

  • API mevcut mu?
  • Kimlik doğrulama yöntemi nedir?
  • Veri formatı nedir?
  • Hata durumunda ne olacak?
  • Tekrar deneme yapılacak mı?
  • Aynı kayıt iki kez gönderilebilir mi?
  • Test ortamı var mı?

Özellikleri iş hedefiyle ilişkilendirin

Her özellik için "neden gerekiyor?" sorusunu sorun.

Özellik Çözdüğü problem Kullanıcı İlk sürüm?
Otomatik görev atama Manuel dağıtım gecikiyor Operasyon Evet
PDF raporu Müşteri rapor istiyor Yönetici Değerlendir
Koyu tema Tercih Tüm kullanıcılar Hayır

Bu tablo, kapsam büyürken öncelikleri korumaya yardımcı olur.

İş kurallarını ayrı yazın

Özel yazılım projelerinde en fazla belirsizlik çoğu zaman ekranlardan değil iş kurallarından çıkar.

Örnek:

  • 10.000 TL üzerindeki teklifler yönetici onayı ister.
  • İptal edilmiş sipariş sevkiyata gönderilemez.
  • Operasyon çalışanı yalnızca kendine atanmış işleri kapatabilir.
  • Müşteri kaydı silinemez, pasif yapılabilir.

Bu kurallar kodlanabilir seviyede açık olmalıdır.

Kabul koşulları oluşturun

"Özellik çalışıyor" yerine test edilebilir koşul yazın.

Örneğin:

Özellik: Yeni müşteri oluşturma

Kabul koşulları:
- Yetkili kullanıcı müşteri adı ve telefonuyla kayıt oluşturabilir.
- Telefon alanı zorunludur.
- Aynı telefonla ikinci kayıt oluşturulursa kullanıcı uyarılır.
- Kayıt başarılı olduğunda müşteri listesinde görünür.
- Yetkisiz kullanıcı müşteri ekleme ekranına erişemez.

Bu koşullar geliştirme sonunda neyin teslim edildiği konusunda ortak referans oluşturur.

Fonksiyonel olmayan gereksinimleri unutmayın

İhtiyaç analizi yalnızca özelliklerden oluşmaz.

Ayrıca şu konular da değerlendirilmelidir:

  • Güvenlik
  • Performans
  • Yedekleme
  • Yetkilendirme
  • Denetim kayıtları
  • Mobil kullanım
  • Tarayıcı desteği
  • Dosya saklama
  • Veri hacmi
  • Eş zamanlı kullanıcı
  • Dil ve ülke gereksinimleri
  • Erişilebilirlik

Örneğin aynı sistem 5 kullanıcı ile 500 eş zamanlı kullanıcı için farklı teknik kararlar gerektirebilir.

Kopyalanabilir özel yazılım ihtiyaç analizi şablonu

1. PROBLEM
Bugün hangi sorun yaşanıyor?
Sorun kimleri etkiliyor?
Sorunun iş üzerindeki etkisi nedir?

2. MEVCUT SÜREÇ
Başlangıç olayı:
Adımlar:
Kullanılan araçlar:
Manuel işlemler:
Beklemeler:
Sık hatalar:
İstisnalar:

3. KULLANICILAR
Roller:
Her rolün yetkileri:
Rol bazlı veri görünürlüğü:

4. VERİ
Tutulacak ana kayıtlar:
Verinin kaynağı:
Veriyi güncelleyen taraf:
Saklama / silme ihtiyacı:

5. ENTEGRASYON
Bağlanılacak sistem:
Gönderilen veri:
Alınan veri:
Tetikleyici:
Hata senaryosu:

6. İLK SÜRÜM
Zorunlu özellikler:
Sonraki sürüm:
Kapsam dışı:

7. KABUL KOŞULLARI
Başarılı senaryo:
Başarısız senaryo:
Yetki kontrolü:
Beklenen çıktı:

8. OPERASYON
Hosting:
Yedekleme:
Destek:
Bakım:
Raporlama:

İyi bir ihtiyaç analizi, projedeki tüm belirsizliği ortadan kaldırmaz. Ancak hangi konuların net, hangilerinin araştırılacak veya karar verilecek durumda olduğunu görünür hale getirir. Bu da teklifin, mimarinin ve geliştirme sırasının daha sağlıklı oluşturulmasını sağlar.

özel yazılımihtiyaç analiziyazılım projesiiş analiziotomasyon

Benzer bir konuda yardım mı lazım?

Projenizi anlatın, nereden başlayacağımızı birlikte bulalım.

Bize yazın