İçeriğe geç
academia.sh

Ders 01 / 24

Kullanıcı Araştırması Yöntemleri

Gözlem, görüşme ve anketin hangi soruya yanıt verdiği; görüşme doygunluğunun ölçülmesi, küçük örneklemden yaygınlık kestirimi çıkarmanın sınırı ve araştırmanın etik çerçevesi.

İçindekiler

Arayüz Tasarımının Temelleri kursu bir ekranın içini ölçtü: hiyerarşi, ızgara, aralık, kontrast eşikleri, bileşen durumları. O kursta katalog arayüzünün akışı — arama alanı, sonuç listesi, kayıt ayrıntısı, ödünç alma — baştan verilmişti ve niçin bu akış olduğu sorulmadı. Bu kurs o soruyla açılır. Ölçülecek şey artık bir ekranın içi değil, ekranlar arasındaki yoldur.

Yolun başlangıcı bir varsayımdır: arayüzün desteklemesi gereken görevleri bilmek. Bu bilgi tasarımcının kendi kullanımından çıkarılamaz; tasarımcı arayüzün nasıl çalıştığını bildiği için hiçbir kullanıcının içinde bulunmadığı bir konumdadır. Bilginin kaynağı araştırmadır. Bu ders üç temel yöntemi — gözlem, görüşme ve anket — hangi sorulara yanıt verdiklerine göre ayırır ve her birinin ne söyleyip ne söyleyemeyeceğini sayıyla gösterir.

Üç Yöntem, Üç Ayrı Soru

Yöntem seçimi bir bütçe kararı değil, soru türü kararıdır. Üç yöntem üç ayrı soruya yanıt verir ve birinin yanıtı diğerinin yerine geçmez.

Gözlem (observation), kişinin görevi gerçekten nasıl yaptığını kaydeder. Katalog arayüzünde bir kullanıcının aramayı yazdıktan sonra sonuç listesinin kaçıncı satırına baktığı, geri döndüğünde ne yaptığı, rafta bulamayınca nereye gittiği gözlemle görülür. Gözlemin gücü, kişinin söylemediği ve çoğu zaman farkında olmadığı davranışları yakalamasıdır. Sınırı, gerekçeyi vermemesidir: kullanıcının niçin geri döndüğü gözlemlenemez, ancak sorulabilir.

Görüşme (interview), gerekçeyi ve bağlamı toplar. Kişinin görevi niçin yaptığını, hangi alternatifleri denediğini, arayüzden bağımsız hangi kısıtları taşıdığını görüşme açığa çıkarır. Sınırı iki katmanlıdır. Birincisi, insan kendi davranışını yanlış hatırlar; “genellikle konu başlığından ararım” diyen bir kişi gözlemde yazar adından arayabilir. İkincisi, görüşme az sayıda kişiyle yapılır ve sayısal bir yaygınlık kestirimi vermez.

Anket (survey), bir olgunun ne kadar yaygın olduğunu ölçer. Yalnızca zaten bilinen seçenekler arasında ölçüm yapabilir: ankete koymadığınız bir sorun, anketten çıkmaz. Bu yüzden anket araştırmanın başında değil, keşfin ardında durur.

Sıralama buradan çıkar: gözlem ve görüşme neyin var olduğunu bulur, anket bulunanın ne kadar yaygın olduğunu ölçer. Ters sırada yürütülen bir araştırma, yalnızca araştırmacının baştan aklında olan seçenekleri doğrular.

Araştırmanın Etik Çerçevesi

Araştırma, insanlardan veri toplamaktır ve bu üç kural yöntemin süsü değil parçasıdır.

Bilgilendirilmiş onay. Katılımcı, oturumun başında verinin ne için toplandığını, ne kadar süreceğini, kaydın hangi biçimde tutulacağını ve istediği an ayrılabileceğini öğrenir ve buna açıkça onay verir. Onay kapsamı sonradan genişletilemez: görüşme için alınan onay, kaydın bir tanıtım metninde kullanılmasını kapsamaz.

Kimliksizleştirme. Notlar kodlanırken katılımcı adı yerine K01 gibi bir kod kullanılır ve ad ile kod arasındaki eşleme, çözümleme verisinden ayrı tutulur. Kimliksizleştirmenin ölçüsü, veriden kimliğe geri gidilememesidir; “adı sildim” yetmez. Serbest metin alıntılarında kişiyi tek başına tanımlayabilecek ayrıntılar da temizlenir. Katalog örneğinde “üçüncü kattaki tek gece görevlisi” bir addır.

