הבדל בין תכנות אקסטרים ל-SCRUM

הבדל בין תכנות אקסטרים ל-SCRUM
הבדל בין תכנות אקסטרים ל-SCRUM

וִידֵאוֹ: הבדל בין תכנות אקסטרים ל-SCRUM

וִידֵאוֹ: הבדל בין תכנות אקסטרים ל-SCRUM
וִידֵאוֹ: שיפור קליטה סלולרית במבנה בעזרת מגבר 2024, יולי
Anonim

תכנות קיצוני לעומת SCRUM | XP לעומת SCRUM

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

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

מה זה SCRUM?

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

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

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

מהו תכנות אקסטרים?

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

מה ההבדל בין תכנות אקסטרים ל-SCRUM?

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

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

מוּמלָץ: