DCSIMG
November 2010 - Posts - GadiM - Gad J. Meir www.idag.co.il

GadiM - Gad J. Meir
www.idag.co.il

מסעותיו של משמיד חרקים ושרברב תהליכים במרחב הקיברנטי

קישורים

November 2010 - Posts

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

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

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

TechEs_Il 003TechEs_Il 004

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

TechEs_Il 010TechEs_Il 013TechEs_Il 020TechEs_Il 021

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

TechEs_Il 028 TechEs_Il 032TechEs_Il 045

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

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

TechEs_Il 066TechEs_Il 070

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

TechEs_Il 079TechEs_Il 087

לסיום הוצג פרויקט True You. לכו לאתר במקום להסתכל על התמונות, ותבינו לבד מה הפסדתם.

TechEs_Il 091TechEs_Il 093

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

וTechEs_Il 094

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

TechEs_Il 095TechEs_Il 097TechEs_Il 098TechEs_Il 099

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

לכל הפוסטים שלי בנושא TechEd 2010 Eilat.

טיפים וטריקים עם ליסה

הבלוג של Lisa Feigenbaum הוא מקור לא אכזב של מידע על כל קיצורי הדרך, הטיפים והטריקים שאתה יכול לעשוב עם סביבת ה IDE של VS. אבל תמיד בהרצאות שלה אני מצליח לגלות דברים חדשים שאני עוד לא מכיר. הגעתי בכמה דקות איחור כי הייתי צריך לעשות Check Out מהמלון, התישבתי מאחור בשקט והשתדלתי לא להפריע יותר מדי לסביבה, הקשבתי ורשמתי לי הערות.

 TechEd_Il 022TechEd_Il 023TechEd_Il 024

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

 TechEd_Il 025TechEd_Il 019

ליסה נתנה קצת מכל דבר ועברה על הרבה תכונות, חלקם היו מוכרות לי וחלקם חדשות (כמו תמיד). בקטעים "קוליים" במיוחד היתה התעוררות בקהל, עם בקשה ל Replay, כדי להבין איך בדיוק היא עשתה את הקסם.

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

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

להתראות באילת.

לכל הפוסטים שלי בנושא TechEd 2010 Eilat.

הרצאה על Agile עם בריאן קלר

בריאן הוא איש מקצוע עם נסיון בתחום ה Agile ושאר מתודולוגיות ה XP המקובלות בימינו. והוא מכיר את ה TFS היטב. הצרוף הזה גרם לכך שההרצאה שלו היתה מכרה זהב לכל מי שמנסה לנהל פרויקט מכל סוג של XP באמצעות TFS. בריאן הסביר ובעיקר הדגים בצורה הכי מעשית שאפשר איך צריך מנהל צוות שעובד עם TFS ועם כל סוג של XP לעבוד. נכון שהוא השתמש בשבלונה של Agile אבל הוא הפנה מיד בתחילת ההרצאה להרצאה דומה שנתן Bjork בטק אד האחרון בברלין שניתנת להורדה ומראה את אותם הדברים עם  Scrum. חשוב לציין בהקשר הזה שהשבלונה של TFS Agile רחבה יותר מזו של ה Scrum אבל המינוחים שם שונים כל שמי שרוצה להיצמד למינוחים המקובלים ב Scrum יכול לעבוד איתה ולעומת זאת מי שהמינוחים לא מפריעים לו יוכל להפיק יותר תועלת מהשבלונה של ה Agile.

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

TechEd_Il 013

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

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

 TechEd_Il 016TechEd_Il 017

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

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

להתראות באילת.

לכל הפוסטים שלי בנושא TechEd 2010 Eilat.

ההרצאה שלי בטק אד

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

TechEd_Il 002

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

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

TechEd_Il 009

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

TechEd_Il 010

ושוב תודה לכל מי שבא, אני נהנתי ואני מקווה שגם אתם.

להתראות באילת.

לכל הפוסטים שלי בנושא TechEd 2010 Eilat.

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

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

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

TechEd_il 002TechEd_il 013TechEd_il 022TechEd_il 025

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

להתראות באילת.

לכל הפוסטים שלי בנושא TechEd 2010 Eilat.

