← Back to list

İş Analisti ve Product Owner Yol Haritası Bölüm 2: Gereksinim Yönetimi (Requirements Management)

Bu bölümde, bir projede “ne yapılacağını” doğru şekilde ortaya çıkarmak, yazmak, önceliklendirmek ve takip etmekle ilgili tüm temel…

zişan yüce · 2026-07-06 08:04 · 0 claps · 9.0 min read
#gereksinim-analizi #requirements-engineering #i̇ş-analizi #product-management #business-development
Open on Medium ↗
Wiki topics: BIZ · Business Strategy 📋 · Product Management

İş Analisti ve Product Owner Yol Haritası Bölüm 2: Gereksinim Yönetimi (Requirements Management)

Bu bölümde, bir projede “ne yapılacağını” doğru şekilde ortaya çıkarmak, yazmak, önceliklendirmek ve takip etmekle ilgili tüm temel konuları sıfırdan anlatır. İş analizi ve proje yönetimi dünyasında en çok karşılaşılan kavramlar burada.

1. Gereksinim Nedir, Neden Önemlidir?

Gereksinim, bir ürün ya da sistemin karşılaması gereken bir ihtiyaç, koşul ya da beklentidir. Bir proje başarısız oluyorsa bunun en yaygın sebeplerinden biri, “yanlış şeyin” doğru yapılmış olmasıdır. Yani ekip teknik olarak harika bir iş çıkarır ama müşterinin gerçekte istediği şey bu değildir. İşte gereksinim yönetimi tam olarak bunu önlemek için vardır: doğru şeyi, doğru şekilde tanımlamak, belgelemek ve projenin sonuna kadar bu tanımın kaybolmamasını sağlamak.

2. Gereksinim Türleri

Gereksinimler tek bir çeşit değildir. Farklı seviyelerde ve farklı amaçlarla yazılırlar. Bunları bir piramit gibi düşünebilirsin: en tepede “neden bu projeyi yapıyoruz” sorusu, en altta ise “buton tam olarak ne yapmalı” sorusu vardır.

Fonksiyonel Gereksinimler

Sistemin ne yapması gerektiğini anlatır. Yani bir davranış, bir işlev tanımıdır. Örnek: “Kullanıcı şifresini unuttuğunda e-posta ile sıfırlama linki alabilmelidir.” Fonksiyonel gereksinimler genelde “sistem şunu yapmalıdır” cümle kalıbıyla yazılır ve test edilebilir olmalıdır.

Fonksiyonel Olmayan Gereksinimler (Non-Functional Requirements — NFR)

Sistemin ne yaptığından çok, nasıl yaptığıyla ilgilidir. Performans, güvenlik, kullanılabilirlik gibi kalite özellikleridir. Örnek: “Sayfa 2 saniyeden kısa sürede yüklenmelidir.” Bu konuyu aşağıda ayrı bir başlıkta detaylı işleyeceğiz.

İş Gereksinimleri (Business Requirements)

En üst seviyedeki gereksinimlerdir. Projenin neden yapıldığını, hangi iş hedefine hizmet ettiğini anlatır. Örnek: “Şirketin online satış gelirini bir yıl içinde %20 artırmak.” Bunlar genelde üst yönetim ya da sponsor tarafından ortaya konur ve BRD (Business Requirements Document) içinde toplanır.

Kullanıcı Gereksinimleri (User Requirements)

Sistemi kullanacak kişilerin bakış açısıyla yazılan gereksinimlerdir. “Kullanıcı olarak … yapabilmek istiyorum” formatındadır. Örnek: “Bir müşteri olarak, geçmiş siparişlerimi görebilmek istiyorum.” Bu genelde user story formatına çok yakındır ve iş gereksinimi ile fonksiyonel gereksinim arasında bir köprü görevi görür.

Çözüm Gereksinimleri (Solution Requirements)

İş ve kullanıcı gereksinimlerinin, çözüm bazında somutlaştırılmış halidir. İki alt türü vardır:

  • Fonksiyonel çözüm gereksinimleri: sistemin davranışı
  • Fonksiyonel olmayan çözüm gereksinimleri: kalite özellikleri

Yani aslında “çözüm gereksinimleri” bir üst kategori gibi düşünülebilir; fonksiyonel ve non-fonksiyonel gereksinimleri kapsar.

