Scrum

מתוך ויקיפדיה, האנציקלופדיה החופשית

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

Crystal Clear | Scrum | Unified Process | XP

תחומים תומכים
ניהול פרויקטים | ניהול תצורה | תיעוד

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

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

ב-Scrum מקובל להשתמש גם כמעטפת לניהול פרויקטים המפותחים במתודולוגיית XP ומתודולוגיות זריזות אחרות.

תוכן עניינים

[עריכה] היסטוריה

הגישה תוארה לראשונה בספרם של טַ‏קֵאוּ‏צִ'י ו-נוֹ‏נַ‏‏אקָ‏ה The New New Product Development Game שיצא לאור בשנת 1986. השניים הבחינו שפרויקטים לפיתוח מוצרים חדשים משיגים תוצאות טובות יותר כאשר אלה מתבצעים בידי צוותים קטנים ורב-תחומיים. בספרם הם עמדו על הדמיון בין צוותים עתירי ביצועים אלה לתצורת ה-Scrum במשחק הרוגבי, שם המונח מתאר את הדרך שבה המשחק מתחיל מחדש לאחר שהכדור יצא מהמגרש - שתי הקבוצות דוחפות אחת את האחרת כדי לזכות בכדור, והשחקנים בכל קבוצה נדרשים לפעול במשותף, כצוות מגובש.

תהליך ה-Scrum
תהליך ה-Scrum

בשנת 1991, דה-גרייס ו-סטול כינו גישה זו Scrum בספרם "Wicked Problems, Righteous Solutions". בתחילת שנות ה-90, השתמש קן שוואבר בשיטה שהובילה בסופו של דבר לשיטת Scrum, בחברתו Advanced Development Methods. באותו הזמן, ג'ף סאתרלנד, ג'ון סקמיוטאלס וג'ף מקנה פיתחו שיטה דומה בחברת Easel Corporation והיו הראשונים לכנותה Scrum. סאתרלנד ושוואבר הציגו פרסום המתעד את השיטה בכנס OOPSLA 96 שנערך באוסטין, טקסס. השניים שיתפו פעולה בשנים שלאחר מכן ורתמו את ניסיונם המשותף ליצירת Scrum כפי שהיא מוכרת כיום.

[עריכה] מאפיינים

  • תחזוקה של רשימת פריטי העבודה לביצוע, מסודרים לפי קדימויות, המכונה עתודת המוצר (Product Backlog).
  • השלמת מנה קבועה של פריטי עתודה בסדרה של איטרציות קצרות המכונות 'מאוצים' (Sprint). משך כל מאוץ הוא 4 שבועות, ובסיומו מסופקת תוכנה עובדת למשתמשים.
  • פגישת צוות יומית קצרצרה המכונה 'Daily Scrum'. בפגישה מציג כל אחד מחברי הצוות את ההתקדמות, העבודה המתוכננת וקשיים אפשריים. הפגישה מתקיימת לרוב בעמידה.
  • פגישת תכנון מאוץ (Sprint Planning) קצרה שבה מוגדרים פריטי העתודה לאותו מאוץ.
  • פגישת ניתוח מאוץ (Sprint Retrospective) קצרה להפקת לקחים מהמאוץ הקודם.
  • השיטה מיושמת בהנחיית Scrum Master שתפקידו העיקרי לסלק מכשולים המפריעים לצוות לעמוד ביעדי המאוץ. ה-Scrum Master אינו ראש הצוות (מאחר שמדובר בצוות בהכוונה עצמית), אלא חוצץ בין הצוות לבין השפעות העלולות להפריע לו.
  • כדי לאפשר את יצירתם של צוותים בהכוונה עצמית, השיטה מעודדת ריכוז של כל חברי הצוות במיקום אחד, וכן תקשורת מילולית בין חברי הצוות ועם צוותים תומכים.
  • אחד מעקרונות המפתח של Scrum הוא הכרה בכך שאתגרים אמפיריים ביסודם אינם ניתנים לפתרון בשיטות מסורתיות המתבססות על חיזוי או תכנון. מכיוון שכך, שיטת Scrum מאמצת גישה אמפירית, המניחה שלא ניתן להבין או להגדיר את הבעיה במלואה מראש. במקום זאת, השיטה מתמקדת בשיפור יכולתו של הצוות לספק תוצרים במהירות ולהגיב לדרישות העולות תוך כדי התהליך.

[עריכה] בעלי תפקידים

ב-Scrum מוגדרים מספר בעלי תפקידים; אלה מחולקים לשתי קבוצות: חזירים ותרנגולות. המקור למינוח זה הוא בבדיחה על חזיר ותרנגולת [1]:

A pig and a chicken are walking down a road. The Chicken looks at the pig and says "Hey, why don't we open a restaurant?" The pig looks back at the chicken and says "Good idea, what do you want to call it?" The chicken thinks about it and says "Why don't we call it 'Ham and Eggs'?" "I don't think so" says the pig, "I'd be committed but you'd only be involved"

בתרגום מקורב לעברית:

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

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

[עריכה] בעלי עניין מחויבים ('חזירים')

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

[עריכה] בעל המוצר

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

[עריכה] Scrum Master

מוודא שתהליך ה-Scrum מתבצע כנדרש.

[עריכה] צוות ה-Scrum

צוות קטן המונה 5 עד 9 אנשים בעלי מיומנויות רב-תחומיות המבצעים בפועל את העבודה.

[עריכה] בעלי עניין מעורבים ('תרנגולות')

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

[עריכה] משתמשים

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

[עריכה] בעלי עניין

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

[עריכה] יועצים מומחים

אנשים אלה מספקים מומחיות שאינה נדרשת בכל מאוץ. במקרים רבים, 'תרנגולות' אלה יהפכו ל'חזירים' הכלולים בצוות ה-Scrum בחלק מהמאוצים.

[עריכה] קישורים חיצוניים

[עריכה] הערות שוליים

כלים אישיים