תכנית עבודה ליום השלישי של טק אד

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

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

בחריץ הזמן הראשון יש רק הרצאה אחת שבאה בחשבון והיא ההרצאה במסלול ALM שעוסקת ב Visual Studio 2010 Architecture Guidance and tools. זו הרצאה שאני מוכרח ללכת אליה בגלל המון סיבות. קודם כל היא עוסקת במהפכה שכלי הארכיטקט החדשים שהוצגו לראשונה ב Visual Studio 2010 עושים לתפקיד וליכולת של הארכיטקט של הפרויקט. בנוסף היא מדברת על ההשפעה של הכלים האלה על הקטנת כמות הסיכון וכמות הטעויות בפרויקט. היא גם מראה פרדיגמה חדשה בתחום התיעוד של מבנים ארכיטקטונים. יש בה המון פרסים שהמרצה יחלק למי שיענה נכון על השאלות, וחוץ מזה אני המרצה אז אני לא יכול ללכת למקום אחר.

אני די בטוח שאני אשאר באותו אולם, על מנת לשמוע את Brian Keller מדבר על Agile Project Management with Team Foundation Server 2010. גם בגלל שזה Agile וגם בגלל שהבחור יודע על מה הוא מדבר.

בחריץ הזמן השלישי אני לא הולך לפספס את Lisa Feigenbaum שתדבר על Visual Studio 2010 Tips and Tricks. זו לא פעם ראשונה שיוצא לי לשמוע אותה, ולמרות שאני מחשיב את עצמי כבעל נסיון ב VS, ליסה תמיד מגלה לי דברים שלא ידעתי עליהם.

בחריץ הזמן האחרון, אני מתכונן ללכת לשמוע את Pavel Yosifovich מדבר על נושא  Dependency Injection (DI) and Inversion of Control (IoC) using MEF and Unity ו/או (זה אולמות קרובים ואני יכול לדלג בקלות הלוך וחזור) את Alex Golesh מדבר על XNA Game Studio 4.0: Code Once, Play Everywhere! PC, Xbox, Phone, סתם בשביל הכף.

וזהו, נגמר הטק אד.

להתראות באילת.

לכל הפוסטים שלי בנושא TechEd 2010 Eilat.

סטפן טיוב על עיבוד מקבילי

סטפן פתח בחוק מור (מאד צפוי) ועל ההבדל בין קצב שעון לכמות הליבות. אחר כך עבר לדיון על ההבדלים בניהול Threads בין הדור הקודם של דוט נט (3.5) ל 4 עם כל המשמעות של השינוי הזה על נושא המעבר ל Task במקום ל Thread כנקודת חלוקה בסיסית של משימות.

סטפן הוא איש של דוגמאות ומאלה שנהנים להראות קוד עובד. בדוגמא הראשונה הוא הראה שרק במעבר מ 3.5 ל 4 הקוד המקבילי רץ במקום 21 שניות, 2.1 שניות (ללא שינוי בקוד) רק בגלל הניהול השונה של תהליך ה Trade Pool.

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

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

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

השלב הבא היה סקירה מלאה על כל התכונות הקשורות לעולם המקבילי של VS לאחר מכן סטפן הקדיש כמה דקות לכיוונים החדשים בעולם המקבילים שהוצגו ב PDC האחרון עם דגש קל על הפעולות האסינכרוניות החדשות (יש CTP, תוריד ותנסה).

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

TechEd_il 036TechEd_il 041

להתראות באילת.

לכל הפוסטים שלי בנושא TechEd 2010 Eilat.

והופ יצאנו לדרך

