תמיד מאשימים את ה-ש.ג. ובצדק.

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

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

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

כמובן שדוגמת ביה”ס היא לא מושלמת, אבל היא מתאימה.

מידי פעם, מישהו מחליט על שינוי, שינוי תהליך, שינוי בשיטות עבודה, מעבר לסקראם, שינוי לצוותים מנוהלים עצמאית, מעבר ל-TDD, מנסים CI, לנסות Pair programming, וכדומה.
אין לי סטטיסטיקה אבל לפי ניסיוני לפחות בחצי מהמקרים השינוי לא מצליח בטווח הארוך, צוות הסקראם מפסיק לעשות רטרוספקטיבות ודיילי, ראש הצוות בסוף כן אומר לצוות מה ואיך לעשות, כותבים בדיקות אחרי הקוד ולא לפניו, הבילד אדום במשך ימים שלמים ואף שבועות, וכו’.

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

איך שומרים על שינוי, או, איך שומרים עלינו מעצמינו?

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

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

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

עמוד נח.

3 Responses to “תמיד מאשימים את ה-ש.ג. ובצדק.”

  1. יקיר says:

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

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

    לא כל צוות יכול לערוך שינוי וצריך מישהו חיצוני שיתן את הגושפנקא שהצוות מתאים לעבור לשלב הבא…
    רועי אושורוב בהרצאות שלו מדבר על שלושה מצבים של הצוות. 1. כאוס 2. מצב אמצע – שלצוות כבר יש כמה SKILLS ו 3. הצוות יודע להתנהל בצורה עצמאית.
    לא כל רמה יכולה לקחת דברים מהצוות השני ואני מאמין שלרוב כשצוות מגיע לרמה השלישית הוא גם יודע לקחת על עצמו אחריות ולעמוד בה.

    בין הפעמים הראשונות והבודדות שאני חולק עליך,
    אבל עדיין היה נחמד לקרוא :)

  2. ירון says:

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

  3. אלעד says:

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