Saklama sınırı. Her veri kümesi için saklama süresi araştırma başlamadan yazılır ve süre dolduğunda veri silinir. Ham kayıt en kısa sürede kodlanmış nota dönüştürülür; kodlanan not saklanır, ham kayıt silinir. Sınırı olmayan saklama, ileride ne için kullanılacağı bilinmeyen bir veri yığını üretir ve onayın kapsamını fiilen sonsuza genişletir.

Bu kurallar araştırmayı yavaşlatmaz; kapsamını belirler. Onaysız toplanan veri, çözümlemede kullanılamayacağı için zaten yoktur.

Görüşme Kaç Kişiyle Yapılır

Görüşme sayısının ölçütü temsil değil doygunluktur (saturation): yeni görüşmelerin yeni kod üretmeyi bıraktığı nokta. Kod, not içindeki bir olgunun kısa adıdır; aynı olgu farklı katılımcılarda farklı sözcüklerle anlatılsa bile aynı kodu alır.

// doygunluk.mjs — gorusme notlarinin kodlanmasi, doygunluk ve kod sikligi

// 12 gorusmenin kodlanmis notlari (ders icin kurulmus veri)
const GORUSMELER = [
  ["K01", ["es-adli-kayit", "raf-kodu-anlasilmiyor", "odunc-durumu-gec", "konu-taramasi-zor"]],
  ["K02", ["raf-kodu-anlasilmiyor", "geri-donusta-arama-kayip", "es-adli-kayit"]],
  ["K03", ["odunc-durumu-gec", "filtre-gorunmuyor", "es-adli-kayit", "yazar-yazim-farki"]],
  ["K04", ["konu-taramasi-zor", "geri-donusta-arama-kayip", "raf-kodu-anlasilmiyor"]],
  ["K05", ["uzatma-yolu-bilinmiyor", "odunc-durumu-gec", "es-adli-kayit"]],
  ["K06", ["filtre-gorunmuyor", "dar-ekranda-liste", "raf-kodu-anlasilmiyor", "konu-taramasi-zor"]],
  ["K07", ["es-adli-kayit", "yazar-yazim-farki", "geri-donusta-arama-kayip"]],
  ["K08", ["rezervasyon-sirasi-belirsiz", "odunc-durumu-gec", "raf-kodu-anlasilmiyor"]],
  ["K09", ["konu-taramasi-zor", "es-adli-kayit", "dar-ekranda-liste"]],
  ["K10", ["raf-kodu-anlasilmiyor", "odunc-durumu-gec", "geri-donusta-arama-kayip", "filtre-gorunmuyor"]],
  ["K11", ["es-adli-kayit", "konu-taramasi-zor", "uzatma-yolu-bilinmiyor"]],
  ["K12", ["odunc-durumu-gec", "raf-kodu-anlasilmiyor", "yazar-yazim-farki"]],
];

// Doygunluk: her gorusmenin getirdigi yeni kod
const gorulen = new Set();
console.log("gorusme  kod  yeni kod  toplam benzersiz kod");
for (const [ad, kodlar] of GORUSMELER) {
  const yeni = kodlar.filter((k) => !gorulen.has(k));
  yeni.forEach((k) => gorulen.add(k));
  console.log(
    `${ad.padEnd(8)} ${String(kodlar.length).padStart(3)} ${String(yeni.length).padStart(9)} ${String(gorulen.size).padStart(21)}`
  );
}

// Kod sikligi: bir kod kac katilimcinin notunda gecti
const siklik = new Map();
for (const [, kodlar] of GORUSMELER) {
  for (const k of new Set(kodlar)) siklik.set(k, (siklik.get(k) ?? 0) + 1);
}
const N = GORUSMELER.length;
console.log("\nkod                          katilimci  oran");
for (const [k, c] of [...siklik].sort((a, b) => b[1] - a[1] || a[0].localeCompare(b[0]))) {
  console.log(`${k.padEnd(28)} ${String(c).padStart(9)}  ${((c / N) * 100).toFixed(1)}%`);
}
console.log(`\ntoplam benzersiz kod: ${siklik.size}, son yeni kod: ${GORUSMELER.length - 4}. gorusmede`);
gorusme  kod  yeni kod  toplam benzersiz kod
K01        4         4                     4
K02        3         1                     5
K03        4         2                     7
K04        3         0                     7
K05        3         1                     8
K06        4         1                     9
K07        3         0                     9
K08        3         1                    10
K09        3         0                    10
K10        4         0                    10
K11        3         0                    10
K12        3         0                    10

