Posts tagged ‘מפגש’

פגישה מספר 3 – Agile practitioners IL

IMG_0534מפגש שלישי של קבוצת Agile Practitioners IL מאחורינו, ואיך אומרים? ש”פעם שלישית גלידה”, אז אמנם גלידה לא היתה שם, אבל פירות מאפים ושתיה כן :)

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

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

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

 

IMG_0530רועי מציע מודל שכולל שלושה שלבים של צוות:
Chaos Learning Self-Leading

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

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

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

כבר לא יכול לחכות יותר למפגש הבא.

פגישה ראשונה – Agile practitioners IL

איזה יופי טופי!
זה קרה, המפגש הראשון שהתקיים אתמול במשרדי NICE ברעננה בשעה 17:30 בנוכחות של כ-40 אנשים. תודה רבה לאוהד ו-NICE על הארגון המופתי.

המפגש היה מורכב משני חלקים עיקריים:
– הרצאה של עבדכם הנאמן על Feedback. (מצגת ווידאו בקרוב)
– פעילות קבוצתית לנסות ולגבש “תוכניות עתידיות” לקבוצה. (אני מאמין שליאור יפרסם את התוצאות)

APIL1

מבחינתי היה מאוד מוצלח בגלל מספר דברים ואני אפרט:

באו 40 אנשים – לדעתי זה מספר מדהים, אני אמרתי לחברי לארגון הקהילה הזאת, אילן וליאור, שאם יגיעו 20 זה הצלחה אדירה למפגש ראשון, מניסיוני מקבוצות דומות 20 למפגש ראשון זו התחלה מצויינת, אז 40 ?! מעולה!

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

גיוון – היו אנשים ממגוון תפקידים: מפתחים, Product owners, Scrum masters בודקים, יועצים, בקיצר קשת רחבה ומגוונת של אנשים שמאפשרת, כפי שראינו, לייצר דיון פורה ומעניין.

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

אני כבר מצפה בקוצר רוח למפגש הבא.

APIL2

נ.ב. – מזל טוב לרועי מקונטרה שזכה בספר של יורגן אפלו.

Software Craftsmanship – מפגש 6

הפעם באמת יצאתי מאוכזב, מאוכזב מאוד אפילו.
לא יכול להיות שפעמיים רצוף אני לא זוכה בהגרלה! לטעמי יש פה אפילו חוסר תום לב מצד המארגנים… אורי 07022011437לטיפולך :)

ועכשיו ברצינות: היה ממש ממש כיף.

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

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

אחרי אורי עלה איתי ממן.
איתי הוא מתכנת (הוא טען ש”לא אוהב את המונח מהנדס תוכנה”) ומרצה בטכניון, איתי בעצם ביצע בשידור חי ותוך הסברים רהוטים Refactoring לקוד של פונקציה בעלת כ-150 שורות אם אינני טועה, עם רמת כינון של 6 או 7, עם שמות משתנים נוראיים, בקיצר אם להתנסח בעדינות – קוד לא טוב.

איתי בחר בגישה שאני אישית מתחבר אליה מאוד והיא לבצע Refactoring מבלי לנסות להבין את ההתנהגות אלא לפרק את הקוד לחלקים קטנים יותר ורק אח”כ לנסות להבין מה כתוב שם
זה אומר למשל לקחת בלוקים שלמים ולנסות להוציא אותם לפונקציה – Extract Method ולחזור על הפעולה.
וכמובן שאין צורך לציין (אז למה אני מציין?) שהוא השתמש ב-Rename.

07022011444 בנוסף איתי גם הראה טכניקות לביצוע שיפורים בקוד שהן לטעמי לא עונות לגמרי על ההגדרה של Refactoring מכיון שהן משנות את ההתנהגות של הקוד ולא רק את צורתו.
למשל טכניקה שאיתי הראה היא לשנות רמת כינון של מתודה ע”י ביצוע של Early exists במקום if-else.
הוא פישט תנאים מסוימים, הוא הזיז מיקום של משתנים וכו’, לא שזה רע, להיפך. אבל זה לא בדיוק refactoring.
ולמען התזכורת Refactoring זה :
x+1)*(x-1) = x2-1)

איתי העביר את ההרצאה בצורה מעניינת, זורמת ופתוחה. כל הכבוד!

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

באופן כללי מאוד נהנתי ואני כבר מצפה למפגש הבא.

Software Craftsmanship – מפגש 5

קודם כל השורה התחתונה: היה טוב! אפילו טוב מאוד.

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

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

15122010418התחנה הראשונה היתה TDD.
אני אוהב TDD.
את התחנה הזאת הוביל גיל זילברפלד מ-TypeMock ובתחנה הוא למעשה ארגן סוג של דוז’ו על בסיס קטה מספר 13 שהיא לכתוב מחלקה שסופרת שורות קוד.
לטעמי הוא הנחה אותה בצורה מעולה, ובחצי שעה הוא הצליח להעביר את המסר הבסיסי של TDD, ולחוות את השאלות שעולות תוך כדי כתיבת הטסטים (Unit tests). הוכחה לאיכות של ההנחיה היא כמות הדיונים והשאלות שעלו מהקהל.
אני אוהב TDD כבר אמרתי ?

15122010420התחנה השניה היתה DRY שזה אומר (Don’t Repeat yourself) – מבלי לצלול לעומק (ויש…) DRY הוא עקרון בסיסי בתוכנה (כתיבת קוד, DESIGN, DB וכו’) שטוען (ובצדק) שצריך להשתדל מאוד לא לחזור על עצמך. את התחנה הזו הוביל אביב בן יוסף שעשה עבודה טובה מאוד בלהסביר את הנושא באופן כללי, ואחר כך הציג קטה שמהותה לתרגל את עקרון DRY, בשלב זה התחלקנו לזוגותשלשות וניסינו לעשות את הקטה, היה נחמד מאוד, אם כי בעיות טכניות של רשת ולפטופים בזבזו הרבה זמן, כך שלא הספקנו הרבה.

15122010419תחנה שלישית ואחרונה היתה Code review. קןדם כל שאפו על הרעיון לבצע קוד ריוויו לקוד אמיתי של חברים בקבוצה, ומעבר לכך, שאפו על החברים שטרחו והביאו קוד שהם כתבו כדי שנוכל לעשות עליו קוד ריוויו. את החלק שאני הייתי בו הנחה אורי לביא (להלן היוזם) והוא למעשה הדגים איך הוא מבצע קוד ריוויו בזמן אמת על קוד שמישהו כתב, הוא הסביר עקרונות ואיך כדאי לגשת לקוד של מישהו אחר.
לי אין ספק שאורי יודע לעשות קוד ריוויו!
אני חייב קרדיט קטן לרן תבורי על רעיון מעניין שהוא העלה: רן טען ובצדק, שה-IDE המודרנים גורמים לנו להתעצל מכל מיני בחינות מכיוון שהם מציעים כלים מובנים כגון קפיצה מהירה מפונקציה לפונקציה, Collapse של חלקים וכו’, מה שהוא מציע זה לנסות מידי פעם לכתוב קוד או לעשות קוד ריוויו בעורך טקסט פשוט, זה רעיון מאוד מעניין ואני בטח אנסה אותו בקרוב ואדווח על התוצאות.

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

אז באמת היה טוב, אפילו טוב מאוד, מצפה בקוצר רוח למפגש הבא.

נ.ב. מצטער על איכות התמונות, הן צולמו בסללולרי, אולי פעם הבאה אני אזכור להביא מצלמה.