אתה חייב לעבור ל - SCRUM
סביר להניח ששמעת את אחד מהמשפטים הבאים בשנתיים האחרונות: כולם כבר שם, המשרה המבוקשת ביותר בשוק היא SCRUM Master או איך אתה מעז לעבוד עם גאנטים... האם הם צודקים?
התשובה היא כרגיל כן ולא...
נחזור לתיאוריה
כדי להבין מה עומד בבסיס שיטת ה - SCRUM ושיטות ה - Agile למינהן, נצטרך לחזור לארגונים התעשיתיים הגדולים שהתבססו על פסי ייצור וציוד הוני (שם קוד למכונות שעולות הרבה מאוד כסף). בארגונים אלו מחיר הייצור מתבסס על שני גורמים: עלות משתנה (עלות חומרי הגלם, שכר הפועלים ליד המכונות, חשמל וכו') ועלות קבועה (עלות המימון לרכישת המכונות והפחת). לכן על מנת להרוויח כמה שיותר (או כדי להציע מחיר תחרותי יותר), נדרשו בעלי המפעל לנצל בצורה טובה יותר את הציוד ההוני ע"י אחת מהפעולות הבאות (או שילוב שלהן):
-
להגדיל את תפוקת פס הייצור ע"י שימוש במשמרות (שימוש בכ"א זול יחסית על מנת לדאוג שהציוד היקר יעבוד כמה שיותר מסביב לשעון).
-
הקטנת זמן השבתת המכונות ע"י אחזקת טכנאים שזמינים לכל תקלה, גם במחיר שאותם טכנאים "ישתו תה" רוב היום.
-
הגדלת יעילות ע"י הבטחה שבכל זמן נתון יהיו חומרי גלם זמינים בכניסה לפס הייצור וכי תוצרי פס הייצור יגיעו ללקוחות כמה שיותר מהר (באפרים וצמצום מלאי בתהליך).
-
הגדלת ריווחיות ע"י תעדוף ייצור מוצרים בעלי שיעור ריווחיות גבוה על פני מוצרים בעלי שיעור ריווחיות נמוך, וזאת כאשר שיעור הריווחיות הוא יחסי לזמן ניצול קו הייצור (אם מוצר רווחי פי שניים ממוצר אחר אבל לוקח פי 5 זמן מפס הייצור, נעדיף לייצר דווקא את המוצר "הפחות ריווחי").
שילוב השיטות הללו הקרוי
Lean שינה את העולם התעשייתי בשנות השישים והשבעים, כאשר המובילות באימוץ השיטה הזאת היו התעשיות היפניות בכלל ותעשיית הרכב בפרט.
מכונות, פסי ייצור? מה זה קשור לתוכנה?
אם נחזור לעולם שאנחנו מכירים, וננסה לחשוב מי זה אותו משאב מסתורי שעלותו גבוהה ותוצרי הארגון ללקוח תלויים בו אז נגלה שמדובר על... נכון, מהנדסי התוכנה. שיטת ה - SCRUM פיצחה את הנקודה הזאת והציגה פתרון שמטרתו: הגדלת תפוקות הארגון כולו, על בסיס ניצול טוב יותר של המשאב היקר ביותר בארגון.
SCRUM מייצגת פתרון גמיש יותר שמטרתו לפתור את
בעיית ניהול פרויקטי התוכנה שנדמה לעיתים כי הם מתנהלים ע"י שיפוצניק:
-
הקטנת מחזורי הפיתוח: כך שניתן יהיה לספק תוצרים ללקוחות בתכיפות גבוהה יותר (פעם בשבועיים עד חמישה שבועות).
-
הקטנת זמן השבתת המהנדסים ע"י הצמדת מנהל מוצר לצוות הפיתוח שזמין לתשובות מיידיות
-
הקטנת מלאי בתהליך ע"י הצמדת אנשי אבטחת איכות שמסייעים בבדיקת התוצר מיד עם כתיבתו ולא ממתינים לתאריך עתידי כלשהוא.
-
הגדלת ריווחיות ע"י תעדוף משימות בעלות ערך גבוה לארגון עם עדיפות למשימות שגוזלות זמן קצר ממהנדסי התוכנה ומסייעות בצורה משמעותית לשורה התחתונה בדוח הרווח וההפסד.
שיפור תפוקת המהנדסים ע"י שימוש בהנעה עצמית וניהול עצמי.
מצויין! אז כדאי להטמיע!
אז זהו שלא... תמיד. אם צוואר הבקבוק שלכם בארגון הוא
גוף השיווק שלא יכול לתת תוצרים בזמן, או לחלופין עדיין לא זכיתם בחוזה ראשון ואתם תלויים בזמן התגובה של החברה ללידים, עבודה בשיטת SCRUM יכולה לגרום לבעיות מהותיות. זאת מכיוון שהמשאב הקריטי בארגון שלכם אינו מהנדסי התוכנה (אל תעלבו, גם אני נפגעתי כששמעתי את זה בפעם הראשונה) אלא גורם אחר. לכן על מנת לתת תפוקה מקסימלית לארגון אתם תצטרכו להקדיש משאבים רבים כדי לסייע למשאב הקריטי במענה הקצר ביותר (בצבא קוראים לזה דקת קריאה).
אז איך מממשים SCRUM?
-
קובעים זמן להוצאת גרסה. משך הזמן הזה נקרא Sprint ובסיומו תשחררו גרסת תוכנה הניתנת להתקנה ונקייה ככל האפשר מבאגים.
-
קובעים פגישות הכנה לספרינט (Sprint Analysis). בפגישות אלו תנתחו את הדרישות העדכניות ותחליטו אילו תכולות נכנסות לספרינט הקרוב. כמו כן תעריכו מה צריך לבצע כבר בספרינט הקרוב על מנת שניתן יהיה להוציא לפועל משימות אחרות בספרינט הבא והזה שלאחריו (לדוגמה חקר טכנולוגיה, אפיון צרכים או בדיקת התכנות).
-
קובעים פגישה יומית (Standup). בפגישה זו כל אחד מחברי הקבוצה יענה על שלוש שאלות: מה עשיתי ביום האחרון? מה אני הולך לבצע ביום הבא? ומה החסמים שיש לי? אני אוהב לעשות את הפגישה הזאת בתחילת יום העבודה, אבל אם הצוות שלכם יצירתי בשעות ההגעה, ניתן לקבוע שעה שמוסכמת על כלל החברים.
-
קובעים SCRUM Master. תפקיד זה מקביל על פי רב לראש צוות ותפקידו לבקר את קצב ההתקדמות, לדאוג שה - Standup היומי לא יקח יותר מ - 8 דקות ולנהל את הפגישות השונות.
-
קובעים Product Owner. על בעל תפקיד זה לייצג את הלקוח ולתת תשובות מידיות (דקת קריאה כבר אמרנו?). אם מנהל המוצר שלכם זמין ויכול לשבת איתכם בחדר ו/או בחדר ליד ולתת תשובות רצוי לתת לו את התואר הזה. לעומת זאת אם הוא נוטה לבלות אצל לקוחות בצד השני של העולם, והוא לא חזק בהחלטות מיידיות, מומלץ למנות אדם מתאים שייצג אותו בהעדרו. ה - Product Owner אחראי על תעדוף המשימות השונות בהתאם לצורך העסקי והוא היחיד שמחליט על כניסה ויציאה של תכולות מהספרינט.
-
קובעים פרק זמן בסיום הספרינט לאיכות. על מנת לא להגיע עם תוצר לא יציב בדקה האחרונה לפני המסירה, קובעים מספר ימים בסיום הספרינט בהם נבצע Feature Freeze ונתקן באגים על מנת להגיע לתוצר איכותי.
-
מתחקרים ולומדים מהצלחות וכשלונות. קובעים פגישה בשם Sprint Review שבה כל אחד מחברי הקבוצה יציג את המלצותיו על מנת שניתן יהיה להשתפר בספרינט הבא.
איך מבטיחים כשלון ב - SCRUM?
-
מתנתקים מהארגון. אם הארגון שלכם לא מבין את השיטה, לא מוכן לסייע לכם ועובד בקבועי זמן של עצמו גם אם אין סיבה שהוא יהיה משאב קריטי, אז יש סיכוי טוב שאתם תקרסו מהר מאוד.
-
דוגלים בשיטה גם אם אתם לא משאב קריטי. כאמור אם המשאב הקריטי שלכם בארגון הוא ה - QA (דבר שיכול להצביע על ניהול לקוי בארגון אבל נשאיר את זה ל
פוסט אחר על משברים בחברות תוכנה), ואתם עדיין
-
מחליטים שאתם משחררים גרסה פעם בחודש, ולא בזמנים שהתוצרים נכנסים ל - QA, תגלו מהר מאוד שאתם מייצרים "מלאי בתהליך". השורה התחתונה היא שאתם עובדים בצורה שפוגעת בכם ובתוצר הארגוני הכללי.
-
ממנים Product Owner שהזמינות שלו נמוכה. על מנת להתמודד עם משאבים שלא מצליחים להכפיף אותם לקבוצה, תהיו חייבים לייצר באפרים. אם זה בדמות Product Owner מתוך קבוצת הפיתוח, ואם זה ע"י בדיקות פנימיות.
-
מממשים קודם תכולות "כיפיות". מימוש התכולות צריך להתבצע על בסיס התעדוף העסקי, גם אם כולם נכנסים באותו ספרינט וזאת על מנת להמנע מהפתעות (צו 8 או מחלה חו"ח).
-
מבקשים הערכת עלות ואז דורשים שיבוצע במחצית מהזמן. המימוש ב - SCRUM בנוי על אמון הדדי מצד כל הצדדים, ה - Product Owner אמון על התעדוף העסקי ומה נכנס ומה יוצא, ואילו המפתחים על הערכת העלות והחומרים הנדרשים. אם אתם חושבים שמישהו הגזים, תוכלו להוריד את נפח התכולה... לאחר מספר ספרינטים כל אחד מהשותפים ילמד כמה באמת לוקח לפתח כל דבר.
-
נלחצים אחרי הספרינט הראשון. כמו כל מיומנות חדשה, גם רכישת מיומנות הפיתוח ב - SCRUM תיקח זמן לחברי הקבוצה ולארגון כולו. צפו בשלב ראשון לירידה בתפוקות, באיכות ובשביעות הרצון. התמורה תגיע לאחר שלושה או ארבעה ספרינטים. רוצים לשפר את זמן ההטמעה? השקיעו בהרצאות, לימוד ותרגול.
השורה התחתונה
לממש SCRUM זה לא פשוט ולא תמיד נכון. אבל אם השתכנעתם שזה הפתרון שמתאים לכם, זה הזמן לקרוא עוד ולנסות. אנחנו פה כדי לשמוע על החוויות שלכם ולתת מענה בעת הצורך.
מימשתם SCRUM? אתם נאבקים בארגון? הכפלתם תפוקות? אתם רוצים להסביר לכולם למה SCRUM זה הדבר הכי נכון/מוטעה לבצע? שתפו אותנו
משה קפלן הוא יזם, מרצה ויועץ בתחום פיתוח התוכנה