kod                          katilimci  oran
es-adli-kayit                        7  58.3%
raf-kodu-anlasilmiyor                7  58.3%
odunc-durumu-gec                     6  50.0%
konu-taramasi-zor                    5  41.7%
geri-donusta-arama-kayip             4  33.3%
filtre-gorunmuyor                    3  25.0%
yazar-yazim-farki                    3  25.0%
dar-ekranda-liste                    2  16.7%
uzatma-yolu-bilinmiyor               2  16.7%
rezervasyon-sirasi-belirsiz          1  8.3%

toplam benzersiz kod: 10, son yeni kod: 8. gorusmede

İlk tablo doygunluğu gösteriyor. İlk dört görüşme on kodun yedisini getirdi; sekizinci görüşmeden sonra yeni kod gelmedi. Son dört görüşme çözümlemeye yeni bir olgu eklemedi.

Bu, “sekiz görüşme yeter” biçiminde bir kurala dönüştürülemez. Doygunluk noktası katılımcıların çeşitliliğine bağlıdır: on iki kişinin hepsi aynı bölümden seçilseydi eğri daha erken düzleşir ve bu erken düzleşme yeterlilik değil, örneklemin darlığı olurdu. Doygunluk bir durma ölçütüdür, örneklem büyüklüğü sözü değil. Uygulamadaki karşılığı şudur: yeni görüşmeler yeni kod getirmediği sürece durulur, ama katılımcı profili değiştirilerek bir kez daha denenir.

Görüşme Oranları Yaygınlık Değildir

İkinci tablo bir tuzak içeriyor. “Katılımcıların %58.3’ü eş adlı kayıt sorunundan söz etti” cümlesi doğru ama yanıltıcıdır; bu oran bir kullanıcı kitlesi hakkında bir kestirim gibi okunur. Oranın hangi belirsizlikle taşındığını hesaplamak gerekir.

// kesinlik.mjs — gorusme sayilarinin yayginlik kestirimi olarak sinirlari

const N = 12; // gorusme sayisi
const Z = 1.96; // %95 guven duzeyi
const GOZLEM = [
  ["es-adli-kayit", 7],
  ["odunc-durumu-gec", 6],
  ["rezervasyon-sirasi-belirsiz", 1],
];

const wald = (basari, n) => {
  const p = basari / n;
  const yari = Z * Math.sqrt((p * (1 - p)) / n);
  return [p - yari, p + yari];
};
const wilson = (basari, n) => {
  const p = basari / n;
  const payda = 1 + (Z * Z) / n;
  const merkez = (p + (Z * Z) / (2 * n)) / payda;
  const yari = (Z / payda) * Math.sqrt((p * (1 - p)) / n + (Z * Z) / (4 * n * n));
  return [merkez - yari, merkez + yari];
};

console.log("kod                          gozlem  Wald araligi     Wilson araligi   genislik");
for (const [ad, c] of GOZLEM) {
  const [wa, wb] = wald(c, N);
  const [sa, sb] = wilson(c, N);
  console.log(
    `${ad.padEnd(28)} ${`${c}/${N}`.padStart(6)}  ` +
      `${`${(wa * 100).toFixed(1)} - ${(wb * 100).toFixed(1)}`.padEnd(16)} ` +
      `${`${(sa * 100).toFixed(1)} - ${(sb * 100).toFixed(1)}`.padEnd(16)} ` +
      `${((sb - sa) * 100).toFixed(1)} puan`
  );
}

console.log("\nornek buyuklugu  %95 hata payi (p = 0.5)  %45 ile %55 ayirt edilir mi");
for (const n of [8, 12, 30, 100, 400, 1000]) {
  const yari = Z * Math.sqrt(0.25 / n);
  console.log(
    `${String(n).padStart(15)}  ${`+/- ${(yari * 100).toFixed(1)} puan`.padStart(21)}  ${yari * 100 < 5 ? "evet" : "hayir"}`
  );
}
console.log(`\n+/- 5 puan icin gereken en kucuk ornek: ${Math.ceil((Z / 0.05) ** 2 * 0.25)}`);
kod                          gozlem  Wald araligi     Wilson araligi   genislik
es-adli-kayit                  7/12  30.4 - 86.2      32.0 - 80.7      48.7 puan
odunc-durumu-gec               6/12  21.7 - 78.3      25.4 - 74.6      49.2 puan
rezervasyon-sirasi-belirsiz    1/12  -7.3 - 24.0      1.5 - 35.4       33.9 puan

