---
title: 'Paydaş Yönetimi'
source: 'https://academia.sh/tr/kurslar/mimarin-rolu/paydas-yonetimi'
course: 'Mimarın Rolü'
language: tr
updated: '2026-08-17T18:10:32+00:00'
license: 'CC BY-SA 4.0'
---

# Paydaş Yönetimi

Teknik olmayan muhatapla iletişimin bir paydaş modelinde ölçülmesi: aynı kararın teknik terimli anlatımı 27 soru ve 8 tur, sonuç odaklı anlatımı 0 soru ve 3 tur üretirken altı kısıttan dördünü eleyip dört sürprize dönüştürüyor, kısıtları düz dille geri koyan üçüncü anlatım dört ifade karşılığında toplam turu 3'e indiriyor.

Önceki ders kararı bir nesneye çevirdi ve geri döndürülebilirliğine göre sınıflandırdı: hangi
kararın hangi yöntemle verileceği belli oldu. Bir şey belli olmadı. Kararı onaylayacak olan,
kararı veren değil. Bölgesel kütüphane ağının modelinde ödünç servisinin veri akışını
değiştirmek bütçeye dokunur, şube personelinin işini değiştirir ve dışarıdan alınmış katalog
sisteminin sözleşmesini ilgilendirir. Bu üç kapıyı da teknik olmayan biri tutar.

Bu ders "mimar iletişim kurmalıdır" demez. İletişimi bir veri yapısına çevirir: paydaş bir
**sözlük** ile bir **ilgi** kümesidir, anlatım bir ifade dizisidir. Aynı karar iki ayrı anlatımla
aynı modelde koşturulur ve iki sayı sayılır: karar başına yanıtlanan soru ve onay için gereken
tur. Üçüncü bir sayı da sayılır, çünkü sonuç odaklı anlatımın ucuz görünmesinin bir nedeni
vardır: anlatımın **elediği kısıt sayısı**.

## Paydaş Bir Sözlük ve Bir İlgi Kümesidir

**Paydaş** (stakeholder), kararın sonucunu üstlenen ama kararı vermeyen taraftır. Modelde üç
paydaş vardır ve hiçbiri gerçek bir kurumdan alınmamıştır: bütçe sorumlusu, hizmet sorumlusu,
satın alma sorumlusu. Her birinin bildiği terimler kümesi ve onay için karşılanması gereken
konuları vardır.

**MP10: bir paydaş, ilgi kümesindeki her konu karşılandığında ve açık sorusu kalmadığında onay
verir.** İki koşuldan biri eksikse onay gelmez; toplantı bir tur daha sürer.

**MP11: bilinmeyen terim içeren bir ifade o turda anlaşılmaz.** Konusunu karşılamaz, kısıtını
taşımaz; yerine terim başına bir soru üretir. Sorunun yanıtı terimi kalıcı olarak sözlüğe ekler,
yani aynı terim ikinci kez sorulmaz.

**MP12: taşınmayan her kısıt, o kısıttan etkilenen paydaşta sonradan bir sürpriz üretir** ve
sürpriz bir tur daha maliyet yazar. Kısıt taşınmışsa olay gerçekleştiğinde kimse şaşırmaz.

