קליטת ושימור מתנדבים

חברים חברות,

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

@mushon @niryariv @nirbadt @yotammanor @galraij @danielh @Ofer_Bartal @OriHoch

@noamelf @saaralonbarkat @Simona @kashiMoshe @Nir_Galon @idoivri @Ronit_Fuchs @shaked

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

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

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

מה שלדעתי אפשר לעשות כדי לשפר את המצב הוא:

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

חשוב שתהיה חלוקה למשימות לפי רמת קושי ושיהיו גם משימות “קלות” על מנת לתת למתנדבים מתחילים אפשרות להיכנס ולתרום לפרויקטים השונים. בנוסף, הכשרה בסיסית ב - python, ב - Flask או Django וב - javascript יכולה להועיל מאוד למתנדבים שלא מגיעים עם רקע בשפות האלה. אני חושב שהכשרה כלשהי יכולה לתת למתנדבים אפשרות להשתלב מהר יותר בפרויקט וליצור מחויבות לפרויקט.

לייק 1

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

עסקנו בנושא בצוות מיטוב.

  1. יש איבוד משמעותי של מתנדבים ביום הראשון (הרוב מגיעים, ומתייאשים ביום הראשון).
  2. התקנת סביבה לכל מתנדב חדש (שאחוז הסיכויים שישאר הם נמוכים), דורשת מהצוותים השקעה אדירה, שרובה יורדת לטמיון.
    הפתרון להבנתי…
  3. מתנדב חדש שמגיע בפעם הראשונה, יקבל הדרכה והסברים על עולם הקוד הפתוח, ודרכיה של הסדנא להתמודד עם אתגרים. הכרות עם החשמבירים השונים, כמו גם הדרך להקים חשמביר לבד. הייתי מכין סרטון הדרכה ומריץ אותו לפני המתנדבים החדשים. לאחר מכן יהיו שאלות ותשובוץ על ידי רכזת המתנדבים.
  4. מרי תסייע למתנדבים למצוא את מקומם, בחשמבירים השונים. לאחר מכן, מרי תשדך את המתנדבים למובילי החשמבירים. מוביל החשמביר או מישהו מהחשמביר יסיבירו להם אילו כלים עליהם להביא (לאפטופ, סביבת עבודה וכיוב, תלוי בתפקיד ובחשמביר).
  5. מתנדב חדש לעולם לא יוכל להתחיל לקודד בפעם הראשונה שהוא מגיע. כך נוכל לסנן את אלו שבאו רק לחוש את האווירה, לבין אלו שזה מספיק מעניין אותם כדי להגיע בפעם השניה.
  6. בפעם השניה, יהיה תהליך קליטה משולב. כיוון שרוב החשמבירים פעולים על פיתון, יהיה מישהו/י אחת שתתנדב להתקין סביבות עבודה, חיבור לגיט וכל הדברים הללו. זה הזמן גם להרוג את השפה הטיפשית הזאת ולעבור לjs. :smiling_imp:
  7. החשמבירים יכינו מסמכים שיסיבירו למתנדב החדש את הארכיטקטורה וכל הדברים האחרים (כמו שמקובל בפרויקטי קוד פתוח בכל העולם). אותו מתנדב תורן, יסיע למתנדבים להתמודד עם בעיות. ולאחר מכן, הם יעברו על הקוד, ויראו שהם מבינים אותו (מסמך טוב אמור לסייע למתנדב חדש להבין את הארכיטקטורה).
  8. רק בפעם השלישית, המתנדב יוכל ממש להתחיל לכתוב קוד. סביר להניח שבהתחלה הוא יעבור על באגים, או תיקונים קטנים (שיסומנו ב-trello כמהלכים קטנים, המתאימים למתנדבים חדשים).

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

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

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

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

לייק 1

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

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

3 לייקים

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

שימור:
מסכים עם @aaa

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

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

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

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

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

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

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

2 לייקים

I’ve thought about this so much in relation to HaSadna over the last 2 years, that I have to put my 2 cents in.