Geçiş Gereksinimleri (Transition Requirements)

Yeni sisteme geçiş sürecinde, sadece geçiş döneminde geçerli olan gereksinimlerdir; sistem tam olarak devreye girdikten sonra bu gereksinimlere artık ihtiyaç kalmaz. Örnek: “Eski sistemdeki müşteri verileri yeni sisteme aktarılmalıdır.” veya “Kullanıcılara yeni sistem için 2 haftalık eğitim verilmelidir.” Veri göçü (data migration), eğitim, paralel çalışma dönemi gibi konular buraya girer.

Özetle piramit şöyle işler:

İş gereksinimi (“gelirimizi artıralım”) → Kullanıcı gereksinimi (“müşteri kolayca sipariş verebilsin”) → Çözüm gereksinimi / fonksiyonel gereksinim (“sepete tek tıkla ekleme özelliği olsun”). Geçiş gereksinimleri ise bu üçünün yanında, sadece geçiş sürecine özel olarak durur.

3. Requirements Elicitation (Gereksinim Toplama) Teknikleri

Elicitation, paydaşlardan gereksinimleri ortaya çıkarma sürecidir. Dikkat: buna “toplama” demek biraz eksik kalır çünkü çoğu zaman paydaşlar ne istediklerini tam olarak bilmezler; iş analistinin görevi doğru soruları sorarak bunu ortaya çıkarmaktır (elicit = “ortaya çıkarmak” demektir).

  • Interview (Görüşme): Bir veya birkaç paydaşla birebir veya küçük grup halinde yapılan, derinlemesine soru-cevap oturumudur. Detaylı ve kişiye özel bilgi almak için en iyi yöntemlerden biridir ama zaman alıcıdır ve çok kişiyle yapılması zordur.
  • Survey / Questionnaire (Anket): Çok sayıda kişiye aynı soruları göndererek hızlıca genel eğilimleri ölçme yöntemidir. Geniş kitlelere ulaşmak için idealdir ama derinlemesine bilgi vermez, cevaplar yüzeysel kalabilir.
  • Observation (Gözlem): Kullanıcıyı kendi doğal ortamında, işini yaparken izlemektir. Kullanıcının “söylediği” ile “gerçekte yaptığı” arasındaki farkı ortaya çıkarır. Örneğin bir kullanıcı bir işlemi hep aynı yanlış sırayla yapıyor olabilir ama bunu görüşmede fark etmeyebilirsin; gözlemde bu net görülür.
  • Workshop (Çalıştay): Birden fazla paydaşı bir araya getirip, yüz yüze (veya online) ortak bir oturumda gereksinimleri tartışarak, çakışan görüşleri anında çözerek ilerleme yöntemidir. Hem hızlıdır hem de farklı paydaşların birbirini gerçek zamanlı duymasını sağlar.
  • Brainstorming (Beyin Fırtınası): Yaratıcı fikir üretmeye odaklanan, eleştiriden uzak, serbest fikir akışına dayalı bir tekniktir. Genelde çözümün henüz net olmadığı, yeni fikirlere ihtiyaç duyulan erken aşamalarda kullanılır.
  • Focus Group (Odak Grubu): Benzer özelliklere sahip küçük bir kullanıcı/müşteri grubuyla, moderatör eşliğinde yapılan tartışma oturumudur. Amaç, bir ürün veya fikir hakkında ortak algı ve tepkileri anlamaktır. Workshop’tan farkı, focus group’ta katılımcılar genelde son kullanıcı/müşteri profilindendir ve amaç görüş/algı toplamaktır, karar almak değildir.
  • Prototyping (Prototipleme): Kullanıcıya sistemin basit, çalışan ya da tıklanabilir bir taslağını göstererek geri bildirim almaktır. “Bunu mu demek istemiştin?” sorusuna somut bir cevap üretme şansı verir. Özellikle kullanıcıların soyut açıklamalardan gereksinimlerini net ifade edemediği durumlarda çok etkilidir.
  • Doküman Analizi (Document Analysis): Mevcut sistem dökümanları, eski raporlar, mevzuat, süreç kılavuzları gibi kaynakları inceleyerek gereksinim çıkarma yöntemidir. Özellikle “as-is” (mevcut durum) süreçlerini anlamak için başlangıç noktası olarak kullanılır.

