İçeriğe geç
academia.sh

Ders 06 / 24

Problem Tanımı

Beş dersin bulgularının tek tabloda birleştirilmesi; kanıt gücü ve kayıp zamana göre sıralama, problem tanımının parçaları ve çözümün tanıma sızmasının engellenmesi.

İçindekiler

Beş ders boyunca veri biriktirildi: on kod, üç profil, yedi görev, bir yolculuk haritası ve bir karar listesi. Bu birikim henüz bir tasarım işi değil. Elde tutulabilir hâle gelmesi için tek bir soruya indirgenmesi gerekir: hangi problem çözülüyor?

Bu sorunun atlanması, araştırmanın en sık boşa gitme biçimidir. Bulgular toplanır, bir belgeye yazılır, sonra doğrudan ekran çizmeye geçilir. Çizilen ekran hangi bulguya yanıt verdiğini söyleyemez; iyi ya da kötü olduğu sınanamaz, çünkü neyi çözmesi gerektiği yazılı değildir. Bu ders önce bulguları sıralar, sonra sıralamanın tepesindeki bulguyu bir problem tanımına çevirir.

Bulguları Ortak Bir Birime Çevirmek

Bulgular farklı yöntemlerden geliyor ve doğrudan karşılaştırılamıyor: biri “yedi katılımcı söz etti”, öteki “kırk iki deneme kayıp”, bir başkası “dört adım fazla”. Karşılaştırma için ortak bir birim gerekir. En savunulabilir birim, kullanıcının ödediği zamandır.

// problem.mjs — bulgularin kanit gucu ve kayip zamana gore siralanmasi

// Bes dersin verisi tek tabloda birlestirildi (ders icin kurulmus veri).
// anan: 12 gorusmenin kacinda gecti. kaynak: bulguyu bagimsiz olarak gosteren
// veri turleri. deneme: dort haftalik donemde kayip deneme sayisi.
// dkBasina: bir kayip denemenin gozlenen ortalama maliyeti (dakika).
const BULGULAR = [
  { ad: "kitap rafta bulunamiyor", anan: 7, kaynak: ["gorusme", "gorev", "yolculuk"], deneme: 42, dkBasina: 4.8 },
  { ad: "geri donuste arama kayip", anan: 4, kaynak: ["gorusme", "gorev", "mevcut durum"], deneme: 35, dkBasina: 3.1 },
  { ad: "es adli kayit karisiyor", anan: 7, kaynak: ["gorusme", "gorev"], deneme: 16, dkBasina: 1.6 },
  { ad: "uzatma yolu bulunamiyor", anan: 2, kaynak: ["gorusme", "gorev"], deneme: 18, dkBasina: 2.4 },
  { ad: "daraltmalar gorunmuyor", anan: 3, kaynak: ["gorusme"], deneme: 12, dkBasina: 1.9 },
  { ad: "dar ekranda liste okunmuyor", anan: 2, kaynak: ["gorusme", "gorev"], deneme: 9, dkBasina: 2.7 },
];

const DONEM = 13; // yilda 13 tane dort haftalik donem
for (const b of BULGULAR) b.kayip = b.deneme * b.dkBasina;
const toplam = BULGULAR.reduce((t, b) => t + b.kayip, 0);

console.log("bulgu                        anan  kaynak  kayip dk/4 hafta  pay    yillik saat");
for (const b of [...BULGULAR].sort((a, c) => c.kayip - a.kayip)) {
  console.log(
    `${b.ad.padEnd(28)} ${String(b.anan).padStart(4)} ${String(b.kaynak.length).padStart(7)} ` +
      `${b.kayip.toFixed(1).padStart(17)}  ${((b.kayip / toplam) * 100).toFixed(1).padStart(4)}%  ${((b.kayip * DONEM) / 60).toFixed(1).padStart(11)}`
  );
}
console.log(`\ntoplam: ${toplam.toFixed(1)} dk / 4 hafta  =  ${((toplam * DONEM) / 60).toFixed(1)} saat / yil`);

// Iki siralama ayni sonucu vermiyor
const sirala = (anahtar) => [...BULGULAR].sort((a, b) => b[anahtar] - a[anahtar]).map((b) => b.ad);
const gorusmeSirasi = sirala("anan"), kayipSirasi = sirala("kayip");
console.log("\nsira  gorusmede anilma            kayip zaman");
for (let i = 0; i < BULGULAR.length; i++) {
  console.log(`${String(i + 1).padStart(4)}  ${gorusmeSirasi[i].padEnd(28)} ${kayipSirasi[i]}`);
}

// Kumulatif pay: kac bulgu kaybin cogunu acikliyor
console.log("\nkumulatif pay");
let birikim = 0;
[...BULGULAR].sort((a, b) => b.kayip - a.kayip).forEach((b, i) => {
  birikim += b.kayip;
  console.log(`  ilk ${i + 1} bulgu: ${((birikim / toplam) * 100).toFixed(1)}%`);
});

// Kanit gucu: tek kaynakli bulgu problem tanimina girmeden once dogrulanir
const zayif = BULGULAR.filter((b) => b.kaynak.length < 2);
console.log(`\ntek kaynakli bulgu: ${zayif.map((b) => b.ad).join(", ") || "yok"} (problem tanimindan once dogrulanir)`);
bulgu                        anan  kaynak  kayip dk/4 hafta  pay    yillik saat
kitap rafta bulunamiyor         7       3             201.6  47.3%         43.7
geri donuste arama kayip        4       3             108.5  25.5%         23.5
uzatma yolu bulunamiyor         2       2              43.2  10.1%          9.4
es adli kayit karisiyor         7       2              25.6   6.0%          5.5
dar ekranda liste okunmuyor     2       2              24.3   5.7%          5.3
daraltmalar gorunmuyor          3       1              22.8   5.4%          4.9

toplam: 426.0 dk / 4 hafta  =  92.3 saat / yil

sira  gorusmede anilma            kayip zaman
   1  kitap rafta bulunamiyor      kitap rafta bulunamiyor
   2  es adli kayit karisiyor      geri donuste arama kayip
   3  geri donuste arama kayip     uzatma yolu bulunamiyor
   4  daraltmalar gorunmuyor       es adli kayit karisiyor
   5  uzatma yolu bulunamiyor      dar ekranda liste okunmuyor
   6  dar ekranda liste okunmuyor  daraltmalar gorunmuyor

kumulatif pay
  ilk 1 bulgu: 47.3%
  ilk 2 bulgu: 72.8%
  ilk 3 bulgu: 82.9%
  ilk 4 bulgu: 88.9%
  ilk 5 bulgu: 94.6%
  ilk 6 bulgu: 100.0%

tek kaynakli bulgu: daraltmalar gorunmuyor (problem tanimindan once dogrulanir)

Üç bulgu okunuyor.

Anılma, maliyet değildir. “Eş adlı kayıt karışıyor” görüşmelerde yedi kez anıldı ve anılma sıralamasında ikinci; kayıp zaman sıralamasında dördüncü. Bunun nedeni maliyetinin düşük olmasıdır: yanlış kaydı açan kullanıcı yanlışı bir buçuk dakikada fark eder ve geri döner. Görüşmede çok anılan olgular, en rahatsız edici olanlardır; en pahalı olanlar değil. Rahatsızlık ve maliyet ayrı ölçütlerdir ve ikisi de yazılır, ama karıştırılmaz.

Kayıp yoğunlaşıyor. İlk iki bulgu toplam kaybın %72.8’ini, ilk üçü %82.9’unu açıklıyor. Altı bulgunun altısını da çözmeye çalışmak, ilk ikisini çözmenin dört katı iş demektir ve kazancın dörtte birini ekler. Öncelik kararının dayanağı budur.

Kanıt gücü ayrı bir sütundur. “Daraltmalar görünmüyor” bulgusu yalnızca görüşmeden geliyor; ne görev verisinde ne karar listesinde bağımsız bir karşılığı var. Tek kaynaklı bir bulgu yanlış olmak zorunda değildir, ama problem tanımına girmeden önce ikinci bir yöntemle doğrulanır. Kanıt gücü düşük bir bulguyu tanıma yazmak, araştırmanın otoritesini doğrulanmamış bir iddiaya ödünç vermektir.

Yıllık saat sütunu bir kestirimdir ve sınırı açıkça yazılmalıdır: dört haftalık bir gözlemin on üç dönemle çarpılmasıdır, mevsimsel değişimi hesaba katmaz. Dönem başına denemelerin dönem dışında da aynı kaldığı varsayılmıştır. Bu varsayım yazılmadığı sürece sayı bir ölçüm gibi okunur, oysa bir çarpımdır.

Problem Tanımının Parçaları

Sıralamanın tepesindeki bulgu bir problem değil, bir gözlemdir. Problem tanımı beş parça taşır.

  • Kim. Hangi profil etkileniyor. “Kullanıcılar” değil; ikinci derste kurulan üç profilden hangisi.
  • Bağlam. Sorun hangi görevde, hangi aşamada ve hangi koşulda ortaya çıkıyor.
  • Olgu. Ne olmuyor. Gözlenebilir bir eksiklik olarak yazılır, bir istek olarak değil.
  • Kanıt. Hangi ölçüm ve hangi yöntemle. Sayı ve kaynak birlikte yazılır.
  • Ölçüt. Problem çözülmüş sayılırsa hangi sayı ne olacak. Ölçütü olmayan bir tanım kapanamaz.

Birinci bulgunun tanımı şöyle yazılır:

Bilinen kaydı arayan ve dar ekrandan bakan profillerdeki kullanıcılar, raf koduyla rafın önüne gittiklerinde kitabı bulamıyor. Rafta arama aşamasına giren elli sekiz kullanıcının on dokuzu bu aşamada vazgeçiyor (%32.8); dört haftalık dönemde 201.6 kişi-dakika sonuçsuz harcanıyor. Bulgu üç kaynakta bağımsız olarak görülüyor: on iki görüşmenin yedisi, görev verisindeki kırk iki kayıp deneme ve yolculuk haritasındaki bırakma noktası. Problem, rafta arama aşamasındaki vazgeçme oranı %15’in altına indiğinde çözülmüş sayılır.

