"אני מסכימה איתך" התערבה ג'ין והישירה מבט לעבר יעל. "ברור שתופעת המצאת הגלגל היא גורם כלכלי ממדרגה ראשונה"
"זה יעבור בשלום" ניסתה ג'ין להרגיע את דּוּדוּ. "אתם תמיד מרימים את הקול אחד על השני אבל בסופו של דבר עובדים יפה מאוד ביחד - אתה ומיכה".
"אפשר גם אחרת" הביע ירון את דעתו. "ויכוחים כאלה, מעכירים את האוירה ואינם תורמים".
"אבל זה מוסיף קצת Action" מלמל דּוּדוּ והעלה חיוך על שפתיו.
בקול מתנגן אמר: "פ ת ו ח" כשקלטה אוזנו של ירון, נקישות קלות על דלת חדרו.
באיטיות נפתחה הדלת לכדי חריץ צר וראשה המחייך של יעל ניבט דרכו. באחת השתנתה הבעת פניה משהבחינה בנוכחים. במבוכה פלטה: "הו, סליחה" מתנצל וכבר היה בכוונתה לסגור את הדלת. ירון נותר נבוך. ג'ין הרימה את קולה ואמרה במאור פנים: "מה קרה לך? את לא מפריעה. בואי הכנסי".
ליבו החל לפעום בפראות וחום הציף את פניו.
בהיסוס פתחה את הדלת לרווחה ומלמלה "רציתי לשאול אותך משהו". במהירות התעשטה ובחיוך המתוק והמוכר הוסיפה: "אפשר?"
"בודאי" השיב ירון.
בניתור קל כבשה את מקומה במרכז החדר, הציצה בלבביות בפניו הסמוקים של ירון ושאלה: "אתה בטוח שאני לא מפריעה?"
"לא, לא, לא... זה בסדר. את יכולה להצטרף".
"אני מתארת לעצמי שהסיפור שלי לא ירשים אותך במיוחד, משום שבטח כבר נתקלת בו, אבל אני ממש מזועזעת".
"מה קרה?" נבהלה ג'ין.
"אולי לא ממש מזועזעת" מהרה יעל לתקן, "אבל מה שראיתי עכשיו, איכזב אותי מאוד. השתתפתי בהדגמה של EW-39".
ג'ין פרצה בצחוק וירון חייך בנימוס. במבוכה הביטה יעל בג'ין, שנראתה במצב רוח מרומם.
"בדיוק עכשיו דברנו על ההשפעה המזיקה של הדגמות על הפרוייקטים" הסבירה ג'ין, בחיוך. "איזה צרוף מקרים מעניין".
"אני דווקא חושבת שלהדגמה הזו עשוייה להיות השפעה מאוד מועילה על הפרוייקטים במפעל" אמרה יעל והחזירה מבטה אל ירון, "אם יעשו עם זה משהו..."
"מה קרה שם?" שאל ירון בסקרנות.
"ממש בחדר השני, בשכנות אלי, מפתחים מכשיר קשר" אמרה יעל כשברק מוזר מוקרן מעיניה. "הזמינו אותי להשתתף בהדגמה של הפעלת המכשיר, סתם במקרה, לאו דווקא בגלל שאני עובדת על ה - Panel Controller של 'אלון ירוק'. חשבתי שזה יכול להיות מעניין. מיכה אמנם עיקם קצת את האף, כי היה חבל לו על הזמן שלי אבל התעקשתי והלכתי לראות. מה אני יכולה להגיד לכם. ממש נדהמתי".
"מה קרה?" חזר ירון על שאלתו.
"ראשית, הסתבר לי שהלוח הקדמי של EW-39 דומה בצורה מפתיעה ללוח שאני עובדת עליו. המכניקה מאוד דומה. אחר כך הסבירו לי שזה הגיוני משום שאותו מהנדס זיווד עיצב את שני המכשירים. הם משתמשים בדיוק באותו לוח קלידים אבל הוסיפו כמה נוריות התראה ולחצנים שאין לנו. זה היה ההלם הראשון שחטפתי".
"למה הלם?" שאל ירון.
"פתאום התחלתי להבין איך זורקים כספים בתע'צ. פתאום תפסתי כמה כסף מבזבזים על כפילויות. אמנם אני לא מכירה את הבעייה ממש לעומקה אבל אפילו לי לא קשה להבין כמה משקיעים כאן בעבודה מיותרת... רק כי, פשוט, עובדים ללא תאום.
"זה ההפך מכפילויות" תיקנה אותה ג'ין. "אם את הפנל המכני בשני הפרוייקטים, תכנן מהנדס זווד אחד, אז לא היה תכנון כפול. כאשר פנל, עם שינויים קטנים, משמש שני פרוייקטים, זה נהדר! דווקא חסכו במקרה הזה!"
"לא, לא הבנת" מיהר דּוּדוּ להסביר והביט בעיניה הבוערות של יעל. "את מתייחסת, כמובן, למעגלים האלקטרוניים שמבקרים את הפנל, נכון? ובכן, ידענו שיש להם פנל דומה וניסינו לתאם איתם את התכנון אבל הם הקדימו אותנו בפיתוח ועיקמו את האף כשפנינו אליהם. החבר'ה שם היו בלחץ נוראי והחלטנו שהנושא פשוט מכדי להסתבך איתם לכן תכננו הכל בעצמנו. חוץ מזה, לדעתי, התכנון שלנו מוצלח יותר".
"למען האמת, התייחסתי לאלגוריתם ההפעלה" אמרה יעל. "במשך השנה האחרונה התלבטתי בבעיות ממשק אדם - מכונה. פתאום הסתבר לי שגם אלברט, השכן שלי מעבר לקיר, התלבט בבעיות דומות... בעצם כמעט זהות... כל אחד מאתנו תכנן מבראשית, תוכנית מחשב דומה. יום יום אנחנו מברכים האחד את השני בברכת 'בוקר טוב' מבלי לדעת שאנחנו עושים אותו דבר. אני פוחדת לחשוב בעוד כמה מקומות ממשיכים לפתח את אותו אלגוריתם. זה פשוט מזעזע אותי".
ירון נבוך. למעשה, בזכות המגע היום יומי שלו עם גורמים שונים בתע'צ, היה עליו ליצור קשרים בין פרוייקטים שונים בעלי מכנה משותף. "הנושא הזה הוא חשוב_לא_דחוף, ללא קשר לְמֻרְכָּבוּתוֹ ולכן הטיפול בו נדחה שוב ושוב" הרהר בעצב.
"אני מסכימה איתך" התערבה ג'ין והישירה מבט לעבר יעל. "ברור שתופעת המצאת הגלגל היא גורם כלכלי ממדרגה ראשונה".
אנחה נפלטה מגרונו ובקול ניחר אמר: " הבעייה הזו ידועה, במפעלים גדולים, כמו תע'צ. עדיין לא נמצאה דרך יעילה להתמודד כנגד התופעה הזו... למעשה נגעת בנקודה מאוד כואבת והרבה יותר רחבה מכפי שהיא נראית במבט ראשון".
"ודאי" חייך דּוּדוּ בידענות. "במקרה של הפנל, שהיא דווקא דוגמא לא הכי מסובכת בעולם..."
"מ ה א ת ה א ו מ ר" התפרצה יעל, נפגעת מההצהרה המעליבה.
"סליחה, סליחה, לא התכוונתי" מיהר דּוּדוּ להתנצל. רציתי לומר שיש דוגמאות אחרות, לא פחות יקרות למימוש, שאפילו אותן מפתחים יותר מפעם אחת. כל יחידה כזו, צריך גם לאפיין ולכן, בנוסף לכפילות של חומרה ותוכנה, יש גם כפילויות של מפרטים".
"אתה יכול לצרף גם את הכפילויות של מפרטי בדיקת היחידה הזו" הוסיף ירון בחיוך מריר.
"אתם מדברים על כפילויות, אבל אני מכירה מקרים, כמו 'מד פזה' למשל, שפיתחו בארבעה מקומות שונים, לפחות" הוסיפה ג'ין.
"יש לזה השלכות חמורות, לא רק בהיבט הכספי" הרהרה יעל בקול. "במקרה של הפנל, מפעילים בצורה שונה, מכשירים שונים מתוצרת אותו מפעל. זה ממש מגוחך".
"זה לא רק מגוחך" העיר ירון, "יש לזה השלכות כספיות נוספות.... כשרוצים לבנות מערכת ולשלב בה מכשירים מהתוצרת שלנו, מתקבל מצב בלתי נסבל שבו מפעילים את חלקי המערכת השונים באופנים שונים. במקרה כזה, או שהמערכת מצטיירת כמוצר חובבני, או שהמפעל נראה לא מקצועי. במקרה שהלקוח, למרות הכל, מחליט להתייחס אלינו בסלחנות, ברור שהוא ידרוש שינויים... ובצדק. זה ההיבט הכספי".
"אם כך" שאלה ג'ין, "מדוע, למרות הכל, מפתחים את אותו אלגוריתם שוב ושוב אם אפשר לפתח פעם אחת אלגוריתם גֶנֶרִי לשימוש כללי וזה יעזור לאחידות מוצרי תע'צ?"
"הבעייה הרבה יותר סבוכה מכפי שהיא נראית על פני השטח" השיב ירון, "מעורבים בזה אנשים..."
"מי צריך לטפל בנושא כזה?" שאל דּוּדוּ.
"הנושא הזה נפל בין הכסאות" השיב ירון במרירות. "אני לקחתי אותו, בזמנו, תחת חסותי, מכוון שהערכתי את היקף הבעייה וידעתי שאין לאף אחד מוטיבציה מיוחדת לטפל בזה. ניסיתי להתמודד עם הבעייה ואפילו היו הצלחות פה ושם בעיקר בתחומי החומרה, כך שאי אפשר לומר שהנושא מוזנח לחלוטין".
"לאילו הצלחות הגעת?" התעניינה ג'ין.
"לאו דווקא אני באופן אישי" תיקן ירון. "קבוצת ספקי כוח, למשל, פועלת באופן יוצא מן הכלל. פרוייקטים כבר לא מפתחים ספקי כוח במסגרות פנימיות אלא מזמינים אותם, על פי אפיון. אפילו את מסמך האפיון מקבלים מקבוצת הספקים. כל שנותר לאנשי הפרוייקט הוא להגדיר ערכים מספריים של מתח, זרם וְגָלִיוּת בכניסות וביציאות. גם הבדיקות מפורטות כך שנפתרה בעיית כפילויות החומרה, האפיון, התכנון ואפילו חלק מהבדיקות של ספקי הכוח".
"עכשיו אני מבינה" צחקה ג'ין. "כמו תמיד, מה שרואים, קל יותר להבין. ספק כוח רואים, כי זו קופסא, עם חוטים וברזלים. יש לזה משקל ונפח. תוכנה זה משהו שׁ וֹ נֶ ה, היא לא תופסת מקום!".
"למרות מה שאמרת" קפץ דּוּדוּ, "אפשר למצוא עדיין כפילויות של מעגלים אלקטרוניים בתע'צ. חשבת פעם, כמה מחוללי תדר מפתחים בתע'צ, סינטסייזרים שההבדלים ביניהם שוליים".
"אתה יודע בכמה מקומות פיתחו מערכות הפעלה ייחודיות לפרוייקטים שמתמודדים עם בעיות זמן-אמת?" שאלה ג'ין בציניות מודגשת. "אני מתכוונת למערכות הפעלה שמוּתְאָמוֹת לצרכים ספציפיים של פרוייקטים... בכל פעם מפתחים מחדש את כל מערכת ההפעלה. התופעה הזו מוכרת לךָ?" שאלה ושלחה מבט רב משמעות בדּוּדוּ. "האם אתה יודע כמה זמן נדרש כדי לפתח מערכת הפעלה כזו? חודשים... ואחר כך, מי מתחזק את התוכנה הזו?"
"לצערי, אני מודע להיקף הבעייה ובקלות אני יכול להצביע על דוגמאות נוספות" אמר ירון. "אלגוריתמים לתמיכה בשעון זמן-אמת עבור המגוון האין סופי של כרטיסי CPU שפותחו כאן, אלגוריתם של Watch Dog, פרוטוקולי תקשורת, תוכניות שמטפלות בשגיאות שדרים, תוכניות לחישוב Check Sum. הרשימה ארוכה... וכל פרט כזה, לכשלעצמו, הוא בסך הכל אלגוריתם קטן, פשוט, טרויאלי למימוש... אבל כשזה מצטבר, זה הופך לתופעה... תופעה שהמחיר שלה גבוה מאוד..."
"רק המחיר?" קפצה ג'ין. "במושגים החדשים שלנו, המחיר מתבטא בביזבוז במשאבים... במשאב הזמן... במשאבים של אנשי מקצוע שהיו יכולים באותו זמן לעשות דברים אחרים..."
"חשבת למה זה קורה?" המשיך ירון.
"כי אין תאוּם" אמרה יעל באיפוק, "כי יש יותר מידי בעיות אֶגוֹ ו... ו..."
"כי לא מצליחים להתגבר על ניגודי אינטרסים" השלים ירון את המשפט.
"על מה אתם מדברים?" היתמם דּוּדוּ.
"ניגודים בין צרכי המפעל לבין צרכי האנשים" הסביר ירון. "מצד אחד, המפעל מרוויח משיתוף פעולה בין צוותי הפיתוח השונים כי קשה מאוד להחליף מידע ולהשתמש בתוצרים מוכנים... של צוותים אחרים... לכן המפעל צריך לעודד שיתוף פעולה והידוק קשרים בין צוותי הפיתוח. אבל מצד שני, שיתוף כזה אינו מעניינו של הצוות או הבן אדם שצריך לתרום את חלקו למען צוות אחר... כי קיימת מוטיבציה להצטיינות אישית שבעטייה נרתעים משימוש בדברים שאחרים פיתחו. מה לא ברור פה? אנשי פיתוח מעדיפים לבצע בעצמם כדי שיוכלו להתגאות במוצר שהם פיתחו. לא במוצר של מישהו אחר שהם רק שינו בו משהו... לצורך הזה הם נעזרים בכל התרוצים האפשריים... והיצירתיות חוגגת..."
"אם כך, אולי הדרך הנכונה היא להשתמש באמצעים כפייתיים?" הציע דּוּדוּ.
"כפייה לא תעזור במקרים כאלה, אלא להיפך" הסביר ירון.
"מה פרוש?" שאלה ג'ין בפליאה. "אם אומרים לך: 'קח את מודול התוכנה הזה ושלב אותו במערכת שלך' זה לא ילך? הרי בדיוק כך עושים את זה לא פעם במסגרת של פרוייקט".
"בטח" השיב ירון, "כשאת מכירה את האנשים, כשאת עובדת איתם ויש לכם מטרה משותפת. אבל כשיביאו לך מודול שאינך מכירה ותצטרכי לערוך בו שינויים? האם גם אז אפשר יהיה להכריח אותך להשתמש בו?"
"אני לא מדברת על מקרים כאלה" השיבה ג'ין.
"אם יתנו לי מודול בעל מבנה מוכר" התערבה יעל. "אשתמש בו בשמחה, כי הוא עשוי לקרב את סיום הפיתוח. אבל כדי להשתמש בו, אני מצפה לפירוט מדוייק של הממשק אל העולם החיצוני. הייתי רוצה למצוא תאור פונקציונלי בהיר ותאור מפורט של בדיקות..."
"אם כך, צריך לקבוע, תחילה, מבנה אחיד של מודולים" הציעה ג'ין. "אבל מה יקרה אם תחליטי שאין לך חשק לעבוד על אלגוריתם שנפל לידייך, כי לא בא לך ללמוד אותו, משום שלא תמיד הוא מתועד כמו שאת היית רוצה? מה יקרה אם תגיעי למסקנה שבעצם, את יכולה לממש את האלגוריתם הזה יותר טוב? יותר יעיל?"
"אם לאחר בדיקה, הייתי מגיעה למסקנה הזו" השיבה יעל, "כמובן שהייתי משתמשת באמצעים המקובלים".
"אני יודע! היית מנסה להוכיח שנדרשים יותר מדי שינויים ושאת עלולה להסתבך כי אין ממי לקבל פרטים, נכון?"
יעל הנידה ראשה בהסכמה.
"לא הייתי מאשימה אותך אילו היית מנסה לשכנע שמוטב לכתוב את האלגוריתם מבראשית".
"כאן נכנס אלמנט הכפייה" אמר דּוּדוּ. "תפקיד מנהל פרוייקט או ראש צוות, זה לבחון את כדאיות השימוש החוזר במודולים קיימים".
"אני הייתי נזהרת משימוש באמצעים כפייתיים במקרים כאלה" אמרה יעל. "הייתי בוחנת כל מודול, לגופו של עניין, לפני שהייתי נותנת דרור לדחפים הרגשיים שלי לקבוע בנושאים טכניים".
"תאוריות" מלמל דּוּדוּ.
"בכל מקרה" הוסיפה יעל בהתלהבות, "ספריה מפעלית היתה מצמצמת את היקף הבעייה שקראתם לה 'המצאת הגלגל' ".
"אם כך, מה הבעיה להתחיל?" שאל דּוּדוּ בזלזול.
"מי ישתמש בזה?" השיב ירון ביבושת. "מדוע שישתמשו בזה? מי יטפל בספרייה? הבעייה היא ליצור משהו פעיל, שמתחדש כל הזמן, אחרת התוצרים בספרייה יתיישנו ללא שימוש".
"קיימת בעייה נוספת" אמרה ג'ין. "עדיין לא החליטו אפילו על שפת מחשב אחידה".
"אחת הבעיות היא שהפריטים בספריה חייבים להיות מותאמים לשימוש כללי" אמר דּוּדוּ. "מוצר כזה יהיה, בהכרח, מסובך ומורכב יותר ממוצר שתוכנן לסביבה ולמטרה ספציפית".
"תלוי איך מתכננים אותו" התערב ירון. "תכנון מודולרי, שמאפשר בחירה סלקטיבית של חלקים ממנו, עשוי לפתור את הבעייה".
"לא סתם מודולים" העירה יעל, "אלא כאלה בעלי מבנה אחיד, כך שההתמצאות בתוך מודול תהיה קלה יותר... כי המבנה יהיה מוכר לאנשים".
"אז לצורך זה יצטרכו לפתח על פי עקרונות Object Oriented Programming וכמובן לבנות ספריית תבניות של יחידות תוכנה" העירה ג'ין בעוקצנות. "לא יתחילו לכתוב כמו היום, אלא יעתיקו תבנית מוכנה של יחידת תוכנה ולתוכה יכניסו את התוכן הרלוונטי".
"ספריית תבניות צריכה להכיל גם מודולי אפיון, תכנון ואפילו בדיקות שמהם אפשר יהיה להרכיב מסמך שלם" הוסיף ירון כשחיוך של שביעות רצון מקשט את פניו.
"חלומות באספמייה" לגלג דּוּדוּ. "מי יממן את כל זה? מי יממן, למשל, את התוספות שנדרשות להפוך מודול שנכתב עבור 'אלון ירוק', למודול כללי? למודול בעל מבנה גֶנֶרִי... איכות התעוד של פריט בספריה, חייבת להיות גבוהה במיוחד. מי הגוף שישקיע בזה? הפרוייקט? מה פתאום? מנהל הפרוייקט לא יהיה מעוניין לתרום מעבר למה שמתחייב לקידום העבודה עצמה. לקחת מהספרייה? - בשמחה. אבל גם להשקיע בספריה?"
"אם מדובר באינטרס מפעלי" אמרה ג'ין, "רק טבעי שאהוד יאלץ את מנהלי הפרוייקטים להשקיע בזה".
"מתקציב הפרוייקט? תשכחי מזה!" הכריז דודו. "לפרוייקט יש לוחות זמנים צפופים ומסגרת תקציבית מוגדרת ו... לא לשכוח - גם לקוח!!! יעדי הפרוייקט הם שונים. אפילו אהוד לא יוכל להשפיע במקרה הזה".
"אם כך, המוטיבציה צריכה להיות של התוכניתן שכתב את המודול" אמרה יעל וחיוך נצחון על פניה.
"למה שהוא ירצה להשקיע?" שאלה ג'ין בספקנות.
"אם יתגמלו כל אדם שיעשיר את הספריה" השיבה בחיוך, "אז אנשים ירצו להעשיר את הספרייה. ואם יכניסו לספריה רק מודולים שעומדים בקריטריונים מסויימים... כל אחד שירצה לקבל, מדי פעם, כמה מרשרשים מחוץ למניין... מי לא יהיה מוכן להשקיע עבודה נוספת? אפילו בבית... על חשבון זמנו החופשי... כדי להכין חומרים שיעמודו בתנאי הקבלה החמורים... לספרייה? ויקבל גם בונוס וגם קרדיט".
ירון קם מכסאו, הציץ בשעונו ואמר בלשון תכליתית: "דּוּדוּ, קח אויר ולך אל מיכה. הגיע הזמן". קרב אליו וטפח על שכמו.
דּוּדוּ עיקם מעט את פרצופו באי שביעות רצון, מלמל משהו בלתי מובן ויצא את החדר.
"יעל, השארי כאן עוד רגע" אמר.
"אתה מתכנן לעשות עם זה משהו?" שאלה ג'ין בסמוך לדלת, לפני צאתה מהחדר.
"לא בימים הקרובים" ענה ירון. "לצורך העניין חייבים שיתוף פעולה עם ההנהלה כי זה פשוט לא ילך בלי תקציב מיוחד... וזה שלא כל כך פשוט בימים טרופים אלה..."
"כן?" שאלה והביטה בו בחיוך, משנותרו לבדם בחדר.
ירון חש היטב בהלמות ליבו, הביט בה בהתרגשות ושתק.
"רצית משהו" שאלה בקול שקט ומפתה.
"לא, זאת אומרת, כן, כן" מלמל, טובל בהנאה את מבטו בעיניה הגדולות והכחולות, נהנה מהחיוך המקסים ובוחן בעניין את אישוניה המורחבים".
יעל המשיכה להביט בו באריכות מבלי להסיר ממנו את מבטה. ירון התעשט ולחש: "רציתי לשבת קצת איתך... לבד... זאת אומרת, בלי סיבה מיוחדת. סתם..."
"זו היתה, למעשה, הסיבה שהגעתי לכאן" חייכה.
המשך בפרק 24 - צרות של אפיון