לדף "פָּרָשַׁיְיטֶק" הראשי לחצו כאן
פָּרָשַׁת יִתְרוֹ – כָּל הַבָּאג הַגָּדוֹל יָבִיאוּ אֵלֶיךָ, וְכָל הַבָּאג הַקָּטֹן יְדַבְּגוּ הֵם
התוכנה היא כמו בן אדם. כל הייטקיסטית שיש לה ילדים יכולה למצוא אינספור קווי דמיון בין פיתוח תוכנה וגידול ילדים. את שניהם צריך לחנך ולגדל, ובעיקר לדבג לא מעט. ועם שניהם צריך המון, אבל המון סבלנות.
וכפי שכאשר הילדים מתבגרים, הגידול והחינוך וההתמודדות איתם הולכת ומסתבכת, כך גם עם התוכנה. ככל שהתוכנה הולכת וגדלה, כל דבר הולך ומסתבך. כל שינוי קטן גורם להמון בעיות ובאגים, ואינטגרציות לא פשוטות ומימוש לא פיצ'רים חדשים, ומה לא.
כמו שהעולם נוהג לומר: ילדים קטנים – בעיות קטנות, ילדים גדולים – בעיות גדולות. וכנ"ל גם עם התוכנה.
הבעיה היא שלא תמיד אנחנו שמים לב שהעסק נהיה גדול ומדי ומסובך מדי. אנחנו עסוקים מן הבוקר ועד הערב בלפתור את הבעיות, ואין לנו זמן לחשוב על פתרונות יותר מערכתיים.
גם בפרשת השבוע אנחנו רואים את משה רבנו, מתמודד עם פיתוח פרוייקט שתפח לממדים מדהימים. הוא נאלץ ללמוד ולהדריך את כל שבטי הפרוגרמה, להכיר את שפת התכנות החדשה ואת כל הכלים והמתודולוגיות החדשות, וכמובן גם לפתור קונפליקטים. ואת הכל הוא עושה לבד.
רק יתרו, שהגיע מפרוגרמה אחרת מצליח לזהות את הבעיה, והוא מזהיר את משה רבנו, שאם הוא ימשיך להעמיס על עצמו את הכל, בסוף כל העסק יקרוס – "נבול תבול, גם אתה, גם התוכנה הזאת אשר עמך".
צריך לדעת להאציל סמכויות, לפזר את תחומי האחריות בין סמכויות שונות. ומשה רבנו מאמץ את הרעיון בשמחה – הוא מפצל את התוכנה לרמות שונות של אבסטרקציה, למערך של מיקרו-סרביסים (שרי עשרות), שמעליהם יש מנהלים בדרג ביניים (שרי חמישים ומאות) שמסנכרנים את הקבוצות השונות. ומעליהם ההנהלה הבכירה, שרי האלפים, שאחראים על שבטי הפיתוח והבדיקות.
וכך הוא יכול להתפנות לנושאים החשובים באמת.
וכל מה שנכון למודולריות בתוכנה, ולדעת איך לפזר אחריות בין קומפוננטות וסרביסים שונים, כל זה נכון גם לנו. אסור להעמיס יותר מדי, לא את התוכנה ולא את עצמך.
לא צריך לעשות הכל, אבל את מה שכן עושים, לעשות כמו שצריך.
שבת שלום