Bu metinde hiçbir arayüz ögesi geçmiyor. Raf kodunun nasıl gösterileceği, haritanın eklenip eklenmeyeceği, kat planının konması gerekip gerekmediği tanımın dışındadır; hepsi aynı tanımı karşılayabilecek adaylardır ve aralarında seçim yapılacaktır.

Tanımın Bozulma Biçimleri

Üç bozulma sık görülür ve üçü de tanımı sınanamaz kılar.

Çözümün tanıma sızması. “Kayıt ayrıntısında raf haritası eksik” bir problem tanımı değil, seçilmiş bir çözümdür. Sızıntının belirtisi şudur: tanım bir arayüz ögesi adlandırıyorsa, tasarım kararı zaten verilmiş demektir ve araştırma o kararı doğrulamak için kullanılıyordur. Ayırt etme ölçütü, üçüncü derste konan ölçütün aynısıdır — tanımdan en az iki farklı çözüm türetilebiliyor olmalıdır.

Kullanıcının suçlanması. “Kullanıcılar raf kodunu doğru okumuyor” cümlesi olguyu kullanıcının kusuru olarak yazar ve tasarımı kapsam dışına çıkarır. Aynı olgu “raf kodu, rafın önündeyken eşleştirilebilecek biçimde sunulmuyor” olarak yazıldığında çözüm alanı geri açılır. Kural şudur: problem tanımı arayüzün yapmadığı şeyi anlatır, kullanıcının yapmadığı şeyi değil.

Ölçütün eksik kalması. Ölçütü olmayan bir tanım hiçbir zaman kapanmaz; her yeni tasarım “daha iyi” sayılır ve hiçbiri yeterli sayılmaz. Ölçüt seçilirken erişilebilir bir hedef konur; %32.8’lik bir oranı sıfıra indirmeyi hedeflemek, kitabın gerçekten ödünçte olduğu durumları da yok saymak demektir.

Problem Tanımının Etik Yükü

Tanım, araştırmanın kamuya dönük yüzüdür ve verinin bütün yükümlülüklerini taşır.

Tanım katılımcıyı göstermez. Metinde geçen sayılar toplulaştırılmış olmalıdır. “Gece görevlisi olan katılımcı rafta bulamıyor” cümlesi bir kişiyi işaret eder; bu bilgi tanımda değil, silinmiş ham notta kalır.

Kapsam dışı bırakılanlar yazılır. Örneklemde ekran okuyucu kullanan katılımcı yoksa, tanım bu grubun sorunu hakkında bir şey söylemiyor demektir. Sessizlik yokluk değildir; tanımın altına “bu grup ölçülmedi” satırı yazılır. İkinci derste profil için konan kural burada tanım düzeyinde yinelenir.

Sayının kaynağı izlenebilir kalır. Tanımdaki her sayı, hangi yöntemle ve hangi dönemde elde edildiğine geri götürülebilmelidir. Kaynağı gösterilemeyen bir sayı tanımdan çıkarılır; kaynağı olmayan sayı, kanıt değil süstür.

Özet

  • Farklı yöntemlerden gelen bulgular ortak bir birime — kullanıcının ödediği zamana — çevrilmeden karşılaştırılamaz.
  • Görüşmede en çok anılan bulgu en pahalı bulgu değildir; örnek veride bir bulgu anılmada ikinci, maliyette dördüncü sırada çıktı.
  • Kayıp yoğunlaşır: örnek veride ilk iki bulgu toplamın %72.8’ini açıkladı ve öncelik kararı bu yoğunlaşmaya dayanır.
  • Kanıt gücü ayrı bir sütundur; tek kaynaklı bir bulgu problem tanımına girmeden önce ikinci bir yöntemle doğrulanır.
  • Problem tanımı kim, bağlam, olgu, kanıt ve ölçüt parçalarını taşır; ölçütü olmayan tanım kapanmaz ve tanımdan en az iki farklı çözüm türetilebilmelidir.
  • Tanım kullanıcının yapmadığını değil arayüzün yapmadığını anlatır, katılımcıyı göstermez ve ölçülmemiş grupları açıkça yazar.

Sonraki Adım

Problem tanımlandı: rafta arama aşamasındaki vazgeçme oranı düşürülecek ve konu tarayan kullanıcının karşılaştırma yolu kısalacak. Çözüm alanı hâlâ açık ve ilk soru ekranların kendisi değil, aralarındaki yapıdır. Katalog arayüzü binlerce kayıt, onlarca konu ve birkaç işlem taşıyor; bunların hangi başlıklar altında toplanacağı bir üslup sorusu değildir. Sonraki ders yapının içerikten nasıl türetildiğini gösterir: içerik envanterinin çıkarılması, kart gruplama verisinin toplanması ve katılımcıların birlikte gruplama örüntüsünden benzerlik matrisi kurulması.

İ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