ornek buyuklugu  %95 hata payi (p = 0.5)  %45 ile %55 ayirt edilir mi
              8          +/- 34.6 puan  hayir
             12          +/- 28.3 puan  hayir
             30          +/- 17.9 puan  hayir
            100           +/- 9.8 puan  hayir
            400           +/- 4.9 puan  evet
           1000           +/- 3.1 puan  evet

+/- 5 puan icin gereken en kucuk ornek: 385

Yedi kişinin sözünü ettiği sorunun aralığı %32 ile %81 arasında; genişliği 48.7 puan. Bu aralık, “kullanıcıların yarısından fazlası” ile “kullanıcıların dörtte biri” iddialarının ikisini de içerir. On iki görüşmeden çıkan oran bir kestirim olarak kullanılamaz.

Wald aralığının üçüncü satırda eksi bir alt sınır üretmesi ayrıca öğreticidir: normal yaklaşım küçük örneklemde ve uç oranlarda geçerliliğini yitirir, olasılık için olanaksız bir değer verir. Wilson aralığı aynı veriyi %1.5 ile %35.4 arasına yerleştirir. Bir kez gözlenmiş bir olgunun yaygınlığı hakkında söylenebilecek tek şey, bunun sıfır olmadığıdır.

İkinci tablo anketin fiyatını veriyor. Yüz kişilik bir ankette hata payı ±9.8 puandır ve %45 ile %55 arasındaki bir farkı ayırt edemez; ±5 puan kesinliğe inmek için en az 385 yanıt gerekir. Örnek büyüklüğünün dörde katlanması hata payını yarıya indirir — kesinlik, örnekle karekök hızında iyileşir.

Yöntem Seçim Kuralı

Yukarıdaki hesaplar tek bir seçim kuralına indirgenir.

  • Soru “insanlar bunu nasıl yapıyor” ise gözlem seçilir; söylenen değil yapılan ölçülür.
  • Soru “niçin böyle yapıyor” ya da “hangi kısıtlar altında” ise görüşme seçilir; çıktısı kodlanmış olgulardır, oran değil.
  • Soru “bu ne kadar yaygın” ise anket seçilir ve gerekli örneklem büyüklüğü baştan hesaplanır; hesabın karşılanamayacağı anlaşılırsa anket yapılmaz, çünkü küçük anket yanıt vermez.

Üçünün ortak kuralı, sorunun yöntemden önce yazılmasıdır. Yöntemle başlayan bir araştırma, o yöntemin yanıtlayabileceği soruya kendini uydurur.

Özet

  • Gözlem yapılanı, görüşme gerekçeyi, anket yaygınlığı ölçer; keşif gözlem ve görüşmeyle, ölçüm anketle yapılır ve sıra tersine çevrilemez.
  • Bilgilendirilmiş onay, kimliksizleştirme ve saklama sınırı yöntemin parçasıdır; onayın kapsamı sonradan genişletilemez ve ham kayıt kodlandıktan sonra silinir.
  • Görüşme sayısının ölçütü doygunluktur; örnek veride sekizinci görüşmeden sonra yeni kod gelmedi, ancak doygunluk katılımcı çeşitliliğine bağlıdır ve sabit bir sayı vermez.
  • On iki görüşmeden çıkan %58.3 oranının %95 aralığı %32 ile %81 arasındadır; nitel örneklem yaygınlık kestirimi üretmez.
  • Anket kesinliği örneklemin kareköküyle artar: ±5 puan için en az 385 yanıt gerekir, yüz kişilik bir anket 10 puanlık farkları ayırt edemez.

Sonraki Adım

Bu ders on iki görüşmeden on kod çıkardı ama katılımcıları hâlâ K01K12 kodlarından ibaret bir liste olarak bıraktı. Tasarım kararı vermek için bu listenin yapısını görmek gerekir: bazı katılımcılar birbirine benziyor mu, benziyorlarsa hangi eksende? Sonraki ders katılımcıları özelliklerine göre kümeler, davranışa göre yapılan gruplamayla demografiye göre yapılan gruplamanın aynı sonucu vermediğini hesapla gösterir ve gerçek veriye dayanan bir kullanıcı profilinin nasıl kurulduğunu ortaya koyar.

İlerlemeni kaydetmek ve not almak için Giriş yap

Notlarım

Not almak için giriş yapmalısın.

Aramak için yazmaya başlayın.

↑↓ Esc gezin · aç · kapat