עמודה אינה שאלה
למה גרף שנבנה מבורר שדות מציג שלוש מאות קטגוריות ואף לא תשובה אחת — ומה שאלה אמיתית צריכה במקומו.
מנהלת התפעול רוצה גרף אחד לישיבת יום שני: מי מאנשי המחסן שלה רושם הכי הרבה אובדני ציוד. היא מייצאת את יומן הפעילות, פותחת טבלת ציר, גוררת את ״פעולה״ לשורות ואת ״ספירה״ לערכים. בגרף שיוצא יש שלוש מאות וארבעים עמודות. כל אחת מהן היא משפט קצת אחר — ״אובדן 2 × מכשיר קשר״, ״נרשם אובדן: 1 × מכשיר קשר (פגום)״, ״הוצא כאבוד: פנס״ — ואף אחת מהן אינה התשובה.
היא לא עשתה שום טעות. היא השתמשה בכלי בדיוק כמו שהוא מזמין להשתמש בו: בוחרים עמודה, מקבצים לפיה. גם הכלי לא טעה; הוא קיבץ לפי העמודה. הבעיה נעוצה מוקדם יותר, לפני שניהם. עמודה היא אחסון. שאלה היא משמעות. היומן אחסן את מה שקרה, במילים שבהן זה קרה. אף אחד מעולם לא אמר לו מה זה ״אובדן״.
אפשר לראות את אותו הכשל בתריסר צורות. קבצו לפי המחזיק ותקבלו מזהי משתמש, לא שמות. קבצו לפי מיקום ותקבלו את ״מחסן 2״, ״מחסן2״ ו״מחסן-2״ כשלושה מקומות נפרדים. סננו את היומן לפי ״הוחזר״ ותקבלו רק אחד מתוך חמישה ניסוחים. הבורר נראה נדיב מפני שהוא מציע כל עמודה שיש. הוא נדיב בדיוק כמו שמילון נדיב למי שביקש הוראות הגעה.
עמודה מאחסנת. שאלה נושאת משמעות.
שאלה שראויה למקום בלוח בקרה עוברת שלושה מבחנים. ראשית, התשובות שלה מגיעות מאוצר מילים סופי שאפשר להקריא בקול: אחד עשר סוגי אירוע, המיקומים שכבר קיימים על הציוד שלכם, המחלקות שאנשים כבר שייכים אליהן — לעולם לא ״כל טקסט שיש בשורות״. שנית, לכל תשובה יש תווית שאנשים כבר משתמשים בה: שם המחלקה, לא המפתח שלה; התג שדף היומן מציג, לא המשפט שמאחוריו. שלישית, וזו הנקודה שמפילה בשקט את רוב לוחות הבקרה, השאלה פירושה אותו הדבר בסינון ובגרף. אם ״אובדנים״ בסינון מתאים לשני ניסוחים ו״אובדנים״ בקיבוץ מתאים לשלושה, הווידג׳ט שוגה בביטחון מלא ואף אחד לא מבחין בכך.
התיקון אינו בורר חכם יותר. הוא ההחלטה, פעם אחת, מה השאלות ומאיפה מגיעות התשובות. מקור — היומן, הפריטים, האנשים — מצהיר על השאלות שבאמת שואלים אותו. כל שאלה אומרת איפה נמצא אוצר המילים שלה: רשימה קבועה, הפניה אל שם, או הערכים הייחודיים שכבר קיימים בנתונים, אחרי ניקוי. ולכל שאלה יש כלל אחד בדיוק שהופך שורה לתשובה — גם הסינון וגם הגרף משתמשים בו, כך ששניהם לא יכולים לסתור זה את זה לעולם. העמודה הגולמית נשארת במקומה, מתחת, ליום הנדיר שבו מישהו יצטרך אותה.
אפשר לעשות את זה גם ביד. אנליסט קפדן מחזיק גיליון של ״קטגוריות קנוניות״ וטבלת הפניה למזהים, ומחיל אותם מחדש בכל ייצוא. זה מחזיק מעמד עד האנליסט השני, או עד החודש העמוס הראשון. הכלל שחשוב הוא זה שהמערכת מחזיקה בשבילכם, כי שאלה שצריך לשאול נכון מחדש בכל יום שני תישאל בסופו של דבר לא נכון. אותו הדבר נכון גם להפניה: שם שהמערכת פותרת בשבילכם בכל פעם הוא שם שאף אחד לא צריך לזכור להדביק.
כך GearLogs בונה וידג׳ט. אתם לא בוחרים עמודה; אתם עונים על כמה שאלות פשוטות: איזה מקור — הפריטים, האנשים או היומן — מה לשמור ולפי מה לפצל, איך זה צריך להיראות, ואיך לקרוא לזה. הפילוחים הם אלה שאנשים באמת שואלים עליהם — מיקום, קבוצה, מחלקה, סוג אירוע — ו״סוג״ הפעילות הוא בדיוק אחד עשר התגים שיומן הפעילות מציג, לא המשפטים שמאחוריהם. הסינון של הווידג׳ט והגרף שלו קוראים את אותו הכלל, ולכן הם לא יכולים לסטות זה מזה. וידג׳טים מוכנים מראש דורשים שתי לחיצות; בניית וידג׳ט משלכם דורשת קומץ תשובות פשוטות; ובגרף שיוצא יש בדיוק כמה עמודות כמו שיש תשובות אמיתיות — בדרך כלל פחות מעשר.
מנהלת התפעול עדיין רוצה את הגרף שלה ליום שני. היא שואלת את לוח הבקרה את השאלה במילים שלו — היומן, אובדנים בלבד, מפולחים לפי מי שרשם אותם, לאורך תשעים הימים האחרונים — ומקבלת ארבע עמודות. הגבוהה מביניהן היא השיחה.