#7 הארכיטקט

The architect #2

למה הארכי-טקט המצוי תמיד מאחר? איך זה שאף אחד לא מסוגל לקרוא את מסמכי הארכי-טקטורה? ובכלל מי עובד בשביל מי?

לפני כמה שנים קרסה תקרה של חנייה ברמת החייל ומספר אנשים נהרגו. באחת הכתבות שהופיעו באינטרנט כמה ימים לאחר התאונה הופיע ציטוט של מנכ"ל החברה: "הטעות שלנו הייתה שלקחנו ארכיטקט ולא מהנדס". אני חושב שהמשפט הזה די מסכם את מה שמהנדסי הפיתוח חושבים על הארכיטקטים (או "גורואים" או אסטרטגי תוכנה, או כל שם אחר).

למי שלא מכיר או יודע, הארכי-טקטים הם מהנדסים בכירים מאוד ומוכשרים מאוד עם הרבה מאוד ניסיון, שתפקידם הוא להגדיר את הפיצ'רים והשינויים הגדולים בקו המוצרים העתידי של החברה. כמו כן על הארכי-טקט להציע פתרונות יצירתיים לבעיות חומרה ותוכנה שעלולות להתעורר תוך כדי מימוש הפיצ'רים החדשים. זוהי הגדרת התפקיד של הארכי-טקט. בפועל המצב שונה מעט. למעשה הארכי-טקטים עסוקים בלייצר פתרונות יצירתיים לבעיות תיאורטיות שכלל אינן קיימות. לאחר מכן הארכי-טקטים פותרים את הבעיות שיצרו אותם פתרונות יצירתיים, אלא שפתרונות אלו מייצרים בעיות אחרות. וכך הלאה במעגל אין סופי של בעיה תאורטית המובילה לפתרון יצירתי שגורם לבעיה תאורטית אחרת. הבעיה הלא תאורטית בכלל שנוצרת ממצב זה, היא שהארכי-טקט המצוי תמיד מאחר ואף פעם לא מסוגל לספק את הארכיטקטורה בזמן, כיון שהוא תמיד עסוק בלפתור את הבעיות שהוא עצמו יצר.

בנוסף פעמים רבות המסמך המכונה "ארכיטקטורה" הוא על פי רוב אוסף של שרטוטים לא ברורים, הנחות עבודה מעורפלות ומסקנות שבלתי אפשרי להוכיח אותן. התחושה הכללית בעת קריאת מסמך ארכיטקטורה אופייני היא שלארכי-טקט אין זמן להתעסק בפרטים לא חשובים כגון הגדרות הממשקים, ביצועי המערכת, טיפול בשגיאות או איך בכלל הדבר הזה אמור לעבוד. אלו הן זוטות שאין מכבודו ומחוסר זמנו של הארכי-טקט לטפל בהם. הארכי-טקט רואה את התמונה הכללית מגובה שלושים אלף רגל, ומתווה את הכיוון בו צריך הארגון לצעוד. באמת קצת קשה להבחין בפרטים מגובה כזה.

לו היה הארכי-טקט אסטרטג צבאי, אזי מסמך התכנון למבצע לכיבוש יעד מבוצר היה נראה פחות או יותר כך: יש לאסוף כמות מספקת של חיילים ונשק, לשלוח אותם במספר ראשי חץ מכיוונים שונים, לתקוף בתיאום מושלם בין הכוחות תוך הפתעה מוחלטת של האויב. יש להימנע ככל האפשר מנפגעים. אכן תוכנית מושלמת. באופן כללי ניתן לומר שארכי-טקטים נוטים להתעלם מלוחות זמנים, מפרטים טכניים ובכלל מהמציאות.

אמנם ישנם מספר מצומצם של ארכי-טקטים, בעיקר כאלו שהיו עד לא מזמן מהנדסי פיתוח, שכן מנסים לרדת לרזולוציה נמוכה ולוודא שלא רק שהעסק אמור לעבוד, אלא אפילו לעבוד טוב. וכאן נוצרת בעיה הפוכה. הארכי-טקט משקיע את מיטב זמנו ומרצו לפתור את כל הבעיות, קטנות כגדולות. אך כיון שהוא לא כל כך מעורב בפרטים, הוא מבקש עזרה. כך נוצר מצב שבמקום שהארכי-טקט יעבוד עבור קבוצות הפיתוח, קבוצות הפיתוח עובדות בשבילו. החל מישיבות ארוכות בהן מסבירים לו מה בעצם המערכת עושה, דרך סיעורי מוחות על פתרונות אפשריים וכלה בביצוע ניסויים מוזרים על פי בקשת הארכי-טקט שיכולים לארוך מספר שבועות. אגב, בסופו של התהליך הארכי-טקט הגאה מגיש מסמך באורך של 800 עמודים שאף אחד לא מסוגל וגם לא רוצה לקרוא.