הפעם (בניגוד לפעמים קודמות) זוגתי (שתחיה) לא מלווה אותי לטק אד, וגם לא כל שאר המשפחה המצומצמת. כך שהשנה במקום לעשות טיול סופ"ש עם הרכב ולהנות מהנהיגה ומהחוויות שבדרך, אני הידרדרתי לטיסה. השכמה מוקדמת (לא בגלל הטיסה), סידורים אחרונים במשרד לפני שאני נעלם לשלושה ימים ברוטו (יומיים נטו), זוגתי (שתחיה) מסיעה אותי לשדה דב. אני יודע שזה נשמע מצחיק, אבל אני ממש מתרגש, כי זו הפעם הראשונה בחיים שלי שאני טס לאילת, תמיד נסעתי לשם. המון פקקים בדרך לשדה דב, המראה ב 11:30, במקום להתיצה ב 10:00 אני מגיע לשדה ב 10:45. בדיקות בטחוניות בסגנון ישראלי, עברתי שלוש פעמים בגלאי עד שהורדתי מצלמה, מפתחות, ארנק, ואפילו חגורה, מה לעשות אני טיפוס רגיש. ב 11:05 אני מוצא את עצמי ישוב באוטובוס בדרך למטוס. הפעם האחרונה שהייתי בתוך שדה דב וגם זה רק לכמה שעות היה לפני הרבה שנים, ואני לא בטוח שהבחנתי באיזה שהוא שינוי. על המושב היה פרוספקט של הטק אד כדי שלא יהיה לנו משעמם בטיסה.

teced_il 001

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

teced_il 003teced_il 002

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

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

teced_il 006

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

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

לא הספקתי אפילו לשתות קפה וכבר 13:30 ורצתי להרצאה הראשונה לפי התכנית, הרצאה שעליה אני אספר בהמשך.

להתראות באילת.

לכל הפוסטים שלי בנושא TechEd 2010 Eilat.

תכנית עבודה ליום הראשון של טק אד

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

על חריץ הזמן הראשון יש כמה מתחרים שבמקום הראשון נמצא Jason Zander שידבר על Developers Tools and Technologies Keynote. לא שאני מצפה לשמוע ממנו משהו חדש, אבל צריך לת כבוד ל VP. אם זה יהיה צפוי מדי, אני אברח לשמוע את Daniel van Soest, Tony Krijnen עושים  Datacenter Demos.

על חריץ הזמן השני אין לי הרבה ספקות, אני לא הולך לפספס את Stephen Toub על Parallel Programming in .NET Framework 4: Task Parallel Library, PLINQ and more ולו רק בגלל שהטור שלו ב MSDN Magazine תמיד שוה קריאה. ואני מבקש מראש סליחה מדן (הייתי בקורס שלך על הענן, היה מצויין, ולכן אני כבר מכיר את ההרצאה הזו), רונן (זה באמת פיספוס, כי אתה פורש תמונה מרחבית טובה של הכיוונים הטכנולוגיים בצורה מרתקת) , שירה וכל השאר שאין לי כוח כבר לכתוב את כל השמות ולהתנצל. פשוט תחום ה Parallel וה HPC הם תחומים שיקרים לליבי (אני בשבוע הבא ברדמונד ללמוד פיתוח ספציפי ל HPC, עד כדי כך זה יקר לליבי).

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

להתראות באילת.

לכל הפוסטים שלי בנושא TechEd 2010 Eilat.

החזרה הגנרלית של מסלול ALM

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

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

alm 017alm 018

אז להלו רשימה של כל המצגות במסלול:

Day

Time

Subject

Speaker

Day2

08:00

End to End Application Lifecycle Management with Visual Studio 2010 Keynote

Tzvia Gitlin

Day2

09:45

A Lap Around Visual Studio 2010 Application Lifecycle Management

Brian Keller

Day2

11:30

Applied Software Testing with Visual Studio 2010

Shai Raiten

Day2

14:00

Getting started with Visual Studio Lab Management 2010

Coby Peled & Eran Ruso

Day2

15:45

Database Development Lifecycle with Visual Studio 2010

Dan Morgenstern

Day3

08:15

Visual Studio 2010 Architecture Guidance and tools

Gad J. Meir

Day3

09:30

Agile Project Management with Team Foundation Server 2010

Brian Keller

Day3

11:15

Customizing TFS 2010 Build and deploy Processes

Shmulik Segal

Day3

12:30

Test Driven Development with Visual Studio 2010 (Agile)

Ariel Gur-Arie

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

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