Pratikte bu tekniklerin hiçbiri tek başına yeterli olmaz; genelde birkaçı bir arada kullanılır (örneğin önce doküman analizi, sonra görüşmeler, sonra bir workshop ile onaylama).

4. Requirements Analysis ve Modelleme

Elicitation ile ham gereksinimler toplandıktan sonra, bunların analiz edilmesi gerekir. Analiz aşamasında yapılanlar:

  • Toplanan bilgileri organize etmek (kategorilere ayırmak, gruplamak)
  • Çelişkileri ve boşlukları tespit etmek (iki paydaş birbirine zıt şeyler söylemiş olabilir)
  • Gereksinimleri netleştirmek (belirsiz, yoruma açık ifadeleri somutlaştırmak)
  • Gereksinimleri modellemek, yani görselleştirmek

Modelleme, karmaşık gereksinimleri görsel diyagramlarla ifade etmektir çünkü insan beyni metinden çok görsel yapıları daha kolay anlar. Yaygın modelleme teknikleri:

  • Use Case Diagramları: Kullanıcının (aktör) sistemle nasıl etkileşime girdiğini gösterir.
  • Süreç Akış Diyagramları (Process Flow / BPMN): Bir sürecin adım adım nasıl işlediğini gösterir.
  • Veri Modelleri / ER Diyagramları: Verinin nasıl yapılandığını ve ilişkilendiğini gösterir.
  • User Story Map: Kullanıcı yolculuğunu adımlara bölerek gereksinimleri bu yolculuğa yerleştirir.
  • Wireframe / Mockup: Ekranların taslak görsel tasarımıdır, arayüz gereksinimlerini somutlaştırır.

Analiz aşamasının çıktısı genelde net, çelişkisiz, önceliklendirilmeye hazır bir gereksinim listesidir.

5. Requirements Validation vs Verification

Bu iki kavram sık karıştırılır ama aralarındaki fark aslında çok basit bir soruyla özetlenebilir:

  • Verification (Doğrulama): “Bunu doğru yapıyor muyuz?” Yani gereksinim dokümanına göre sistem doğru inşa edilmiş mi? Spesifikasyona uygunluk kontrolüdür. Teknik bir kontroldür — dokümanla ürünü karşılaştırırsın.
  • Validation (Geçerleme): “Doğru şeyi mi yapıyoruz?” Yani üretilen sistem, gerçekten paydaşın ihtiyacını karşılıyor mu? Belgeye uygun olsa bile, belgenin kendisi yanlışsa validation burada devreye girer. Kullanıcıyla veya iş sahibiyle birlikte kontrol edilir.

Basit bir örnekle: Bir ekip “kullanıcı adı 5 karakter olmalı” diye yazılmış bir gereksinimi eksiksiz kodlarsa, verification açısından başarılıdır (dokümana uygun). Ama gerçekte kullanıcılar bu kısıtlamadan çok rahatsızsa ve iş ihtiyacını karşılamıyorsa, bu validation açısından başarısızdır (yanlış gereksinim yazılmış).

Kısa formül: Verification = Spesifikasyona uygun mu? / Validation = İhtiyacı karşılıyor mu?

6. Requirements Traceability (İzlenebilirlik) ve Traceability Matrix (RTM)

Traceability, bir gereksinimin nereden geldiğini ve nereye gittiğini takip edebilme yeteneğidir. Yani bir iş gereksiniminin hangi kullanıcı hikayesine, hangi tasarım kararına, hangi kod parçasına, hangi test senaryosuna bağlı olduğunu görebilmektir.

İki yönü vardır:

  • Geriye doğru izlenebilirlik (backward traceability): Bir gereksinimin hangi ihtiyaçtan/kaynaktan doğduğunu gösterir.
  • İleriye doğru izlenebilirlik (forward traceability): Bir gereksinimin hangi tasarım, kod ve test unsuruna dönüştüğünü gösterir.

Neden önemlidir?

  • Bir gereksinim değiştiğinde, hangi tasarım/kod/testin etkileneceğini hemen görebilirsin.
  • Bir test senaryosunun hangi gereksinimi kapsadığını kanıtlayabilirsin (özellikle denetim/regülasyon gerektiren projelerde kritik).
  • “Bu özellik neden var?” sorusuna her zaman cevap verebilirsin.
  • Scope creep’i (kapsam kaymasını) fark etmeni sağlar — kaynağı olmayan bir gereksinim ortaya çıkarsa bu bir uyarı işaretidir.

