התחלתי לכתוב את המאמרון הזה כתגובה
למאמרון של דורון בסוף החלטתי שזה שווה מאמרון עצמאי
דורון שעובד מטעם בשור בתע"א כתב
"
אז הגוף שבו אני נמצא קיבל בשעה טובה החלטה אמיצה לבחון את
Visual Studio
2005. בישיבה
שכינסנו נשאלנו אובייקטיבית – מה מעבר מ2003 ל2005 ייתן לנו (לא מדובר על מעבר של
אפליקציות חדשות, אלא הסבה של אפליקציות שכבר נכתבו ב2003). המסקנה הייתה שלא הרבה.
היות ואין טעם לממן פרויקטי הסבה בשביל להשתמש בכל 101 (++) התוספות של הסביבה
החדשה, מעבר לתאימות עתידית אין יתרון ברור. מאידך – חסרונות מסתבר שיש (וכפי
שכתבתי קודם לכן, רשימה טכנית שלהם תפורט בפוסט הבא שלי.. לא רציתי ללכלך את הפוסט
הזה). ובצער רב, בניגוד מוחלט לתפקיד
הCTO
אותו אני ממלא בבשור – אשר מחייב אותי לשמור על חדשנות ולחקור ולהטמיע טכנולוגיות
חדשות כל הזמן, נאלצתי להסכים שאלא אם ימצא שהסביבה החדשה פותרת לנו באגים שקורים
בעקבות השימוש בסביבה הישנה – אין טעם לבצע
הסבה."
עשיתי מהלך דומה של בחינה של 2005 בגוף גדול אחר (רפא"ל) לפני כמעט שנה. כדי לקבל החלטה מושכלת הקמנו צוות שכלל אותי ועוד שני מתכנתים לבדיקת משמעויות של מעבר כזה (מעבר לניתוח של "מה חדש" ואיך זה יכול לעזור לנו בעתיד) . נראה היה לי שהכי כדאי להתחיל מהתשתיות המשותפות של הפרויקטים והחלטתי לבצע את הבדיקה במספר שלבים - 1. בדיקה של הרצה תחת 2005 ללא קומפילציה, קומפילציה ב2005 ללא שינויים, 3. זיהוי שינויים לטובת קומצפילציה ב2005 (במידה ו2 לי יצליח) 4. משמעויות עדכון ליכולת 2005 (generics וכו)
הבדיקה נעשתה ע"י ביצוע השלבים הנ"ל על התשתיות השונות -בהתחלה אחת אחת ואח"כ בצורה אינטגרטיבית על אפליקצית הבדיקה (אפליקציה שצוותי התשתיות פיתוח של ישום בסיסי על מנת להוכיח נכונות ורגרסיות בזמן שינויים)
לאחר כשבועיים של עבודה ראינו שמעבר פשוט (ללא ניצול יכולות חדשות) לא דורש מאמץ רב (אבל כבר מאפשר להנות מהיכולות המשופרות של סביבת הפיתוח) מצד שני מעבר אמיתי הוא כן מהלך רחב
ההמלצה שגיבשנו היתה לבצע את השינויים הלא גדולים שזוהו בתשתיות ולבצע מעבר הדרגתי - יכולות חדשות בתשתיות יפותחו ביכולות 2005, התשתיות ימשיכו בתמיכה בפרויקטים ישנים (תיקוני באגים בלבד) והפרויקטים יעברו עפ"י הצורך (למשל אם צריכים יכולת חדשה )
עכשיו רוב מוחלט של הפרויקטים כבר עובדים בNET. 2 ובפרויקטים שאני אחראי עליהם (היום אני כבר לא הארכיטקט שם אלא מנהל פיתוח של נושא הביומטריה -
אם כי כנראה לא לזמן רב אבל זה כבר סיפור אחר) גם עברנו לNET 3
בקיצור - אני מסכים עם דורון שעדכון טכנולוגי הוא עסק יותר מסובך בארגונים גדולים ובמיוחד בכאלו שהתוכנה היא לא העיסוק המרכזי שלהם*
יחד עם זאת אני חושב שזה מאד חשוב לשמור גם ארגונים גדולים בטכנולוגיה עדכנית- המעבר צריך להעשות בהדרגה ובזהירות
* כהערת אגב אני אגיד שגם בארגונים כמו תע"א ורפא"ל התוכנה היא מרכיב קריטי -גם אם הם לא הפנימו את זה עדיין
מחקר שעשו במשרד ההגנה האמריקאי בשנת 2000 הראה שאחוז גדול מאד מהיכולות של הפלטפורמות בעצם ממומש בתוכנה בדוגמא שלהם ב F4 שנבנה ב1960 8% מהיכולות היו בתוכנה - לעומת זאת בF22 שנבנה ב2000 כבר 80% מיכולות הפלטפורמה ממומשו בתוכנה. גרף אחר מראה איך פרויקטים הופכים להיות יותר ויותר עתירי תוכנה (מapollo בשנות השישים והשיבעים ועד למעבורת וכו בימנו).