Essentially, I think one of the major issues that is related to both klita ad shimur is what Adam said about klita: the borderline requirement to come to the meetup on Monday nights.

For me personally, it is an absolute killer and the number one reason I have been once in the last, maybe, 1.5 years.

I’m 100% certain that I’m not an outlier here. Without setting up a good virtual presence, that people can work and help others in an async fashion, then the current patterns will remain.

I tried over a year ago via IRC: #hasadna IRC

Now for the last months, I am on the HaSadna Slack channels daily, but nothing is happening there.

So, yeah :slight_smile:

טוב, הייתי ממש בשקט עד עכשיו, אז הנה שני הסנט שלי…

א. מתי קליטה ושימור מתנדבים לא היה נושא שדנו עליו? הנושא הזה תמיד צף ותמיד נמצא באוויר, עוד משחר ימיה של הסדנא. אני לא חושבת שאנחנו באמת יכולים להגיד שהיו תקופות שלא חשבנו על זה.
ב. אני חושבת שתיאום ציפיות מול המתנדב הוא הדבר הכי חשוב בסדנא. בעקרון, אנחנו מצפים ממתנדבים לשאול שאלות וליזום (מבלי להטריד את הסביבה יותר מדי). זה לא מתאים לכל אחד, וזה בסדר, אבל זה סוג המתנדבים שרוב הפרוייקטים צריכים. זה אומר, כתוצר לוואי, שלא ישארו לנו הרבה מתנדבים בסוף, וזה בסדר. (ככה שאני מחזקת את נעם)
ג. אני מסכימה עם נועם לגבי העובדה ש"תוצר הלוואי" של המתנדבים שעוזבים זה שיש להם טיפה יותר ידע על מה זה מידע פתוח שהם עוזבים. זה חשוב לא פחות משורת קוד שהם יכתבו, ויכול להיות שהם יחזרו אלינו שיהיה להם קצת יותר כח.
ד. צריך לזכור שמתנדבים הם אנשים סופר עסוקים, ושלפעמים הם יקחו הפסקה מההתנדבות (וזה ממש בסדר!), אבל שצריך לזכור גם לשאול לשלומם כשהם לא מתנדבים (שימור קשר). נגיד לשלוח שנה טובה. ואם אנחנו כבר פה, אז אני יכולה להגיד שצוות כנסת פתוחה מתגעגע ל-@ofri, ורוצה לדעת לשלומו.
ה. לגבי עבודה מרחוק, גם @Alon_Nisser וגם אני מתנדבים בכנסת פתוחה מרחוק. יש את הוידאו השבועי של מפגש הפיתוח, אבל לא פחות, הגיטהאב רוחש פעילות וגם הסלאק. המון מזה הוא תודות לתיעוד של הבעיות (תודה @OriHoch!). ככה שאפשר לעבור את מחסום מפגש הפיתוח, פשוט צריך להחליט איך עושים אותו ואם זה באמת משהו שחשוב לעשות… (פול, אתה מוזמן להצטרף אלינו לכנסת פתוחה אם זה מה ששובר אותך… :slight_smile: ). אגב, @pwalsh, אני חושבת שגם ב- OKI יש לנו בעיה עם מתנדבי קוד, וגם שם קשה להם להכנס לזה בלי עזרה, ככה שזו לא רק בעיה של הסדנא.
ו. מתנדב צריך להרגיש שמה שהוא עושה משנה, ששומעים את הקול שלו, ושרואים משהו בשטח. זה משהו ש-@AmirMore אמר פעם במפגש של כנסת פתוחה. אני מסכימה, ואני חושבת ששינוי לוקח זמן, וצריך להזכיר אותו למתנדב.ת, אבל כשהוא קורה, צריך ממש להראות את זה למתנדב.ת.
מהניסיון שלי, רוב האנשים שהגיעו לסדנא כדי למצוא עבודה או ללמוד משהו חדש לא באמת נשארים, אבל מי שהגיע כדי לשנות משהו, נשאר כאן. זה האתגר של רוב מתנדבי הסדנא, וצריך לדאוג ולראות כל הזמן שלשם אנחנו הולכים. גיקים עם אוריינטציה חברתית. זה מי שאנחנו, זה מה שאנחנו צריכים.

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

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

נתונים

לפי הגיטהאב שלנו, במשך הזמן שהפרוייקט קיים תרמו לפרוייקט 12 אנשים (6 מתוכם עשו מעל ל-10 קומיטים), מתוך 35 אנשים שעשו Fork לפרויקט. כמובן שהייתה גם תרומה תכנותית שלא התבטאה בקומיטים (סקריפטים, ייעוץ ותמיכה, עבודה על קוד שנכנס לכיכר דרך רפוזיטוריז אחרים, וכדומה). אבל זה נותן תמונה.

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

את זה לא ניתן לראות בגיטהאב לצערי, אבל שווה לציין שמרבית הקוד לא נתרם במפגשי פיתוח - אני כמעט ולא מצליח לפתח במפגשים ואני עסוק במליון ואחד דברים אחרים (בכלל כך בזבוז זמן על מתעניינים שלא תורמים, אבל גם דברים אחרים), ומפתח בזמנים אחרים. @Eliezer_Steinbock תרם חלק מהקוד במפגשים וחלק מהבית, ושאר התורמים הבולטים עשו את זה כמעט לגמרי לא ממפגשים (ובכלל כך @shygon שאת הקוד הרב שתרם, תרם מקיימבריג’. @pwalsh לידיעתך :smile: ).

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

להלן כמה ממחשבותי בנושא:

הערות כלליות

  • להבנתי צריך לחדד את הדיון, ולהבחין בין שלושת היבטיו השונים:

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

סינון

  • אידיאלית ההבחנה בין “מועמד להתנדבות” שיהיה תורם ובין כזה שלא יתרום, הייתה מושלמת ונעשית ב-100% דיוק. בפועל זה לא ככה ואף פעם לא יהיה ככה.
  • בהנתן שכך, אנחנו צריכים להתייחס ל-Recall וה-Precision שלנו. כרגע, ה-Precision שלנו (כלומר, הנטייה של “לא-תורמים” להשאר בתהליך זמן רב מדי ולבזבז זמן ומשאבים רבים מדי לגורמים התורמים) לא מדהים בלשון המעטה.
  • העובדה הזו מביאה מובילי פרוייקטים רבים מנסים לשפר את ה-Precision בכלים שיש ברשותם - להיות לא נחמדים למתעניינים, לא לקלוט מתנדבים בכלל, וכדומה. כל השיטות הללו מתאפיינות בויתור על הרבה מאוד recall, כלומר - כנראה שהרבה מתנדבים פוטנציאליים טובים לא נקלטים.
  • יתרה מכך, הכלים שהמובילים מפעילים מתבטאים לא רק בויתור על מתנדבים פוטנציאליים, אלא מתבטאת (להערכתי) גם בתופעות לוואי שליליות אחרות - חשש תמידי מ"בזבוז זמן" במפגשים גורם לנו להיות לא נחמדים אחד לשני, מפחית את היכולת שלנו לשתף פעולה, מבססים יחסים אמביוולנטיים עם רכזי הקהילה לדורותיהם (שהאסוציאציה שלהם תלויה בתוחלת בזבוז הזמן והתרומה של המתנדבים שהם מפנים אלינו), ועוד. בקצרה, הכלים שאנחנו נאלצים להפעיל כדי שמתעניינים שלא-תורמים לא יבזבזו את כל זמננו, הופכים אותנו לקהילה פחות טובה כקהילה.
  • לאור זאת, אני חושב שיש לנו צורך עז בפיתוח שיטות סינון אמינות יותר, “זולות” יותר (בזמן ואנרגיה של מובילים בהפעלתן), ולא פחות חשוב מכך - שיטות שלא יכרתו את הענף שעליו אנחנו יושבים. בפרט, רוב הרעיונות שהועלו עד כה מתמקדים בשיפור האמינות של שיטות הסינון (בפרט בדגש על איך לשפר את ה-Recall, ולא לפספס מתנדבים טובים), אבל אני חושב שהבעיות האחרות חשובות יותר וכואבות יותר, וצריך להתמקד בהן
  • רעיונות אפשריים ל"הוזלת" תהליך הסינון, ולהחלפת השיטות הקיימות בשיטות שיפגעו פחות בקהילה - העברת חלק גדול יותר מנטל הסינון לרכזת הקהילה, שימוש במבחנים/שאלונים, הגדרה של משימות לבחינת מחויבות ברמת הסדנא ולפני ה"מיון" לפרוייקטים, הגדרה ברורה של מה עושים עם ‘מתעניינים’ שמעריכים שלא יהיו תורמים משמעותיים (מסיבה כזו או אחרת).
  • לא מיותר לציין בהקשר זה את הכיתה. הנקודה המרכזית כאן היא שכאשר הבעייה היא היעדר יכולת טכנית, יש פתרונות (לא זולים, אמנם) שיכולים לעבוד. גם זה משהו שברמה הפרויקטלית לא מסוגלים לטפל בו, אלא רק הסדנא כגוף (או כפרויקט הכשרתי נפרד).
  • לצד זאת כמובן, אין ברירה אלא לייצר תהליך קליטה שהוא גם תהליך מסנן, וראו בהמשך. בגזרת הרעיונות לשיפור, אציין שהייתי שמח אם היו אומרים לי שצריך לעשות את זה לפני שנה וחצי בערך.