```js
// paydas/model.mjs — teknik olmayan muhatapla iletisim modeli. Gercek kurum ve kisi yoktur;
// paydas bir sozluk ile bir ilgi kumesidir, anlatim bir ifade dizisidir. Sure olculmez;
// yanitlanan soru, tur ve tasinan kisit sayilir.

// Kararin tasidigi kisitlar. Bir anlatim bunlarin hepsini tasimak zorunda degildir; tasimadigi
// her kisit sonradan bir surpriz adayidir.
export const KISITLAR = {
  K1: "gece raporu on bes dakika gec uretilir",
  K2: "sube personeli bir kez egitim alir",
  K3: "eski kayitlar iki hafta cift yazilir",
  K4: "karar bir hafta icinde geri alinabilir",
  K5: "dis katalog saglayicisiyla sozlesme degismez",
  K6: "tepe saatte birikme olursa teslim gecikir",
};

// Kurum dilinde herkesin bildigi terimler. Teknik terimler bu kumede yoktur.
const ORTAK = ["sube", "personel", "sure", "maliyet", "risk", "rapor", "okuyucu",
  "hizmet kesintisi", "egitim", "sozlesme", "saglayici"];

export const PAYDASLAR = [
  { ad: "butce sorumlusu", ilgi: ["maliyet", "geri donus"], sozluk: [...ORTAK, "butce"] },
  { ad: "hizmet sorumlusu", ilgi: ["hizmet kesintisi", "egitim"], sozluk: [...ORTAK, "raf"] },
  { ad: "satin alma sorumlusu", ilgi: ["sozlesme", "maliyet"], sozluk: [...ORTAK, "ihale"] },
];

// Mimarin, karsilanmayan bir ilgi kaldiginda ekledigi ifade. Duz dille yazilir.
export const EK_IFADE = {
  "maliyet": { terimler: ["maliyet", "personel"], ilgi: ["maliyet"], kisit: [] },
  "geri donus": { terimler: ["sure", "risk"], ilgi: ["geri donus"], kisit: ["K4"] },
  "hizmet kesintisi": { terimler: ["hizmet kesintisi"], ilgi: ["hizmet kesintisi"], kisit: [] },
  "egitim": { terimler: ["personel", "sube"], ilgi: ["egitim"], kisit: ["K2"] },
  "sozlesme": { terimler: ["sozlesme", "saglayici"], ilgi: ["sozlesme"], kisit: ["K5"] },
};

// MP10 + MP11: tek paydas, tek anlatim. Bilinmeyen terim soruya donusur; yanit sozluge eklenir.
export function toplanti(paydas, anlatim, enCokTur = 12) {
  const sozluk = new Set(paydas.sozluk);
  const karsilanan = new Set(), tasinan = new Set(), ek = [];
  let soru = 0, tur = 0;
  while (tur < enCokTur) {
    tur += 1;
    let turSorusu = 0;
    for (const f of [...anlatim, ...ek]) {
      const bilinmeyen = f.terimler.filter((t) => !sozluk.has(t));
      if (bilinmeyen.length > 0) {
        turSorusu += bilinmeyen.length;
        for (const t of bilinmeyen) sozluk.add(t);
        continue;
      }
      for (const i of f.ilgi) karsilanan.add(i);
      for (const k of f.kisit) tasinan.add(k);
    }
    soru += turSorusu;
    const eksik = paydas.ilgi.filter((i) => !karsilanan.has(i));
    if (turSorusu === 0 && eksik.length === 0) return { tur, soru, tasinan, ek: ek.length };
    if (turSorusu === 0) ek.push(EK_IFADE[eksik[0]]);
  }
  return { tur, soru, tasinan, ek: ek.length, onaysiz: true };
}

// MP12: kisiti bilmeyen paydasin sonradan sasiracagi olaylar: kisit -> etkilenen paydas.
export const OLAYLAR = {
  K1: "butce sorumlusu", K2: "hizmet sorumlusu", K3: "butce sorumlusu",
  K4: "butce sorumlusu", K5: "satin alma sorumlusu", K6: "hizmet sorumlusu",
};

// Bir anlatimin uc paydas uzerindeki toplami. Paydaslar ayri ayri bilgilendirilir.
export function anlatimiKostur(anlatim, ekSozluk = []) {
  const tasinanPaydas = new Map();
  let soru = 0, tur = 0, ek = 0;
  for (const p of PAYDASLAR) {
    const r = toplanti({ ...p, sozluk: [...p.sozluk, ...ekSozluk] }, anlatim);
    soru += r.soru; tur += r.tur; ek += r.ek;
    tasinanPaydas.set(p.ad, r.tasinan);
  }
  const surpriz = Object.entries(OLAYLAR)
    .filter(([k, ad]) => !tasinanPaydas.get(ad).has(k)).map(([k]) => k);
  const birlesik = new Set([...tasinanPaydas.values()].flatMap((s) => [...s]));
  const atlanan = Object.keys(KISITLAR).filter((k) => !birlesik.has(k));
  return { ifade: anlatim.length, soru, tur, ek, atlanan, surpriz, toplamTur: tur + surpriz.length };
}
```