Traceability Matrix (RTM): Bunu bir tablo olarak düşün. Satırlarda gereksinimler, sütunlarda ise bu gereksinimin bağlı olduğu diğer unsurlar (iş ihtiyacı, tasarım dokümanı, kod modülü, test senaryosu) yer alır. Örnek basit bir RTM yapısı:

Bu matris sayesinde her gereksinimin projenin sonuna kadar “kaybolmadığını” garanti altına alırsın.

7. Requirements Prioritization (Önceliklendirme)

Her projede kaynaklar (zaman, bütçe, ekip) sınırlıdır; bu yüzden tüm gereksinimleri aynı anda yapmak mümkün değildir. Önceliklendirme, “önce neyi yapacağız” sorusuna sistematik cevap verir.

MoSCoW

En bilinen ve en basit yöntemlerden biridir. Gereksinimleri dört gruba ayırır:

  • Must have (Olmazsa olmaz): Bu olmadan ürün işe yaramaz veya yasal/temel bir zorunluluktur.
  • Should have (Olsa iyi olur, önemli): Önemlidir ama olmasa da ürün çalışır; genelde alternatif bir çözümü vardır.
  • Could have (Olursa iyi olur, isteğe bağlı): Küçük, “nice to have” iyileştirmelerdir, etkisi görecelidir düşüktür.
  • Won’t have (Bu sefer olmayacak): Bu sürümde/projede kapsam dışı bırakılan, ama gelecekte değerlendirilebilecek gereksinimlerdir.

MoSCoW hızlı ve kolay anlaşılır olduğu için özellikle paydaşlarla önceliklendirme tartışmalarında sıkça kullanılır.

RICE

Daha sayısal ve karşılaştırmalı bir yöntemdir; özellikle ürün yönetiminde (product management) popülerdir. Dört kritere bakar ve bir skor hesaplar:

  • Reach (Erişim): Bu özellik belirli bir zaman diliminde kaç kullanıcıyı etkileyecek?
  • Impact (Etki): Etkilenen kullanıcı üzerindeki etkisi ne kadar büyük? (genelde 0.25–3 arası bir skala ile puanlanır)
  • Confidence (Güven): Bu tahminlere ne kadar güveniyoruz? (yüzde olarak, örneğin %80)
  • Effort (Efor): Bunu yapmak ne kadar iş/zaman/kaynak gerektiriyor? (kişi-ay gibi birimlerle)

Formül: RICE Skoru = (Reach × Impact × Confidence) / Effort

Skor ne kadar yüksekse, o gereksinim o kadar önceliklidir. RICE, “hislere” değil sayılara dayandığı için farklı fikirleri objektif şekilde karşılaştırmaya yardımcı olur.

Kano Modeli

Müşteri memnuniyeti ile özellik varlığı arasındaki ilişkiyi inceleyen bir modeldir. Gereksinimleri şu kategorilere ayırır:

  • Temel (Must-be / Basic): Müşteri bunu zaten bekler; olmazsa çok rahatsız olur ama olduğunda özel bir memnuniyet yaratmaz. (Örnek: bir arabanın frenlerinin çalışması.)
  • Performans (Performance/One-dimensional): Ne kadar çok/iyi olursa, memnuniyet de o kadar artar; doğrusal bir ilişki vardır. (Örnek: yakıt tüketiminin düşük olması.)
  • Heyecan Verici (Excitement/Delighter): Müşteri bunu beklemiyordu ama olduğunda çok mutlu olur; olmasa da rahatsız olmaz. (Örnek: beklenmedik bir ek özellik.)
  • Kayıtsız (Indifferent): Müşteri için önemi yoktur, olsa da olmasa da fark etmez.
  • Ters (Reverse): Bazı müşteriler için özelliğin varlığı memnuniyeti azaltır (fazla karmaşıklık gibi).

Kano modeli, “hangi özellik gerçekten fark yaratır” sorusuna cevap ararken kullanılır; anket bazlı bir yöntemle müşterilere sorular sorularak uygulanır.

Value vs Effort Matrisi

Basit ama çok kullanışlı bir görsel araçtır. İki eksenli bir grafik düşün: bir eksen değer/etki, diğer eksen efor/maliyet. Gereksinimler bu grafiğe yerleştirilir ve dört bölge ortaya çıkar:

  • Yüksek değer, düşük efor: “Quick win” — hemen yapılmalı.
  • Yüksek değer, yüksek efor: Büyük projeler — planlanarak yapılmalı.
  • Düşük değer, düşük efor: İsteğe bağlı, boş zamanlarda yapılabilir.
  • Düşük değer, yüksek efor: Genelde yapılmamalı, kaynak israfı olur.

Bu matris özellikle ekiplerin hızlıca ortak bir görsel üzerinden tartışıp karar vermesini sağlar.

8. Requirements Change Management / Scope Creep

Gereksinimler proje boyunca sabit kalmaz; iş ihtiyaçları değişir, yeni bilgiler ortaya çıkar, pazar koşulları değişir. Bu yüzden değişiklik yönetimi (change management) süreci gereklidir. Amaç değişikliği engellemek değil, değişikliği kontrollü şekilde yönetmektir.

Tipik bir değişiklik yönetim süreci şöyle işler:

  1. Değişiklik talebi (Change Request) resmi olarak sunulur.
  2. Talebin projeye etkisi değerlendirilir (zaman, maliyet, kaynak, risk).
  3. İlgili paydaşlar veya bir değişiklik kurulu (Change Control Board) talebi onaylar veya reddeder.
  4. Onaylanan değişiklik dokümante edilir, traceability matrisine işlenir, plana yansıtılır.

Scope Creep (Kapsam Kayması) ise bu resmi süreç izlenmeden, küçük küçük, fark edilmeden gereksinimlerin projeye eklenmesidir. Örneğin “sadece küçük bir buton ekleyelim”, “bu da olsun zaten kolaydır” gibi taleplerin resmi onay olmadan sürekli kabul edilmesi zamanla projeyi başlangıçta planlanandan çok daha büyük, çok daha pahalı ve çok daha geç teslim edilen bir hale getirir.

Scope creep’i önlemenin yolları:

  • Her değişikliği, ne kadar küçük görünürse görünsün, resmi süreçten geçirmek.
  • Baseline (temel kabul edilen) gereksinim setini net şekilde dondurmak ve dokümante etmek.
  • Traceability matrisini güncel tutarak kaynağı olmayan gereksinimleri fark edebilmek.
  • Paydaşlara değişikliğin zaman/maliyet etkisini şeffaf şekilde göstermek.

9. BRD (Business Requirements Document)

BRD, projenin iş seviyesindeki gereksinimlerini anlatan üst düzey bir dokümandır. Genelde proje başlarken, iş sahipleri ve sponsorlarla birlikte hazırlanır. İçinde tipik olarak şunlar bulunur:

  • Projenin amacı ve iş hedefleri
  • Mevcut durum (as-is) ve hedeflenen durum (to-be) özeti
  • Kapsam (nelerin dahil, nelerin hariç olduğu)
  • Paydaş listesi
  • Üst düzey iş gereksinimleri
  • Başarı kriterleri / KPI’lar
  • Varsayımlar ve kısıtlar

BRD teknik detay içermez; “ne” ve “neden” sorularına odaklanır, “nasıl” sorusuna girmez. Hedef kitlesi teknik olmayan iş paydaşlarıdır.

10. FRS / FSD (Functional Requirements Specification / Document)

FRS (bazen FSD olarak da geçer), BRD’de tanımlanan iş ihtiyaçlarının, sistemin fonksiyonel davranışına dönüştürülmüş halidir. Yani “sistem ne yapmalı” sorusuna cevap verir. İçeriğinde genelde:

  • Detaylı fonksiyonel gereksinim listesi (sistem şunu yapmalı, bunu yapmalı)
  • Ekran/arayüz davranışları
  • İş kuralları (business rules)
  • Kullanıcı rolleri ve yetkileri
  • Use case’ler veya user story’ler

FRS, BRD’den daha teknik ama SRS’den (aşağıda) daha az teknik bir orta katmandır. Genelde iş analistleri tarafından, hem iş tarafının hem geliştirme ekibinin anlayabileceği bir dilde yazılır.

11. SRS (Software Requirements Specification)

