---
title: 'Kullanılabilirlik Sezgileri'
source: 'https://academia.sh/tr/kurslar/kullanici-deneyimi/kullanilabilirlik-sezgileri'
course: 'Kullanıcı Deneyimi ve Davranış Tasarımı'
language: tr
updated: '2026-08-17T18:09:38+00:00'
license: 'CC BY-SA 4.0'
---

# Kullanılabilirlik Sezgileri

Yerleşik değerlendirme ölçütlerinin ilke ilke uygulanması; birden çok değerlendiricinin bulgularının örtüşmesinin hesaplanması ve tek değerlendiricinin en ağır sorunu niçin kaçırdığı.

Prototip hazır ama katılımcı çağırmadan önce ucuz bir denetim yapılabilir. Kullanılabilirlik
sorunlarının bir bölümü, kullanıcıya hiç gösterilmeden, bilinen ölçütler elde tutularak
arayüz gözden geçirilerek bulunur. Bu yöntem katılımcı oturumunun yerini almaz; oturumu
gereksiz yere harcamamak için önce yapılır.

**Kullanılabilirlik sezgisi (usability heuristic)**, arayüzü değerlendirirken kullanılan
genel bir ölçüttür. "Sezgi" adı, kesin bir kural olmamasından gelir: ölçüt sağlanmadığında
kesin bir kusur değil, incelenmesi gereken bir aday çıkar. Bu ders yerleşik ölçüt kümesini
ilke ilke uygular ve kaç kişinin değerlendirmesi gerektiğini hesaplar.

## Yerleşik Ölçüt Kümesi

Alanda uzun süredir kullanılan on ilke, kataloğun kararlarıyla eşleştirilerek okunur.

- **Sistem durumunun görünürlüğü.** Kullanıcı her an ne olduğunu bilir. Arama çalışırken bir
  bekleme durumu, ödünç alma sırasında bir ilerleme göstergesi.
- **Sistemin gerçek dünyayla örtüşmesi.** Arayüz kurumun değil kullanıcının sözlüğünü
  konuşur. "Dolaşım işlemleri" kurumun sözlüğüdür; "ödünç alma" kullanıcının.
- **Kullanıcı denetimi ve özgürlüğü.** Yanlış adım geri alınabilir, işlem yarıda
  bırakılabilir, önceki duruma dönülebilir.
- **Tutarlılık ve standartlar.** Aynı şey her yerde aynı adla ve aynı biçimde. Yinelenme ve
  Tutarlılık dersinde görsel için konan kuralın yapı düzeyindeki karşılığı.
- **Hatanın önlenmesi.** İyi bir hata iletisinden daha iyisi, hatanın hiç oluşmamasıdır.
  Gecikme ücreti tahsil edilecekse önce onaylatılır.
- **Hatırlamak yerine tanımak.** Kullanıcı önceki ekranda gördüğünü ezberlemek zorunda
  kalmaz. Raf kodunu akılda tutturmak yerine ödünç adımında yeniden göstermek.
- **Kullanımda esneklik ve verim.** Sık kullanan için kısa yol, yeni kullanan için açık yol;
  ikisi aynı arayüzde bulunur.
- **Ölçülü tasarım.** Ekranda gereksiz bilgi bulunmaz; her eklenen öge, asıl bilginin
  görünürlüğünü azaltır.
- **Hataların tanınması ve giderilmesi.** İleti ne olduğunu, niçin olduğunu ve ne yapılması
  gerektiğini söyler.
- **Yardım ve belgelendirme.** Yardım gerekiyorsa aranabilir, kısa ve göreve bağlıdır;
  yardıma gerek duyulmaması ise daha iyidir.

Ölçütlerin adları kalıp gibi kullanılmaz. Değerlendirmenin çıktısı "tutarlılık ilkesi
ihlal edilmiş" değil, "ödünç alma eylemi listede *Al*, kayıt ayrıntısında *Ödünç al*, onay
ekranında *Emanet* olarak adlandırılıyor" biçiminde yazılır. İlke, bulgunun sınıfını verir;
bulgu, ilkenin yerini tutmaz.

## Oturumun Yürütülmesi

Değerlendirme üç kuralla yapılır.

**Bağımsız.** Her değerlendirici arayüzü tek başına gezer ve bulgularını kendi listesine
yazar. Birlikte gezilirse ilk konuşanın bulguları diğerlerinin dikkatini yönlendirir ve
bağımsız bulgu sayısı düşer.

**İki geçişli.** İlk geçiş akışı bütün olarak izler ve genel yapıyı kavrar; ikinci geçiş her
ekranı ölçüt listesiyle tek tek tarar. Tek geçişte yapılan değerlendirme, akışın bağlamını
bilmeden ekran yargılar.