## Aynı Kararın Üç Anlatımı

Karar tektir: ödünç kayıtlarının gece toplu aktarımdan sürekli akışa çevrilmesi. Anlatım A
kararın teknik gerekçesini olduğu gibi aktarır ve altı kısıtın hepsini taşır. Anlatım B aynı
kararı sonuç diliyle anlatır. Anlatım C, B'nin dilini korur ve B'nin elediği kısıtları düz
cümlelerle geri koyar.

```js
// paydas/anlatim.mjs — ayni kararin uc anlatimi ayni paydas modelinde kosturulur
import { KISITLAR, PAYDASLAR, anlatimiKostur, toplanti } from "./model.mjs";

// A: teknik terimli anlatim. Alti kisitin hepsini tasir, maliyeti hic anmaz.
const A = [
  { terimler: ["olay akisi", "kuyruk", "geri baski"], ilgi: ["hizmet kesintisi"], kisit: ["K6"] },
  { terimler: ["cift yazim", "gecis penceresi", "rapor"], ilgi: [], kisit: ["K1", "K3"] },
  { terimler: ["surum sabitleme", "risk", "sure"], ilgi: ["geri donus"], kisit: ["K4"] },
  { terimler: ["uc nokta", "sema", "sozlesme", "saglayici"], ilgi: ["sozlesme"], kisit: ["K5"] },
  { terimler: ["istemci arayuzu", "personel", "sube"], ilgi: ["egitim"], kisit: ["K2"] },
];

// B: sonuc odakli anlatim. Her ilgiyi karsilar, terimleri kurum dilindedir, kisitlari eler.
const B = [
  { terimler: ["okuyucu", "sure", "hizmet kesintisi"], ilgi: ["hizmet kesintisi"], kisit: ["K6"] },
  { terimler: ["maliyet", "personel"], ilgi: ["maliyet"], kisit: [] },
  { terimler: ["sure", "risk"], ilgi: ["geri donus"], kisit: ["K4"] },
  { terimler: ["sube", "personel", "egitim"], ilgi: ["egitim"], kisit: [] },
  { terimler: ["sozlesme", "saglayici"], ilgi: ["sozlesme"], kisit: [] },
];

// C: sonuc odakli anlatim + elenen kisitlarin duz dille geri konmasi.
const C = [...B,
  { terimler: ["rapor", "sure"], ilgi: [], kisit: ["K1"] },
  { terimler: ["sube", "personel", "egitim"], ilgi: [], kisit: ["K2"] },
  { terimler: ["sure", "risk", "maliyet"], ilgi: [], kisit: ["K3"] },
  { terimler: ["sozlesme", "saglayici"], ilgi: [], kisit: ["K5"] },
];

console.log(`paydas ${PAYDASLAR.length}, kisit ${Object.keys(KISITLAR).length}, karar 1\n`);
console.log("anlatim  ifade  yanitlanan soru  onay turu  ek ifade  tasinan kisit  surpriz  toplam tur");
console.log("------- ------ ---------------- ---------- --------- -------------- -------- -----------");
const sonuc = {};
for (const [ad, anlatim] of [["A", A], ["B", B], ["C", C]]) {
  const r = sonuc[ad] = anlatimiKostur(anlatim);
  console.log(`${ad.padStart(7)} ${String(r.ifade).padStart(6)} ${String(r.soru).padStart(16)} ` +
    `${String(r.tur).padStart(10)} ${String(r.ek).padStart(9)} ` +
    `${`${6 - r.atlanan.length}/6`.padStart(14)} ${String(r.surpriz.length).padStart(8)} ` +
    `${String(r.toplamTur).padStart(11)}`);
}
console.log(`\nB'nin atladigi kisit: ${sonuc.B.atlanan.join(", ")}`);
console.log(`B'de surprize donusen kisit: ${sonuc.B.surpriz.join(", ")}`);
console.log(`A'nin atladigi kisit: ${sonuc.A.atlanan.length === 0 ? "yok" : sonuc.A.atlanan.join(", ")}`);
console.log(`C'nin atladigi kisit: ${sonuc.C.atlanan.length === 0 ? "yok" : sonuc.C.atlanan.join(", ")}`);