קליטה

  • כאמור, תהליך הקליטה אמור להיות באידיאל מוקדש להעברת מתנדבים חדשים שזוהו בתור בעלי יכולת ורצון לתרום את התהליך שמביא אותם למצב בו הם מסוגלים “לתרום קוד”.
  • בפועל, במציאות הנוכחית (ובזו הנראית לעין), לא ניתן להמנע מתהליך קליטה שהוא גם תהליך מסנן. בפרט, זה צריך להיות תהליך שניתן להתקדם בו באופן עצמאי ככל הניתן ממוביל הפרויקט (וככזה הוא תהליך סינון “זול” יותר, וגם אמין יותר בעיני).
  • בהקשר זה, הרבה רעיונות טובים כבר הוזכרו: מסמכי כניסה (@nirbadt), התקנה פשוטה, (@Tal_Yaron), משימות קטנות למתחילים (@Ofer_Bartal). כל אלו משימות שמחזירות את הזמן שמושקע בהן, ויחסית מהר.
  • אודה בהקשר זה שלייצר התקנה פשוטה זה לא משימה פשוטה בכלל, ואם לסדנא כגוף יש דרך לעזור עם זה (כווריאציה על התפקיד של @uda , למשל), זה עשוי להיות מועיל עד מאוד עבורי ומניח שגם לפרויקטים אחרים.
  • מצד שני, תהליך התקנה פשוט מדי לא יסנן מספיק טוב. ועבורי זו בעייה (אני רציני. יש לא מעט אנשים שנופלים בשלב הזה, וזה נוח כי זה מהיר יחסית ודורש מעט מאמץ או עימות ישיר). מצד שלישי - עוד לא אמת נתקלתי בתהליך התקנה פשוט מדי :slight_smile:
  • עד כה התייחסתי לתהליך הקליטה כתהליך מסנן. אבל כמובן שהתהליך גם אמור אשכרה לקלוט מתנדבים. בהמשך לדברים של @noam ו @morchickit בעיקר, מה שאני מוצא הכי משמעותי להצלחת הקליטה היא אינטרקציה אישית עם המתנדב הנקלט. לאינטרקציה הזו יש כמה תפקידים בעיני:
    • פידבק מהיר ומידי, ופתרון תקלות מהיר בדברים שכבר נתקלתי בהם בפרויקט
    • הבהרת חשיבות הפרויקט, המטרות שלו כפי שאני מבין אותו, ורתימה למטרות הללו
    • מתן תחושה (אמיתית) של אוטונומיה ויכולת לתרום לפרויקט בכיוונים שמעוררים מוטיבציה אצל המתנדב/ת.
    • יצירת תחושה שיהיה מישהו שישים לב להברזה/היעלמות, ויתבאס עליו/ה.
  • כמובן שאמצעים אלו הם יקרים בזמן ובאנרגיה, ולכן אני משתדל להקדיש אותם רק למתנדבים שאני מייחס סבירות גבוהה לסיכויים שיתרמו קוד, או לכאלה שתרמו קוד, או העדפה מתקנת.
  • לא רואה תחליף לפן האישי (שיכול להתנהל גם באופן וירטואלי בהנתן מתכנת/ת נקלט/ת מנוסה מספיק).
  • עקב החשיבות הרבה של הקשר האישי להצלחת תהליך הקליטה, אני חושב שהנקודות שנעם העלה ביחס לחשיבות של קשר לגורם נוסף בסדנא הן נקודות טובות. בכלל, חשיבה על-פרויקטלית זה דבר טוב, ואנחנו לא עושים את זה מספיק.
  • @idoivri אציין שבעיני האקתונים זו דרך מאוד לא יעילה לקלוט/לסנן מתנדבים.