**Şiddet puanlı.** Her bulguya bir şiddet verilir. Aşağıdaki hesapta dört düzeyli bir
ölçek kullanılıyor: 1 biçimsel bir kusur, 2 küçük bir engel, 3 görevi belirgin biçimde
zorlaştıran bir sorun, 4 görevi tamamlanamaz kılan ya da geri alınamaz zarar üreten bir
sorun. Puan, bulgular birleştirildikten sonra sıralamayı yapar.

## Bir Değerlendirici Yetmez

Beş değerlendirici prototipi bağımsız olarak inceledi ve bulgular birleştirildi.

```js
// sezgi-degerlendirmesi.mjs — bes degerlendiricinin bulgularinin ortusmesi ve siddet uzlasisi

// Her bulgu: hangi ilkeye ait ve hangi degerlendirici kac siddet verdi (1 kucuk, 4 buyuk)
const BULGULAR = [
  { ad: "yukleme durumu gosterilmiyor", ilke: "durum gorunurlugu", puan: { D1: 2, D2: 3, D3: 2, D4: 2, D5: 3 } },
  { ad: "ayni eylem farkli adlarla", ilke: "tutarlilik", puan: { D1: 3, D2: 3, D4: 2 } },
  { ad: "odunc alma geri alinamiyor", ilke: "denetim ve ozgurluk", puan: { D2: 4, D3: 3, D5: 4 } },
  { ad: "hata iletisi nedeni yazmiyor", ilke: "hatadan kurtulma", puan: { D1: 3, D3: 4, D4: 3, D5: 3 } },
  { ad: "kurum sozlugu kullaniliyor", ilke: "gercek dunyayla ortusme", puan: { D2: 3, D5: 2 } },
  { ad: "geri donuste arama kayboluyor", ilke: "denetim ve ozgurluk", puan: { D1: 4, D2: 4, D3: 4, D4: 3, D5: 4 } },
  { ad: "ucret once onaylatilmiyor", ilke: "hatanin onlenmesi", puan: { D3: 4 } },
  { ad: "yer tutucu etiket yerine geciyor", ilke: "hatirlamak yerine tanimak", puan: { D1: 3, D4: 3 } },
  { ad: "raf kodu aciklanmiyor", ilke: "gercek dunyayla ortusme", puan: { D2: 3, D3: 3, D4: 4 } },
  { ad: "aramayi yineleme kisayolu yok", ilke: "esneklik ve verim", puan: { D5: 2 } },
  { ad: "uc eylem esit agirlikta", ilke: "olculu tasarim", puan: { D1: 3, D2: 2 } },
  { ad: "yardim derinde", ilke: "yardim ve belgelendirme", puan: { D4: 1 } },
];
const DEGERLENDIRICI = ["D1", "D2", "D3", "D4", "D5"];

const ortanca = (d) => {
  const s = [...d].sort((a, b) => a - b), o = s.length >> 1;
  return s.length % 2 ? s[o] : (s[o - 1] + s[o]) / 2;
};

console.log("bulgu                              ilke                        bulan  ortanca  aralik");
for (const b of BULGULAR) {
  const p = Object.values(b.puan);
  console.log(
    `${b.ad.padEnd(34)} ${b.ilke.padEnd(27)} ${String(p.length).padStart(5)} ${ortanca(p).toFixed(1).padStart(8)}  ${Math.min(...p)}-${Math.max(...p)}`
  );
}

console.log("\ndegerlendirici  buldugu bulgu  kapsama");
for (const d of DEGERLENDIRICI) {
  const n = BULGULAR.filter((b) => d in b.puan).length;
  console.log(`${d.padEnd(14)} ${String(n).padStart(14)}  ${((n / BULGULAR.length) * 100).toFixed(1)}%`);
}

// k degerlendiricinin butun altkumeleri uzerinden beklenen birlesim
const altKumeler = (dizi, k) =>
  k === 0 ? [[]] : dizi.flatMap((x, i) => altKumeler(dizi.slice(i + 1), k - 1).map((r) => [x, ...r]));
console.log("\ndegerlendirici sayisi  altkume  beklenen bulunan  beklenen kapsama");
for (let k = 1; k <= DEGERLENDIRICI.length; k++) {
  const kumeler = altKumeler(DEGERLENDIRICI, k);
  const toplam = kumeler.reduce(
    (t, kume) => t + BULGULAR.filter((b) => kume.some((d) => d in b.puan)).length, 0);
  const ort = toplam / kumeler.length;
  console.log(
    `${String(k).padStart(21)}  ${String(kumeler.length).padStart(7)}  ${ort.toFixed(2).padStart(16)}  ${((ort / BULGULAR.length) * 100).toFixed(1).padStart(15)}%`
  );
}

// Tek kisinin buldugu bulgular ve siddet uzlasisi
const tek = BULGULAR.filter((b) => Object.keys(b.puan).length === 1);
console.log(`\nyalniz bir degerlendiricinin buldugu bulgu: ${tek.length} / ${BULGULAR.length}  (${((tek.length / BULGULAR.length) * 100).toFixed(1)}%)`);
console.log(`  ${tek.map((b) => b.ad).join("; ")}`);

const cokBulan = BULGULAR.filter((b) => Object.keys(b.puan).length >= 3);
const yayilim = cokBulan.map((b) => Math.max(...Object.values(b.puan)) - Math.min(...Object.values(b.puan)));
console.log(`\nuc ve daha cok kisinin buldugu ${cokBulan.length} bulguda siddet yayilimi: ortalama ${(yayilim.reduce((a, c) => a + c, 0) / yayilim.length).toFixed(2)} puan, en cok ${Math.max(...yayilim)} puan`);

// Ilke basina bulgu sayisi
const ilkeler = new Map();
for (const b of BULGULAR) ilkeler.set(b.ilke, (ilkeler.get(b.ilke) ?? 0) + 1);
console.log("\nilke                        bulgu");
for (const [i, c] of [...ilkeler].sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0])))
  console.log(`${i.padEnd(27)} ${c}`);
```