console.log(`\npaydas basina (anlatim A):`);
console.log("paydas                soru  tur  ek ifade");
for (const p of PAYDASLAR) {
  const r = toplanti(p, A);
  console.log(`${p.ad.padEnd(20)} ${String(r.soru).padStart(5)} ${String(r.tur).padStart(4)} ` +
    `${String(r.ek).padStart(9)}`);
}

console.log(`\nA'nin bedeli dinleyene baglidir (paydas sozlugune teknik terim eklenir):`);
console.log("eklenen terim  yanitlanan soru  onay turu");
const teknik = ["olay akisi", "kuyruk", "geri baski", "cift yazim", "gecis penceresi",
  "surum sabitleme", "uc nokta", "sema", "istemci arayuzu"];
for (const n of [0, 3, 6, 9]) {
  const r = anlatimiKostur(A, teknik.slice(0, n));
  console.log(`${String(n).padStart(13)} ${String(r.soru).padStart(16)} ${String(r.tur).padStart(10)}`);
}
```

```
paydas 3, kisit 6, karar 1

anlatim  ifade  yanitlanan soru  onay turu  ek ifade  tasinan kisit  surpriz  toplam tur
------- ------ ---------------- ---------- --------- -------------- -------- -----------
      A      5               27          8         2            6/6        0           8
      B      5                0          3         0            2/6        4           7
      C      9                0          3         0            6/6        0           3

B'nin atladigi kisit: K1, K2, K3, K5
B'de surprize donusen kisit: K1, K2, K3, K5
A'nin atladigi kisit: yok
C'nin atladigi kisit: yok

paydas basina (anlatim A):
paydas                soru  tur  ek ifade
butce sorumlusu          9    3         1
hizmet sorumlusu         9    2         0
satin alma sorumlusu     9    3         1

A'nin bedeli dinleyene baglidir (paydas sozlugune teknik terim eklenir):
eklenen terim  yanitlanan soru  onay turu
            0               27          8
            3               18          8
            6                9          8
            9                0          5