לכן אין זה מפתיע שנוצר אי אמון מסוים בין קבוצות הפיתוח לבין הארכי-טקטים שלהם. לא רק שהארכי-טקטים לא מספקים את הארכיטקטורה בזמן, אלא שכאשר הם כבר שולחים איזה מסמך הוא לא ממש מספק את הסחורה, או שהוא כל כך ארוך שלא ניתן לקרוא אותו. בתור מי שהיה מהנדס ומנהל צוות פיתוח לא מעט שנים אני יכול להעיד על מספר רב של פעמים בהם פשוט התעלמנו מהארכיטקטורה, לא מעט בגלל העובדה שהיה נראה שהארכיטקטורה התעלמה מאיתנו. אני עוד זוכר את המשפט המופתי שאמרתי באחת מישיבות הפוסט מורטם של אחד הפרוייקטים היותר מאתגרים שהיו לנו: "אנחנו הצלחנו לא בזכות הארכיטקטורה שלנו, אלא הצלחנו למרות הארכיטקטורה שלנו".

למרות כל האמור לעיל, תפקיד הארכי-טקט הוא עדיין תפקיד נחשק מאוד, וכל מהנדס מתחיל שואל את עצמו איך בכלל הופכים להיות ארכי-טקט. שכן תפקיד הארכי-טקט נתפס כתפקיד בעל השפעה גדולה יותר, חוצה ארגונים ודיסיפלינות, וכמובן מאפשר חשיפה גדולה יותר להנהלה הבכירה. כמו כן נראה שבניגוד לתפקידים דומים בפיתוח או בבדיקות, בארכיטקטורה לא ממש משלמים על טעויות. למהנדסי הפיתוח פותחים באגים, אנשי הבדיקות צריכים להגיע לכיסוי גבוה של תוכנית הבדיקות, ושניהם יחד אמורים להגיע בזמן ובאיכות גבוהה. והארכי-טקטים – הם כבר עם הראש בפרוייקט של עוד שלוש שנים (תגידו לי שזה לא נכון…)

אם אתם קוראים את השורות האלו (רוב הקוראים כבר נשברו… חוץ מכמה ארכי-טקטים כועסים שקוראים עד הסוף בשביל לחשוב איך להתנקם בי), אז ודאי הבנתם מה היא דעתי על ארכי-טקטים ועד כמה אני מעריך אותם ואת עבודתם. אלא שיום אחד זה קרה. כתוצאה של צירוף מקרים מוזר במיוחד ועזיבה מפתיעה של ארכי-טקטית בכירה הפכתי להיות ארכי-טקט בעצמי. זה לא היה מהלך מתוכנן, ולא ממש רציתי. אבל המנהלים ממש ביקשו וגם אני חשבתי שאולי הגיע הזמן לשינוי מרענן, אז הסכמתי.

מה אני יכול להגיד. דברים שרואים מכאן לא רואים משם. רק כשהפכתי להיות ארכי-טקט הבנתי איזו אחריות כבדה זו. אתה צריך להיות בעל חושים מחודדים על מנת להבין לאן התעשיה והשוק הולכים, ולעזור לתכנן את דור המוצרים הבא של החברה ולוודא שלא מפספסים פה בגדול. צריך להיפגש עם הלקוחות לדיונים אסטרטגיים ולהכין מצגות עתירות אפקטים על מצבנו היום ואיפה נהיה בעוד כמה שנים.

האמת התפקיד היה יכול להיות מאוד נחמד, למעט בעיה אחת מטרידה. קבוצות הפיתוח. כל הזמן יש להם תלונות: מתי מסמך הארכיטקטורה יהיה מוכן? למה המסמך לא מפרט את כל השלבים הנדרשים לביצוע אתחול מחדש? יש סתירה בין פרק שלוש לפרק תשע? ועוד ועוד. אני ממש לא מבין אותם! מה הם חושבים לעצמם?! שיש לי זמן להתעסק בכל הפרטים האלה? בשביל מה משלמים להם משכורת?! אני לא אמור לעשות להם את כל העבודה. אני חושב שהדיאגרמות האלה עם החיצים והמלבנים שהשקעתי בהן כל כך הרבה זמן מסבירות את המערכת ואת התהליכים המרכזיים בצורה מאוד ברורה, בלי לרדת יותר מדי לפרטים.

והכי גרוע, זה שבסוף אני מגלה שהמוצר בכלל מומש באופן אחר ממה שאני הגדרתי, ועוד אומרים לי שזה בגלל שהארכיטקטורה התעלמה מאי אילו פרטים. נו באמת, מה הם רוצים? שאני אעשה גם את העבודה שלהם?

והמהנדס החכם אומר: ההבדל בין ארכי-טקט למהנדס הוא, שהמהנדס באמת צריך לעבוד

3 תגובות בנושא “#7 הארכיטקט

להשאיר תגובה

הזינו את פרטיכם בטופס, או לחצו על אחד מהאייקונים כדי להשתמש בחשבון קיים:

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת /  לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת /  לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת /  לשנות )

מתחבר ל-%s