```
bulgu                              ilke                        bulan  ortanca  aralik
yukleme durumu gosterilmiyor       durum gorunurlugu               5      2.0  2-3
ayni eylem farkli adlarla          tutarlilik                      3      3.0  2-3
odunc alma geri alinamiyor         denetim ve ozgurluk             3      4.0  3-4
hata iletisi nedeni yazmiyor       hatadan kurtulma                4      3.0  3-4
kurum sozlugu kullaniliyor         gercek dunyayla ortusme         2      2.5  2-3
geri donuste arama kayboluyor      denetim ve ozgurluk             5      4.0  3-4
ucret once onaylatilmiyor          hatanin onlenmesi               1      4.0  4-4
yer tutucu etiket yerine geciyor   hatirlamak yerine tanimak       2      3.0  3-3
raf kodu aciklanmiyor              gercek dunyayla ortusme         3      3.0  3-4
aramayi yineleme kisayolu yok      esneklik ve verim               1      2.0  2-2
uc eylem esit agirlikta            olculu tasarim                  2      2.5  2-3
yardim derinde                     yardim ve belgelendirme         1      1.0  1-1

degerlendirici  buldugu bulgu  kapsama
D1                          6  50.0%
D2                          7  58.3%
D3                          6  50.0%
D4                          7  58.3%
D5                          6  50.0%

degerlendirici sayisi  altkume  beklenen bulunan  beklenen kapsama
                    1        5              6.40             53.3%
                    2       10              9.00             75.0%
                    3       10             10.50             87.5%
                    4        5             11.40             95.0%
                    5        1             12.00            100.0%

yalniz bir degerlendiricinin buldugu bulgu: 3 / 12  (25.0%)
  ucret once onaylatilmiyor; aramayi yineleme kisayolu yok; yardim derinde

uc ve daha cok kisinin buldugu 6 bulguda siddet yayilimi: ortalama 1.00 puan, en cok 1 puan

ilke                        bulgu
denetim ve ozgurluk         2
gercek dunyayla ortusme     2
durum gorunurlugu           1
esneklik ve verim           1
hatadan kurtulma            1
hatanin onlenmesi           1
hatirlamak yerine tanimak   1
olculu tasarim              1
tutarlilik                  1
yardim ve belgelendirme     1
```

## Sayıların Söylediği

**Tek değerlendirici yarıyı bulur.** Beş kişinin her biri on iki bulgunun yarısı
dolayındakini buldu; bütün tek kişilik altkümeler üzerinden beklenen kapsama %53.3.
Değerlendirmeyi tek kişinin yapması, sorunların yarısını görmemeyi baştan kabul etmektir.

**Kazanç azalarak artar.** İki değerlendiricide beklenen kapsama %75, üçte %87.5, dörtte
%95. Birinciden ikinciye geçmek 21.7 puan kazandırıyor, üçüncüden dördüncüye geçmek 7.5
puan. Değerlendirici sayısı üç ile dört arasında seçilir; beşinci kişi bu örnekte 5 puan
ekliyor ve aynı emek katılımcı oturumuna daha çok kazandırır.