```

Bütün sayılar **hesap** sınıfındadır: belirlenimli bir model üzerinde sayılmışlardır.

## Sadeleştirmenin Bedeli

Teknik anlatım tek bir karar için **27 soru** ürettiriyor ve üç paydaşın onayı **8 turda**
geliyor. Sonuç odaklı anlatım aynı kararı **0 soru** ve **3 turda** onaylatıyor. Bu tabloda
durulsaydı sonuç açık olurdu: sonuç dili turu üçte birine indiriyor.

Kısıt sütunu bu sonucu bozuyor. Anlatım B altı kısıttan **ikisini** taşıyor; K1, K2, K3 ve K5
anlatımın dışında kalıyor. Bunlar süs değil: gece raporunun on beş dakika geç üretilmesi,
personelin bir kez eğitim alması, eski kayıtların iki hafta çift yazılması ve sözleşmenin
değişmemesi. Dördü de kararın gerçek sonuçlarıdır ve dördü de zamanı gelince kendini gösterir.
Modelde bu, **4 sürpriz** olarak sayılıyor ve her sürpriz bir tur daha yazıyor: B'nin toplamı 3
değil **7**.

Buradaki asıl sayı, sonuç odaklı anlatımın toplam kazancının 8 turdan 7 tura, yani **tek bir
tur** olmasıdır. Sadeleştirme, konuşmanın maliyetini önden düşürüp arkadan geri yüklüyor.
Anlatım B yanlış bir anlatım değil; **eksik** bir anlatım ve eksikliği ölçülebiliyor.

Anlatım C bunun düzeltilebilir olduğunu gösteriyor. B'nin dilini hiç bozmadan, elenen dört
kısıtı yine kurum diliyle yazılmış dört cümleye koyuyor. Bedeli 5 ifade yerine **9 ifade**, yani
dört cümle daha yazmak. Kazancı: 0 soru, 0 sürpriz, toplam **3 tur**. Aynı karar A'ya göre
turların yaklaşık üçte birinde, B'ye göre yarısından azında onaylanıyor. Kısıt taşımanın bedeli
yazmakla ödeniyor, toplantıyla değil.

## Terim Uyuşmazlığı ve İlgi Uyuşmazlığı

Son tablo, teknik anlatımın 27 sorusunun kararın bir özelliği olmadığını gösteriyor. Paydaşların
sözlüğüne dokuz teknik terim eklendikçe soru sayısı 27'den 18'e, 9'a ve 0'a iniyor. Aynı karar,
aynı cümlelerle, teknik terimleri bilen bir muhataba anlatıldığında hiç soru üretmiyor. Anlatımın
bedeli **dinleyenin sözlüğüne** bağlıdır.

Aynı tablonun ikinci sütunu bunun sınırını çiziyor. Soru sayısı sıfıra inerken onay turu 8'den
yalnız **5**'e iniyor, 3'e değil. Sebep anlatım A'nın hiçbir ifadesinde maliyetten söz
edilmemesi: bütçe sorumlusu ile satın alma sorumlusunun ilgi kümesinde maliyet var ve terim
öğretmek bu boşluğu kapatmıyor. Model bunu **2 ek ifade** olarak yazıyor — mimarın toplantıda
sonradan söylemek zorunda kaldığı iki cümle.

Bu iki başarısızlık ayrı ayrı ele alınır. **Terim uyuşmazlığı** çeviriyle çözülür: aynı içerik,
muhatabın sözlüğündeki sözcüklerle. **İlgi uyuşmazlığı** çeviriyle çözülmez; anlatıma o konuyu
karşılayan yeni bir ifade eklemek gerekir. Bir anlatımın kusursuz sadeleştirilmiş olması,
paydaşın sorusunu yanıtladığı anlamına gelmez.

Bunun bir sonucu da şudur: paydaş başına soru sayıları eşit (9, 9, 9) ama tur sayıları eşit değil
(3, 2, 3). Hizmet sorumlusu iki turda onay veriyor, çünkü ilgi kümesinin ikisi de anlatımın
içinde. Fark terimlerden değil, **kimin neyi sorduğundan** geliyor.

## Özet

- Paydaş bir sözlük ve bir ilgi kümesi olarak modellenir; onay, açık soru kalmadığında ve her
  ilgi karşılandığında gelir (MP10, MP11). Bu model üç paydaş, altı kısıt ve tek bir karar
  üzerinde koşturuldu.
- Teknik terimli anlatım karar başına 27 soru ve 8 tur; sonuç odaklı anlatım 0 soru ve 3 tur
  üretti. Tek başına bu karşılaştırma sonuç dilini üçte bir maliyetle gösteriyor.
- Sonuç odaklı anlatım altı kısıttan dördünü eledi (K1, K2, K3, K5) ve dördü de sürprize dönüştü;
  toplam turu 3 değil 7 oldu. Gerçek kazanç 8 tura karşı 7 tur, yani tek bir turdur.
- Kısıtları düz dille geri koyan anlatım dört ifade daha yazma karşılığında 0 soru, 0 sürpriz ve
  **3 tur** verdi: sadeleştirmenin kaybı, dil bozulmadan geri alınabilir.
- Teknik anlatımın 27 sorusu dinleyenin sözlüğüne bağlıdır ve dokuz terim öğretildiğinde 0'a
  iner; ama tur sayısı 8'den yalnız 5'e iner. Terim uyuşmazlığı çeviriyle, ilgi uyuşmazlığı yeni
  ifadeyle çözülür.

## Sonraki Adım

Bu ders kararın anlatımını ölçtü; kararın **içeriğini** sabit tuttu. Onaylanan karar bir akış
değişikliğiydi ve arkasında bir seçim vardı: o akışı hangi araç taşıyacak. Modelde bu seçim
henüz yapılmadı. Sıradaki ders adayları önüne koyar ve şu soruyu sorar: bir aracın olgunluğu
ve çevresindeki ekosistem nasıl bir sayıya çevrilir, ve seçim yanlış çıkarsa o araçtan çıkmanın
maliyeti kaç modüle, kaç kayda ve kaç satıra karşılık gelir?