הנושא של שימוש בכלי ה Testing של Visual Studio 2010 ובעיקר ה Lab management הוא נושא שיש עליו דגש רב ב Tech Ed השנה. כמעט שליש מהמסלול עוסק בכלים האלה. זה לא נעשה ללא סיבה. יכולת הבדיקות ב Visual Studio 2010 בצרוף היכולות שנוספו ל TFS החדש, מהווים במפורש קפיצת מדרגה לכל מי שעוסק בתחום הבדיקות וה QA. במקום להשתמש באוסף של כלים חיצוניים, כל אחד מיצרן אחר, וכל אחד עם הבעיות והמגבלות שלו, אתה מקבל פה כלי חזק מאד, שיודע לעשות המון דברים שלא היו שם קודם, ומשולב בצורה מלאה בסביבת העבודה הטבעית של צוות הפרויקט.

את ההרצאה של שי ריטן על נושא ה Testing לא ראיתי, אבל כל מי שיציץ בבלוג שלו, יבין שמשעמם לא יהיה בהרצאה שלו, ומן הסתם היא תשמש בסיס לעוד הרבה פוסטים מעניינים של מידע שימושי בבלוג שלו.

קובי פלג וערן רוסו יציגו לכם את היכולות של ה Lab management תוך התבססות על סיפור לקוח מהשטח. ה Lab management הוא כלי חזק מאד לניהול סביבות בדיקה ובדיקות (גם אוטומטיות וגם ידניות). אני צריך פעם לכתוב פוסט על הבעיתיות של ביצוע בדיקות בסביבות הטרוגניות, קחו רק קומבינטוריקה פשוטה הנובעת מהצורך לבדוק מוצר על ארבע מערכות הפעלה שונות, עם כמה Service Packs שונים, כאשר יש גם 64 ביט וגם 32 ביט ובנוסף צריך לבדוק אותו עם או בלי כמה תוכנות אחרות מותקנות, ותקבלו בלי מאמץ 32 סביבות בדיקה שונות, איך מנהלים כזה דבר ? ל Lab Manager פתרונות. הרצאהת חובה לכל ראש צוות QA ו Testing בארגון בכל סדר גודל.

ההרצאה של דן שממוקמת בסוף היום השני פשוט הפילה אותי מהכיסא. היא בכלל לא היתה צריכה להיות במסלול הזה, אלא במסלול מסדי נתונים, וזאת למרות שהיא ALM קלאסי. הוא נוגעת בנימים הכואבים ביותר של כל DBA באשר הוא. כולם חושבים שהם יודעים איך מנהלים גירסאות של תכנה, עכשיו נראה אתכם מנהלים גירסאות של מסדי נתונים. איך אתה מכניס למערכת ה Source Control שלך סכמה של מסד נתונים, איך אתה מבצע Diff בין סכמות ? ומה עם Upgrade למסד נתונים קיים ? איך אתה מוודא שהסכמה של מסד הנתונים שאתה מספק עם המוצר החדש, והסכמה של מסד הנתונים של הגירסא הקודמת שעבר Upgrade, זהות ? איך אתה מבצע TDD על המבנה של מסד הנתונים ? הכל ועוד בהרצאה הזו. סיפור הלקוח שמוצג שם (על ידי הלקוח כמובן) הוא החלק הכי מעניין בהרצאה, ממש החלום הרטוב של כל מי שצריל לנהל גירסאות של מסדי נתונים בעולם האמיתי. הרצאת חובה לכל DBA ומנהל מסד נתונים, ולא רק של מיקרוסופט. אין ספק שמסדי נתונים, הם עכשיו חלק אניטרגלי מ ALM.

alm 021

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

 alm 022

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

אחרי עולה שוב להרצות Brian Keller, ואני לא אחזור כאן על מה שכבר כתבתי קודם עליו. כדאי לבוא ולהקשיב לו.

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

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

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

להתראות באילת.

לכל הפוסטים שלי בנושא TechEd 2010 Eilat.

מה יש לאינסטלטור ומשמיד חרקים לעשות ב ALM ובארכיטקטורה ?

הרבה תוהים אולי מה הקשר שלי ל Application Lifetime management בכלל ולארכיטקטורה בפרט. הרי כולם יודעים שאני משמיד חרקים ואינסטלטור. ותחום ההתמחות שלי זה production Debugging וזה אפילו מופיע בצורה הכי ברורה בכרטיס הביקור שלי.

gmsdd150[6]

