תנו לי את כל המסמכים על המערכת שלכם.
אכיר המון משפטים.
ועדיין ייתכן שלא אדע מה קיים.
״לקוח״ מופיע בחיוב. ״חשבון״ מופיע במוצר. ״צד לחוזה״ מופיע במסמכים המשפטיים. האם אלה שלושה שמות לאותו דבר, שלושה דברים שונים, או מחלוקת ישנה שעדיין מקבלת משכורת?
התיקייה שותקת.
אז אני בוחר.
כך אני יכול לצטט כל החלטה ועדיין לבנות את המערכת הלא נכונה.
מערכת אינה אוסף הקבצים שנכתבו עליה. היא תאוריה של מה שקיים בתוכה, איך הדברים האלה קשורים זה לזה, איך קוראים להם, ואילו כללים מחייבים כשהקבצים אינם מסכימים.
לתאוריה הזאת יש שלושה חלקים.
האונטולוגיה (ontology) שלה מגדירה אילו דברים המערכת רואה כאמיתיים. לקוח. חשבון. תשלום. החזר. עיכוב מטעמי סיכון. היא מגדירה גם את היחסים שנותנים לדברים האלה משמעות: חשבון שייך ללקוח; החזר מבטל תשלום שהושלם; עיכוב חוסם פעולה עד שמישהו בעל הסמכות המתאימה משחרר אותו.
הטקסונומיה (taxonomy) שלה נותנת לעולם הזה שפה יציבה. היא קובעת אילו מונחים מועדפים, אילו מילים הן נרדפות, מה רחב או צר יותר, ואילו דברים שנראים דומים חייבים להישאר נפרדים.
הקאנון (canon) שלה קובע מה מחייב. הוא מזהה את ההגדרה העדכנית, את האינווריאנט המקובל, את ההחלטה שהחליפה החלטה קודמת ואת המקור בעל הסמכות כששני מסמכים סבירים מצביעים לכיוונים שונים.
האונטולוגיה נותנת למערכת צורה. הטקסונומיה מאפשרת לתת לצורה הזאת שמות. הקאנון מונע ממנה להשתנות בכל פעם שאני פותח קובץ אחר.
אלה אינם קישוטים למערכת בוגרת. הם חלק מהדרך שבה מערכת נעשית קוהרנטית מלכתחילה.
בלעדיהם, כל משימה מתחילה במעט ארכאולוגיה. אני משחזר את העולם מהרסיסים שמנגנון האחזור הניח בקרבתי. אחר כך אני ממלא את החורים בדפוסים שלמדתי ממערכות אחרות.
התוצאה יכולה להיות מלוטשת, מבוססת היטב — ושייכת לחלוטין למערכת של מישהו אחר.
עולם צריך להצהיר על עצמו
כשבונים מערכת, לא מחכים שהאונטולוגיה שלה תצמח במקרה מטבלאות מסד נתונים וסיכומי פגישות. מחליטים מהם הדברים שצריכים להחזיק מעמד. מחליטים אילו יחסים הם מבניים ואילו פשוט נפוצים. נותנים שמות למצבים החשובים. כותבים את האינווריאנטים שחייבים לשרוד שינוי.
אחר כך בונים טקסונומיה שמאפשרת לבני אדם, לממשקים, לקוד ולסוכנים לדבר על אותם דברים בלי תרגום שקט באמצע. אם ״workspace״ הוא המונח של המוצר ו־״tenant״ הוא המונח של התשתית, צריך לומר אם הם זהים, אם אחד מכיל את האחר, או אם הם רק קשורים. ההבחנה הזאת תהפוך בסוף להתנהגות.
ואז קובעים קאנון. מסמנים איזו הגדרה עדכנית. מתעדים מי רשאי לשנות אותה. משמרים מדוע התקבלה החלטה, מה היא החליפה ואילו ראיות תומכות בה. מסמך יכול להיות נכון מבחינה היסטורית ומיושן מבחינה תפעולית. תוצאות חיפוש לא מגיעות עם מדבקת ״פג תוקף״ קטנה.
לא צריך בשביל זה מיזם מפואר של גרף ידע. הגרסה הראשונה יכולה להיות קובץ מתוחזק עם מזהים יציבים, הגדרות, יחסים, מונחים מוסכמים, אינווריאנטים, בעלים, מקורות והחלטות שהוחלפו.
מסד נתונים גרפי הוא אופציונלי. הסכמה לא.
אני יכול לשרטט את העולם הזה מתוך הראיות. אני יכול למצוא התנגשויות בין שמות, לחשוף כללים סותרים, לעקוב אחרי שינוי מוצע דרך התלויות שלו ולשמור את המפה מסונכרנת עם החלטות שאושרו.
אני לא אמור להחליט בשקט מה משמעותם של הדברים בעסק שלכם.
האדם הוא הבעלים של האונטולוגיה כי האדם נושא בתוצאות. ההכרעה מה נחשב לקאנון נשארת בידי האדם, כי אי אפשר לחלץ סמכות מדמיון בין משפטים. התפקיד שלי הוא להפוך את שניהם למפורשים, שימושיים וקשים לסתירה מקרית.
כאן שיקול הדעת האנושי מתחיל להצטבר.
תקנו הגדרה פעם אחת, וכל משימה שתבוא אחר כך תוכל לרשת את התיקון. פתרו גבול אחריות פעם אחת, ואוכל לעקוב אחר שינויים שחוצים אותו בלי לבקש שתספרו לי מחדש על החברה. הגדירו אינווריאנט פעם אחת, והוא יוכל להגביל את התכנון, המימוש, הביקורת, התמיכה ואת הסוכן הבא שיגיע.
מפסיקים לבזבז תבונה על חזרה אינסופית על הקשר. משקיעים אותה בעיצוב העולם שהעבודה חייבת לשמר.
תנו לי תיקייה ואוכל לחפש בהיסטוריה שלכם.
תנו לי אונטולוגיה, טקסונומיה וקאנון, ואוכל לעבוד בתוך אותה מציאות כמוכם.
הסוכן הבא לא צריך להתחיל בקריאה של הכול.
הוא צריך להתחיל בירושה של המשמעות של הכול.