שימור

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

סיכום

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

@yotammanor

Awesome post, so much info.

@morchickit

I don’t think there is any relation here to OKI: OKI, almost by definition, never relies on volunteers for technical projects, and in my opinion it is more sustainable like that, but, let’s be honest, OKI is quite well funded and in a very different position to HaSadna in that regard.

לייק 1

שלוש סנט
א.
אני עברתי בינתיים שלושה סיבובי התנסויות בסדנא:

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

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

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

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

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

ג. כלי עבודה מרחוק: לטעמי slack לשיחה + github issue לtracking של באגים הוא מספק מאוד (גם בעבודת היום שלי בד"כ). בכנסת פתוחה לפחות זה די פעיל מספיק עבורי.

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

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

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

נושא הסקרייפינג, גירוד המידע מהאתרים הממשלתיים, מאתגר ביותר. מעבר לכאב הראש הרגיל של גירוד HTML, האתרים הממשלתיים בד"כ כתובים בדוט נט שעושה ב HTTP, בניגוד ברור לאמנת ז’נבה, מעשים שאת תאורם הנייר לא סובל וגורמת לנו להשקיע שעות של עבודה כל פעם שמתכנת אקראי בממשלה עושה שינוי שולי לדף.

אני חושב שלו היינו מפרידים את הסקרייפרים של החשמבירים השונים לבסיסי קוד משלהם שהחשמבירים עובדים מולו, היינו מקבלים (1) שיפור משמעותי ביעילות הצוותים בחשמביר, (2) בסיסי קוד (הסקרייפרים עצמם) שלמתנדבים חדשים יחסית קל להכנס אליהם ולהרים תרומה מיידית ו(3) מידע ממשלתי פתוח בדרך שאנחנו חושבים שצריך לפתוח אותו, עם REST ו JSON וכו’, שיכול לשרת גם אנשים מחוץ לסדנא ולסייע להקמת חשמבירים חדשים.

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

  • תקשורת בslack - כל מתנדב חדש מצטרף לslack וצריך להשתדל שתהיה פעילות שם, ראו סעיפים הבאים
  • גירסאות (releases) בgithub - אני משתדל כל שבוע-שבועיים להוציא גירסה, וליידע על כך בערוץ שלנו בslack. (ראו לדוגמה - https://github.com/hasadna/Open-Knesset/releases/tag/v3.5.0)
  • להגיב כמה שיותר מהר בgithub על issues / pull requests - גם על חשבון זמן שאפשר היה להשקיע בכתיבת קוד
  • פגישה שבועית במפגש פיתוח בחדר וידאו (אני משתמש בappear.in) - אני שולח לינק לחדר וידאו בslack ואז גם מי שלא נמצא במפגש פיתוח יכול להצטרף

לגבי מה ש- @niryariv כתב על הפרדת הסקרייפרים לבסיס קוד שונה - זה בדיוק מה שעשינו בכנסת פתוחה, ראו https://github.com/hasadna/knesset-data - לפי דעתי זה עובד מצויין.

לייק 1

שבוע טוב,
אחלה מסקנות.