אז למה בכל זאת אני מרצה השנה ב טק אד באילת על כלי הארכיטקט החדשים ב Visual Studio 2010 כחלק ממסלול Application Lifetime management ?מה לי ול ALM ? מה לי ולארכיטקטורה ?

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

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

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

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

השאלה איך התקלה הצליחה להגיע לייצור מבלי שתפסו אותה בדרך הינה שאלה תהליכית קלאסית, למי שחושב שהמילה Process בכרטיס הביקור שלי באה מ Process & Threads, אז היא לא. היא באה מעולם ניהול הפרויקטים ומעולם תהליכי התכנון, הפיתוח, הבדיקה, ההטמעה והתפעול. והמינוח שרברב של תהליכים הוא תאור מאד מדוייק של מי שמסתובב עם מפתח ברגים גדול ונותן מכות בכל מקום שיש סתימה, מרכיב צינור חדש בכל מקום שחסר צנרת ומכוון את כל השסתומים והברזים שבדרך. אני אחד משני המדריכים המוסמכים רשמית על ידי מיקרוסופט העולמית לתחום MSF במזרח התיכון (השני זה ערן קולבר למי ששאל). ו MSF זה לא רק שבלונה ב TFS אלא מסגרת עבודה שמאתרת בצורה מהירה ויעילה בעיות וחסמים בתהליכי פיתוח והטמעה. חשוב אולי לציין בהקשר הזה שה TFS הינה כלי חזק מאד בניהול נכון של תהליכים ובאיתור מוקדם של כשלים בתהליכים ואני ארחיב על הנושא הזה בפוסט נפרד.

ואם קיטרתי מקודם על ביזוי הטכנולוגיה, הקטגוריה של הטעויות שהכי כואבת לי (ועוד יותר ללקוח) היא הטעויות בתחום הארכיטקטורה. יש מעט מאד (ומעט מדי) ארכיטקטים טובים בארץ. הבעיה העיקרית בתחום הארכיטקטורה כפי ש Juval אומר, היא שאין סילבוס מסודר ומסלול הסמכה מסודר למקצוע הארכיטקט. התהליך הנפוץ ביותר הוא לקחת מפתח טוב ולקדם אותו לתפקיד ארכיטקט ולסמוך על זה שהוא כבר ילמד איך לעשות את זה לבד. מסתבר שזה לא עובד ככה, יש Body of Knowladge שארכיטקט צריך לדעת, ויש נסיון חיים מסויים שהוא צריך לצבור. נושאים אלה, הם הנושאים ש Juval דן בהם לעומק בסדנת ה Architect's Master Class שלו, וטעימה מזה קיבלו אלה שבאו לשמוע אותו במפגש קבוצת המשתמשים שנערך בחודש יוני השנה. ולהזכירם Juval מעביר את הסדנה הזו בארץ בסוף דצמבר השנה.

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

להתראות באילת.

לכל הפוסטים שלי בנושא TechEd 2010 Eilat.

על ההבדל בין לקוח אמריקאי ללקוח ישראלי (בדיחה)

יש כמה דברים בתחום ארכיטקטורה ותהליכים, שקשורים באופן הדוק להרצאה שלי השנה ב TechEd אילת, שמפאת קוצר הזמן, וגם בגלל שהם לא היו מספיק “פוליטיקלי קורקט”, נאלצתי להוציא אותם החוצה. ההרצאה שלי, למי שלא יודע, עוסקת בכלי הארכיטקט החדשים שנמצאים ב Visual Studio 2010, כלים שנועדו (בעיקר) להקטין את כמות הטעויות הארכיטקטוניות בפרויקט. אבל לבעיות ארכיטקטוניות יש הרבה פעמים שורשים עמוקים בתהליכים אירגוניים, אז בואו ונתחיל בבדיחה.

שאתה בא בהצעה ללקוח אמריקאי, הוא בודק קודם כל כמה הוא מרויח מזה. לעומת זאת כשאתה בא ללקוח ישראלי, הוא בודק קודם כל כמה אתה מרוויח מזה. וכמובן שכל קשר בין הבדיחה הזו למציאות הוא מקרי בלבד.