SRS, en teknik seviyedeki gereksinim dokümanıdır ve doğrudan geliştirme ekibi için yazılır. IEEE gibi kuruluşların standart şablonları vardır. İçeriğinde genelde:

  • Fonksiyonel gereksinimlerin çok detaylı, teknik açıdan uygulanabilir tanımları
  • Fonksiyonel olmayan gereksinimler (performans, güvenlik vb.)
  • Sistem mimarisiyle ilgili kısıtlar
  • Arayüz gereksinimleri (donanım, yazılım, ağ arayüzleri)
  • Veri gereksinimleri ve veri modelleri
  • Kabul kriterleri

BRD → FRS → SRS zinciri şu şekilde özetlenebilir: BRD “neden yapıyoruz” der, FRS “sistem ne yapmalı” der, SRS “bunu teknik olarak nasıl inşa edeceğiz” için gereken tüm detayı verir. Her doküman bir öncekinden daha somut ve daha teknik hale gelir.

12. Non-Functional Requirements (NFR) — Örnekler

NFR’ler sistemin kalite özelliklerini tanımlar. En sık karşılaşılan kategoriler:

  • Performans: Sistemin hız ve verimlilik özellikleri. Örnek: “Arama sonuçları 1 saniye içinde dönmelidir.” veya “Sistem aynı anda 10.000 kullanıcıya hizmet verebilmelidir.”
  • Güvenlik (Security): Verinin ve sistemin yetkisiz erişime, saldırılara karşı korunması. Örnek: “Kullanıcı şifreleri şifrelenmiş (encrypted) olarak saklanmalıdır.” veya “Sisteme sadece iki faktörlü kimlik doğrulama (2FA) ile giriş yapılabilmelidir.”
  • Ölçeklenebilirlik (Scalability): Sistemin artan yük altında (daha fazla kullanıcı, daha fazla veri) performansını koruyabilme yeteneği. Örnek: “Kullanıcı sayısı 3 kat artsa bile sistem ek sunucu eklenerek aynı performansı koruyabilmelidir.”
  • Kullanılabilirlik (Usability): Sistemin kullanıcılar tarafından ne kadar kolay öğrenilip kullanılabildiği. Örnek: “Yeni bir kullanıcı, hiçbir eğitim almadan 5 dakika içinde sipariş verebilmelidir.”
  • Erişilebilirlik (Accessibility): Engelli kullanıcılar dahil, herkesin sistemi kullanabilmesini sağlayan özellikler. Örnek: “Site, WCAG 2.1 AA standartlarına uygun olmalı, ekran okuyucularla (screen reader) uyumlu çalışmalıdır.”

Bunların dışında güvenilirlik (reliability), sürdürülebilirlik/bakım kolaylığı (maintainability), taşınabilirlik (portability) gibi başka NFR kategorileri de vardır ama yukarıdaki beşi en sık karşılaşılanlardır.

Kısa Özet Tablosu

Bu notu bir bütün olarak okuduğunuzda, gereksinim yönetiminin aslında tek bir doğrusal akış olduğunu görebilirsin: önce ihtiyacı anla (elicitation), sonra netleştir (analysis), sonra yaz (BRD/FRS/SRS), sonra önceliklendir (MoSCoW/RICE/Kano), sonra projeye yansıt ve takip et (traceability), ve son olarak değişiklikleri kontrollü şekilde yönet (change management). Her adım bir öncekinin üzerine inşa edilir.


메타데이터
post_id
d4e7ff886852
slug
i̇ş-analisti-ve-product-owner-yol-haritası-bölüm-2-gereksinim-yönetimi-requirements-management-d4e7ff886852
url
https://medium.com/@yucezisan/i%CC%87%C5%9F-analisti-ve-product-owner-yol-haritas%C4%B1-b%C3%B6l%C3%BCm-2-gereksinim-y%C3%B6netimi-requirements-management-d4e7ff886852
canonical_url
https://medium.com/@yucezisan/i%CC%87%C5%9F-analisti-ve-product-owner-yol-haritas%C4%B1-b%C3%B6l%C3%BCm-2-gereksinim-y%C3%B6netimi-requirements-management-d4e7ff886852
author_url
https://medium.com/@yucezisan
status
ok
fetched_at
2026-08-15 22:32:26