**En ağır bulguyu tek kişi buldu.** "Ücret önce onaylatılmıyor" bulgusunun şiddeti 4 —
ölçekteki en yüksek değer — ve yalnızca üçüncü değerlendirici buldu. Beş kişilik havuzdan
rastgele seçilen tek bir değerlendiricinin bu bulguyu bulma olasılığı beşte birdir. Bu, tek
değerlendiriciyle çalışmanın asıl riskidir: kaçırılan bulgu, kaçırılan bulguların ortalaması
kadar önemsiz olmak zorunda değildir.

**Şiddet konusunda uzlaşma iyi, kapsama konusunda kötü.** Üç ve daha çok kişinin bulduğu
altı bulguda şiddet yayılımı ortalama bir puan; kimse aynı bulguya 1 ile 4 arasında değişen
puanlar vermedi. Değerlendiriciler bir sorunu gördüklerinde ağırlığı konusunda benzer
düşünüyorlar; ayrıştıkları yer sorunu görüp görmemeleri. Bu yüzden birleştirme aşamasında
tartışılacak şey puan değil, listede olmayan bulgudur.

**İki ilke öne çıkıyor.** Denetim ve özgürlük ile gerçek dünyayla örtüşme ilkelerinde ikişer
bulgu var; ikisi de kullanıcı araştırmasında ölçülen sorunlarla aynı yere işaret ediyor —
geri dönüşte kaybolan arama ve açıklanmayan raf kodu. Sezgi değerlendirmesi ile alan verisi
aynı bulguda buluştuğunda kanıt gücü artar; altıncı derste konan çok kaynaklılık ölçütü
burada da geçerlidir.

## Sezgi Değerlendirmesinin Sınırı

Yöntem ucuzdur ve bu ucuzluk sınırının da kaynağıdır.

**Bulgular hipotezdir.** Değerlendirici arayüzü kullanıcı olarak değil, ölçüt listesiyle
gezen bir uzman olarak görür. "Yardım derinde" bulgusunun şiddeti 1 verildi; gerçek
kullanıcılar hiç yardım aramıyorsa şiddeti sıfırdır, aramaya çalışıp bulamıyorlarsa çok daha
yüksektir. Bunu sezgi değil ölçüm söyler.

**Yanlış bulgu üretebilir.** Ölçüt listesiyle gezmek, ihlal aramaya yönelten bir tutum
doğurur; her sapma bir kusur gibi görünür. Yerleşik bir ölçütten bilinçli olarak sapan bir
karar — beşinci derste tartışılan ayırt edici kararlar — sezgi değerlendirmesinde ihlal
olarak işaretlenir. Bu yüzden bulgular tasarım gerekçeleriyle birlikte gözden geçirilir.

**Ne yapılmak istendiğini söylemez.** Sezgi, arayüzün var olan hâlini ölçütlere göre
denetler. Kullanıcının aslında başka bir şey yapmak istediğini, aradığı bilginin arayüzde hiç
bulunmadığını ya da görevin tümüyle gereksiz olduğunu sezgi değerlendirmesi bulamaz. Bunlar
araştırmanın ve kullanıcı testinin alanıdır.

## Özet

- Kullanılabilirlik sezgisi bir kural değil bir ölçüttür; sağlanmadığında kesin kusur değil,
  incelenecek aday çıkar ve bulgu ilke adıyla değil somut olguyla yazılır.
- Değerlendirme bağımsız, iki geçişli ve şiddet puanlı yürütülür; birlikte gezmek bağımsız
  bulgu sayısını düşürür.
- Örnek veride tek değerlendiricinin beklenen kapsaması %53.3; üç değerlendiricide %87.5,
  dörtte %95 ve kazanç azalarak artar.
- En yüksek şiddetli bulguyu beş değerlendiriciden yalnızca biri buldu; kaçırılan bulgunun
  ortalama kadar önemsiz olacağı varsayılamaz.
- Değerlendiriciler şiddet konusunda uzlaşıyor, kapsama konusunda ayrışıyor; birleştirmede
  tartışılacak olan puanlar değil listede eksik olanlardır.
- Sezgi değerlendirmesi hipotez üretir, yanlış bulgu verebilir ve kullanıcının ne yapmak
  istediğini söyleyemez.

## Sonraki Adım

Sezgi değerlendirmesi on iki aday üretti ve her biri bir varsayım. Hangilerinin gerçek
kullanıcıyı gerçekten durdurduğu ölçülmeden bilinemez. Sonraki ders prototipi katılımcının
eline verir: oturumun nasıl kurulduğunu, kaç katılımcının yeterli olduğunu ve "beş kullanıcı
yeter" savının hangi koşulda doğru, hangi koşulda yanıltıcı olduğunu keşif eğrisini
hesaplayarak gösterir.