למה נזכרתי בבדיחה הזו ? כי יש לנו השנה כמה משתתפים מאירופה, שנמצאים בתהליכי הרשמה, לסדנת ה Architect’s Master Class של Juval Lowy שנערכת ב 26-31/12/10 בארץ. מסתבר שגם אם אתה מוסיף לעלות הסדנה בארץ טיסה ומלון, זה עדיין יוצא יותר זול מהמחירים של הסדנה הזו באירופה (וגם הרווחת באותה הזדמנות טיול בארץ הקודש).

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

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

BugCost

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

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

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

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

להתראות באילת.

לכל הפוסטים שלי בנושא TechEd 2010 Eilat.

אני מרצה השנה ב TechEd 2010 באילת…

חשבתי שאולי כדאי לספר לכולם שאני מרצה השנה בכנס TechEd 2010 באילת. אני נמצא במסלול ALM בניהולה של צביה גיטלין ואני מרצה על Visual Studio 2010 Architecture Guidance and tools, ההרצאה שלי היא בבוקר היום השלישי ב 30/11/10 בשעה 8:15 בבוקר. למי שלא קלט את האתגרף אז אני אסביר את הנקודה הזו לאט. אני ב 8:15 בבוקר, שאחרי הלילה, של המסיבה.

מה שבטוח, מי שיגיע להרצאה שלי יבוא כדי לשמוע מה יש לי לומר על הכלים החדשים ועל התמיכה החדשה ש Visual Studio 2010 בארכיטקט ו/או במפתח התכנה הבכיר. אני מאד ממליץ על הרבה קפה לפני הכניסה לאולם, כי יהיה שם הרבה חומר חדש ומרתק.

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

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

The new Architect tools presented in Visual Studio 2010 revolutionize the ability of the architect to deeply understand current and future architectures. Even more important is the new features that enable the architect to verify, that his architectural guidelines are not violated during the development process. The new dynamic architectural documentation feature is a paradigm shift in the way to create and present architectural data and the smooth integration of the architect in the TFS ALM process, makes the architect for the first time, an equal and active member of the project team. Come and learn about all those excitement features and how to use them correctly from someone that make his living from analyzing and fixing architectural errors.

להשתמע בהרצאה

כשאני מדבר על מחשב של מפתח תכנה, אני מתכוון ל…

לפני כמה זמן ישבתי אצל אחד הלקוחות שלי כדי לנתח ביצועים של קטע קוד בעייתי. השתמשתי כמובן ב Profiler החדש של Visual Studio 2010 כי זה ממש כלי חזק. הדעה הטובה שלי על הכלי לא חדשה.

הסיבה שאני מספר לכם על זה, זה בגלל שחווית המשתמש שלי הפעם, היתה קצת טראומטית. קודם כל ה UI הגיב מאד לאט, וחוץ מזה הריצה לאיסוף המידע עבור ה profiler לקחה המוווווווון זמן. ושתבינו, לא ישבתי על סתם מחשב, ישבתי על המחשב של ראש צוות הפיתוח של המוצר (להלן הרשצ”פ), שהוא המחשב היוקרתי ביותר שהיה בארגון, וגם היחידי שבו היה מותקן Visual Studio 2010.

אז שאלתי את הרשצ”פ אם יש לו מושג למה הכל זז לאט, ואז הסתבר לי (לתדהמתי) שאני יושב על פנטיום 4 אמיתי, עם 3 גיגה זכרון ו 70 ג’יגה דיסק קשיח. ואני רוצה להדגיש, למי שלא יודע מה הערך ההיסטורי של המוצג המוזיאוני הנ”ל, שמדובר פה במכונה, שנחשבה לשיא הטכנולוגיה, אי שם בשנת 2002. מאחר ואנחנו כיום ב 2010 (כמעט 2011) עברנו מאז לפחות חמישה דורות של מעבדי אינטל. שלא לדבר על זה שאי אפשר להשיג כיום כמעט, דיסקים איטיים של 70 ג’יגה. בקיצור, ישבתי על מונומנט היסטורי. הרשצ”פ גם סיפר לי בגאווה, שלוקח לו לעשות Build למוצר, על המכונה הזו, רק 20 דקות, ולא קרוב לחצי שעה, כמו שזה קורה אצל שאר המפתחים בצוות.

