כל מי ששואל אותי נכון להיום, מהי סביבת הפיתוח המומלצת שלי אני אומר ויסטה עם Visual Studio 2008. ישנם הרבה נימוקים לתשובה הזו שמסתכמים בסופו של דבר בזה שיעילות הפיתוח גבוהה יותר משמעותית. בהנחה שאתה מנהל גוף פיתוח, העלות הכי גבוהה במערכת היא המפתחים שלך. כמה שהם יותר יעילים אתה מנצל את המשאב היקר הזה יותר טוב. כמה שיש לך יותר מפתחים, ככה הרוח שלך על תוספת היעילות גבוה יותר.
יש מאחורי ההמלצה הזו הנחה משתמעת שאתה משתמש בכלים החדשים תוך ניצול מלא שלהם. אם אתה עובד על Visual Stusio 2008 כמו שעבדת על Visual Studio 6, לא הרווחת כלום מהמעבר ויותר טוב שתשאר עם המערכת הישנה. סביבת העבודה החדשה דורשת לימוד והסתגלות שדורשים הדרכה, מאמץ ומשמעת עצמית. הרווח המשמעותי מושג לאחר שאתה מסגל לעצמך את ה"ראש" החדש של שימוש בכלים ובסביבה.
אותו דבר לגבי טכנולוגיות פיתוח חדשות. אם אתה לומד אותן ומכניס אותם לשימוש מהר ככל האפשר, אתה מקבל בזמן קצר יותר, תכנה טובה יותר. גם כאן יש עקומת לימוד וכמו כל טכנולוגיה חדשה אתה נתקל בבגים חדשים. אבל למי שלא קלט עדיין, בגים חדשים יש תמיד, ובתמחור של התמודדות עם הבגים החדשים לעומת מהירות הפיתוח הגבוהה יותר, כמעט תמיד מהירות הפיתוח מנצחת.
זו לא תיאוריה חדשה שלי, אני מחזיק בדעה הזו כבר הרבה זמן. להוכחה, צילום של כרזה שלי מה Get Ready של Visual Studio 2005 שם הרציתי על נושא Production Time Debugging (זה עוד מהתקופה של לפני שעברו לבובות בגודל אדם של המרצה).
הטענה שלי היא שאם יש לך פרויקט מתוכנן לשלוש שנות פיתוח, ואתה עוצר אותו אחרי שנתיים, מוחק את כל הקוד, ומתחיל אותו מחדש עם כלי הפיתוח העדכניים ביותר, אתה תגמור אותו לפני הזמן וגם תקבל מוצר טוב יותר.
שימו לב שלא אמרתי לא לעשות כלום שנתיים, ואז להתחיל את הפרויקט (:-)).
התיאוריה מאחורי המשפט היא, שלאחר שנתיים אתה מכיר היטב את מרחב הבעיה, הרבה יותר טוב מאשר ברגע שהתחלת את הפרויקט. אתה יודע הייטב איך היית צריך לכתוב אותו נכון. אבל בדרך כלל אין לך את הכוח הנפשי, להפרד מערמת הקוד הלא נכונה שכתבת, אז אתה מעדיף לעשות Patch - ים.
מצד שני, מאחר וכל שנתיים בערך, מיקרוסופט משפרת משמעותית את סביבת הפיתוח ואת הטכנולוגיות. יש לך מאגר כלים חזק יותר לפתור את הבעיה. מה שאומר שיש סיכוי סביר, שאם תתכנן מחדש את המערכת, תוך ניצול ההתקדמות הטכנולוגית, תקבל גם זמן פיתוח קצר יותר וגם מוצר עדיף.
דרך אגב, סתם בתור קוריוז, בתום הארוע ההוא, מישהו גנב את כל הכרזות של כל המרצים. כך שמי שלא צילם לו עותק, נשאר בלי כרזה.
הנושא הזה מתקשר באופן ישיר לפוסט עתיק שלי, על כמה זמן אתה אמור להקדיש ללימוד כלים וטכנולוגיות חדשות כחלק אינטגרלי מזמן העבודה שלך.
מוקדש לעדי, שהגיב על כמה דברים על PDC. בתקוה שזה יעזור לו, ולהרבה ראשי צוותים, מפתחים בכירים ו CTO - ים, להסביר למנהלים שלהם, למה זה חשוב להשתתף ב PDC, ולמה זה מצדיק את ההוצאה. אני יכול גם לעזור במתן חישוב הזמן הנדרש להחזר ההשקעה (בין חודש לחודשיים).