בואו ונעשה חשבון מתמטי קצר. על המחשב של הרשצ”פ לוקח ל VS לפתוח את הפרויקט קרוב לשתי דקות בעוד שעל הנייד שלי (שאינו שיא הטכנולוגיה) לוקח לאותו פרויקט להיפתח פחות מחצי דקה. על מחשב הרשצ”פ לוקח Build עשרים דקות, בעוד שעל הנייד שלי (שאינו שיא הטכנולוגיה) אותו Build לוקח פחות משתי דקות. על מחשב הרשצ”פ VS קופא הרבה פעמים ודורש Restart וה UI מגיב לאט, מה שגורם לו לקלל את VS 2010 כל פעם שהוא קורס. על הנייד שלי (שאינו שיא הטכנולוגיה) VS 2010 עובד חלק ואם הוא קורס זה אחרי שאני ממש קורע לו את הצורה, וזה קורה (אם בכלל) בקושי פעם ביום.

קצת כלכלה. כמה עולה מפתח תכנה לארגון ? משהו כמו 80,000 דולר שנתי ? בואו נהיה ממש שמרנים ונניח שאחרי המיתון זה ירד ל 60,000 דולר שנתי (מתחלק טוב ב 12). ושאני מדבר על עלות איש תכנה בארגון, אני לא מתכוון לשכר נטו, אלא לעלות המעביד הכוללת גם את כל ההוצאות הנילוות, כולל משרדים, טלפונים, חשמל, מים, רישוי תכנה וכו’. כך שעל תנסו להיות חכמים, ותחלקו לי את הסכום הזה ב 12, תבדקו מה הנטו בתלוש שלכם, ותרוצו ישר למנהל לדרוש העלאה (לא ש 20,000 ש”ח לחודש זה סכום שאני מזלזל בו).

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

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

מתכנת על מכונת הרשצ”פ יכול ביום עבודה מלא (10 שעות), לעשות 30 איטרציות (שלוש בשעה בלי בדיקות), בעוד שאני על המחשב הנייד שלי (שאינו שיא הטכנולוגיה) יכול לעשות הרבה יותר מפי חמש מזה (ואני מאד שמרני במקדם הזה, כי 500 אחוז זה מספר שתמיד נראה רע על שקף אבל תחלקו לבד 20 דקות בשתי דקות ותגידו לי כמה זה יוצא).

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

אי אפשר לפתח תכנה באוירה כזו.

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

  • יע”מ I7 עם 4-6 ליבות, עם מהירות בסביבות 2-3G עם Cache גדול.
  • דיסק קשיח מהיר (7200 סלד) של חצי טרה לפחות (לא צריך להגזים עם SSD).
  • 8 גיגה או יותר זכרון Ram מהיר DDR3 מהירות 1333 (1066 אם אין ברירה).
  • GPU חזק מספיק להריץ WPF (בלי זה VS 2010 זוחל ונתקע).
  • כמובן Windows 7 64 bit.

אז רק לידיעתכם, אתם יכולים למצוא מכונות כאלה בטווח המחירים של 4000-6000 ש”ח. משהו כמו פחות מרבע מהוצאה החודשית למשכורת של מפתח ממוצע ?

אני אגלה לכם סוד, אם ה User Experience index של המחשב שלכם הוא מעל 4.5 אתם עומדים בדרישות הללו בהליכה, וגם ציון 4, שזה דרישת המינימום להרצת Windows 7, זה מספיק טוב לפיתוח. (למי שלא יודע על מה אני מדבר, שיסתכל כאן)

אבחנה מעניינת. אם הייתי אומר למנכ”ל או ל CFO של כל גוף פיתוח, שאני יכול להגדיל את הפרודוקטיביות של המפתחים שלו ב 10 אחוז (ולא ב 500 אחוז), תמורת תשלום חד פעמי של 6,000 ש”ח למפתח, אני מניח שכל CFO היה חותם על עיסקה כזו בלי היסוס. אבל אם אני אומר במקום זה, שאני רוצה שהוא יקנה לכל המפתחים בארגון מחשב חדש, יזרקו אותי מייד מכל המדרגות.